Skip to content

xerroxcopy/Momocs

 
 

Repository files navigation

  • 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: bonhomme.vincent@gmail.com.

Momocs

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")
devtools::install_github('vbonhomme/Momocs')

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

Features

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)

Open-outlines

  • 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 with as_df`)
  • Morphological spaces for PCA
  • Thin plate splines and variation around deformation grids

Misc

  • 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

Packages

No packages published

Languages

  • HTML 78.8%
  • R 21.2%