/Momocs

Morphometrics using R

Primary LanguageR

Travis-CI Build Status CRAN_Status_Badge Coverage Status

News

  • Momocs version 1.0 "Mataa" 🗿 will be released on CRAN in March 2016
  • Momocs' online documentation lives there

Momocs, morphometrics using R

Momocs:

  • is a complete toolkit for morphometrics, from data extraction to multivariate analyses.
  • includes most common 2D morphometrics approaches : outlines, open outlines, configurations of landmarks, traditional morphometrics, and facilities for data preparation, manipulation and visualization with a consistent grammar throughout.
  • allows reproducible, complex morphometric analyses, paves the way for a pure open-source workflow in R, and other morphometrics approaches should be easy to plug in, or develop from, on top of this canvas.
  • hinges on the core functions developed in the must-have book Morphometrics with R by Julien Claude (2008).

Use it

CRAN version

install.packages("Momocs")

Last version

That's always a good idea to use the last version.
Be sure to have devtools installed (install.packages("devtools")), then:

devtools::install_github("vbonhomme/Momocs", build_vignettes= TRUE)

How to cite it

citation("Momocs")

You are welcome to

  • propose ideas and report bugs
  • offer your published data to the world
  • ask for hotline and/or collaborate and/or hire me: bonhomme.vincent@gmail.com

Features

(* = on its way)

Data acquisition + Babel

  • Outline extraction
  • Landmark definition on outlines (via StereoMorph)
  • Open curves digitization with bezier curves (via StereoMorph)
  • Import/Export from/to .nts, .tps, PAST, .txt, etc.*

Outline analysis

  • Elliptical Fourier analysis
  • Radius Variation Fourier analysis
  • Tangent Angle Fourier analysis
  • Calibration for all methods

Open-outlines

  • Natural (raw) polynomials (npoly)
  • Orthogonal (Legendre) polynomials (opoly)
  • Discrete Cosinus Transform (dfourier)
  • Calibration for all methods
  • bezier core functions

Configuration of landmarks

  • Full Generalized Procrustes Adjustment (fgProcrustes)
  • Resistant Fit Procrustes Adjustments*
  • Sliding semi-landmarks

Traditional morphometrics and global shape descriptors

  • Facilities for multivariate analysis (see flowers)
  • A long list of shape scalars (eg. coo_eccentricity, coo_rectilinearity, etc.)

Data handling

  • filter, select, slice, mutate and other verbs ala dplyr
  • New verbs useful for morphometrics such as combine and chop, to handle several 2D views
  • Permutation methods to resample data (perm, breed)

Multivariate analysis

  • Mean shape (groupwise) calculations (mshapes)
  • Principal component analysis (PCA)
  • Multivariate analysis of variance (MANOVA + pairwise testing MANOVA_PW)
  • Linear discriminant analysis and screening (LDA)
  • Hierarchical clustering (CLUST)
  • K-means (KMEANS)

Graphical methods

  • Family pictures and quick inspection of whole datasets
  • Some ggplot2 plots, when useful
  • Morphological spaces for PCA
  • Thin plate splines and variation around deformation grids

Various

  • Datasets for all types of data (bot, trilo, mosquito, hearts, olea, shapes, wings, oak, molars, flower, chaff, charring)
  • Vignettes (browseVignettes("Momocs"))
  • Shiny demonstrators/helpers. See Momecs
  • Online documentation

Architecture

Here is a scheme of the Momocs' architecture: Momocs architecture