Morphometrics using R
Latest commit e365307 Dec 7, 2016 @vbonhomme committed on GitHub Update
Failed to load latest commit information.
.Rproj.user/F66B4F73 added subset.Out Mar 31, 2014
R makes more sense Dec 5, 2016
data +charring dataset Mar 7, 2016
inst vignette is back Dec 6, 2016
man +coeff_rearrange Dec 5, 2016
tests more tests Nov 23, 2016
tmp dev comf Dec 5, 2016
vignettes back Dec 5, 2016
.Rbuildignore dev comf Dec 5, 2016
.Rprofile version 1.0.0 Mar 18, 2016
.gitignore vignette is back Dec 6, 2016
.travis.yml email notifications May 21, 2016
DESCRIPTION v update Nov 30, 2016
Momocs.Rproj part of #13 and #106 Nov 27, 2015
Momocs_arch.jpg version 1.0.0 Mar 18, 2016
NAMESPACE +coeff_rearrange Dec 5, 2016 Update Dec 6, 2016 1.1.0 release Oct 25, 2016
update.R version update Mar 8, 2016

  • Check the tutorial there or with browseVignettes("Momocs")
  • You're welcome to implement ideas, propose new ones, review the code, the helpfiles or the vignettes, report bugs, ask for help: here on GitHub or there:


Travis-CI Build Status CRAN_Status_Badge Coverage Status CRAN downloads last month CRAN downloads grand total

  • 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, pipeable, complex morphometric analyses and 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

From CRAN: install.packages("Momocs")

But I recommend using the last version:

if (!requireNamespace("devtools")) install.packages("devtools")

You can cite it with: citation("Momocs")


Matrices of xy-coordinates

  • ~100 generic tools like centering, scaling, rotating, calculating area, perimeter, etc. Full list with apropos("coo_")
  • generic plotters: coo_plot and g (work in progress)

Data acquisition + Babel

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

Outline analysis

  • Elliptical Fourier analysis (efourier)
  • Radii variation (rfourier)
  • Radii variation - curvilinear abscissa (sfourier)
  • Tangent Angle Fourier analysis (tfourier)


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

Configuration of landmarks

  • Full Generalized Procrustes Adjustment (fgProcrustes)
  • Sliding semi-landmarks (fgsProcrustes)

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

  • Easy data manipulation with 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 (stack and panel)
  • Some ggplot2 plots, when useful (and convet Momocs' objects into data.frames it withas_df`)
  • Morphological spaces for PCA
  • Thin plate splines and variation around deformation grids


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