Learn R Programming

⚠️There's a newer version (1.4.1) of this package.Take me there.

Momocs (version 1.4.0)

Morphometrics using R

Description

The goal of 'Momocs' is to provide a complete, convenient, reproducible and open-source toolkit for 2D morphometrics. It includes most common 2D morphometrics approaches on outlines, open outlines, configurations of landmarks, traditional morphometrics, and facilities for data preparation, manipulation and visualization with a consistent grammar throughout. It allows reproducible, complex morphometrics analyses and other morphometrics approaches should be easy to plug in, or develop from, on top of this canvas.

Copy Link

Version

Install

install.packages('Momocs')

Monthly Downloads

577

Version

1.4.0

License

GPL-2 | GPL-3

Issues

Pull Requests

Stars

Forks

Maintainer

Vincent Bonhomme

Last Published

April 4th, 2022

Functions in Momocs (1.4.0)

Coe

Coe "super" class
KMEANS

KMEANS on PCA objects
MANOVA_PW

Pairwise Multivariate analyses of variance
MANOVA

Multivariate analysis of (co)variance on Coe objects
CLUST

Hierarchical clustering
KMEDOIDS

KMEDOIDS
Coo

Coo "super" class
Ldk

Builds an Ldk object
MDS

(Metric) multidimensional scaling
LDA

Linear Discriminant Analysis on Coe objects
OutCoe

Builds an OutCoe object
Momocs

Momocs
MSHAPES

Mean shape calculation for Coo, Coe, etc.
arrange

Arrange rows by variables
breed

Jitters Coe (and others) objects
bridges

Convert between different classes
as_df

Turn Momocs objects into tydy data_frames
boxplot.PCA

Boxplot on PCA objects
chop

Split to several objects based on a factor
boxplot.OutCoe

Boxplot of morphometric coefficients
coo_alignxax

Aligns shapes along the x-axis
classification_metrics

Calculate classification metrics on a confusion matrix
TraCoe

Traditional morphometrics class
PCA

Principal component analysis on Coe objects
at_least

Retain groups with at least n shapes
OpnCoe

Builds an OpnCoe object
Out

Builds an Out object
coeff_split

Converts a numerical description of harmonic coefficients to a named list.
color_palettes

Some color palettes
add_ldk

Adds new landmarks on Out and Opn objects
coo_center

Centers coordinates
coo_angle_edges

Calculates the angle of every edge of a shape
coo_centpos

Calculate centroid coordinates
coo_close

Closes/uncloses shapes
coo_convexity

Calculates the convexity of a shape
Ptolemy

Ptolemaic ellipses and illustration of efourier
bezier_i

Calculates a shape from Bezier coefficients
bezier

Calculates Bezier coefficients from a shape
PCcontrib

Shape variation along PC axes
coeff_rearrange

Rearrange a matrix of (typically Fourier) coefficients
coo_boundingbox

Calculates coordinates of the bounding box
coo_bookstein

Register Bookstein's coordinates
pix2chc

Convert (x; y) coordinates to chaincoded coordinates
coo_calliper

Calculates the calliper length
calibrate_r2

Quantitative r2 calibration for Opn objects
coo_is_closed

Test if shapes are closed
coo_jitter

Jitters shapes
coo_length

Calculates the length of a shape
coo_likely_clockwise

Tests if shapes are (likely) developping clockwise or anticlockwise
coo_centdist

Returns the distance between everypoints and the centroid
coo_flipx

Flips shapes
coo_dxy

Calculate abscissa and ordinate on a shape
coo_extract

Extract coordinates from a shape
coo_draw_rads

Draw radii to the current plot
NMDS

Non metric multidimensional scaling
calibrate_reconstructions

Calibrate using reconstructed shapes
coo_down

coo_down Retains coordinates with negative y-coordinates
coo_ldk

Defines landmarks interactively
coo_left

Retains coordinates with negative x-coordinates
coo_rev

Reverses coordinates
calibrate_harmonicpower

Quantitative calibration, through harmonic power, for Out and Opn objects
col_transp

Transparency helpers and palettes
Opn

Builds an Opn object
combine

Combine several objects
calibrate_deviations

Quantitative calibration, through deviations, for Out and Opn objects
coo_align

Aligns coordinates
complex

Convert complex to/from cartesian coordinates
coo_plot

Plots a single shape
coo_range

Calculate coordinates range
coo_eccentricity

Calculates the eccentricity of a shape
coeff_sel

Helps to select a given number of harmonics from a numerical vector.
chaff

Data: Landmark and semilandmark coordinates on cereal glumes
bot

Data: Outline coordinates of beer and whisky bottles.
coo_elongation

Calculates the elongation of a shape
coo_baseline

Register new baselines
coo_aligncalliper

Aligns shapes along their 'calliper length'
coo_arrows

Plots (lollipop) differences between two configurations
coo_alignminradius

Aligns shapes using their shortest radius
coo_centsize

Calculates centroid size
coo_check

Checks shapes
coo_rotate

Rotates coordinates
coo_lolli

Plots (lollipop) differences between two configurations
coo_listpanel

Plots sets of shapes.
coo_angle_tangent

Calculates the tangent angle along the perimeter of a shape
coo_area

Calculates the area of a shape
coo_oscillo

Momocs' 'oscilloscope' for Fourier-based approaches
coo_force2close

Forces shapes to close
coo_interpolate

Interpolates coordinates
coo_draw

Adds a shape to the current plot
coo_perim

Calculates perimeter and variations
coo_rotatecenter

Rotates shapes with a custom center
coo_scalars

Calculates all scalar descriptors of shape
coo_right

Retains coordinates with positive x-coordinates
coo_scale

Scales coordinates
coo_shearx

Shears shapes
coo_truss

Truss measurement
coo_untiltx

Removes rotation so that the centroid and a given point are parallel to the x-axis
def_ldk_angle

Add new landmarks based on angular positions
dfourier_i

Investe discrete cosinus transform
def_ldk

Defines new landmarks on Out and Opn objects
dfourier_shape

Calculates and draws 'dfourier' shapes
coo_tac

Calculates the total absolute curvature of a shape
coo_slice

Slices shapes between successive coordinates
coo_chull

Calculates the (recursive) convex hull of a shape
coo_circularity

Calculates the Haralick's circularity of a shape
charring

Data: Outline coordinates from an experimental charring on cereal grains
coo_template

'Templates' shapes
def_ldk_tips

Define tips as new landmarks
flower

Data: Measurement of iris flowers
coo_ruban

Plots differences as (colored) segments aka a ruban
coo_sample

Sample coordinates (among points)
coo_intersect_segment

Nearest intersection between a shape and a segment
coo_lw

Calculates length and width of a shape
coo_nb

Counts coordinates
coo_intersect_angle

Nearest intersection between a shape and a segment specified with an angle
coo_rectangularity

Calculates the rectangularity of a shape
coo_slide

Slides coordinates
coo_slidedirection

Slides coordinates in a particular direction
coo_sample_prop

Sample a proportion of coordinates (among points)
coo_samplerr

Samples coordinates (regular radius)
trilo

Data: Outline coordinates of cephalic outlines of trilobite
import_Conte

Extract outlines coordinates from an image silhouette
img_plot

Plots a .jpg image
export

Exports Coe objects and shapes
efourier_shape

Calculates and draw 'efourier' shapes.
layers

grindr layers for multivariate plots
wings

Data: Landmarks coordinates of mosquito wings
coo_trans

Translates coordinates
hearts

Data: Outline coordinates of hand-drawn hearts
nsfishes

Data: Outline coordinates of North Sea fishes
coo_trim

Trims both ends coordinates from shape
molars

Data: Outline coordinates of 360 molars
coo_solidity

Calculates the solidity of a shape
coo_smoothcurve

Smoothes coordinates on curves
d

A wrapper to calculates euclidean distances between two points
edi

Calculates euclidean intermediate between two points.
ed

Calculates euclidean distance between two points.
apodemus

Data: Outline coordinates of Apodemus (wood mouse) mandibles
fgProcrustes

Full Generalized Procrustes alignment between shapes
dissolve

Dissolve Coe objects
olea

Data: Outline coordinates of olive seeds open outlines.
shapes

Data: Outline coordinates of various shapes
drawers

grindr drawers for shape plots
coo_slidegap

Slides coordinates using the widest gap
coo_rectilinearity

Calculates the rectilinearity of a shape
coo_smooth

Smoothes coordinates
fgsProcrustes

Full Generalized Procrustes alignment between shapes with sliding landmarks
oak

Data: Configuration of landmarks of oak leaves
efourier

Elliptical Fourier transform (and its normalization)
def_links

Defines links between landmarks
layers_morphospace

Morphospace layers
efourier_i

Inverse elliptical Fourier transform
get_chull_area

Calculates convex hull area/volume of PCA scores
panel

Family picture of shapes
inspect

Graphical inspection of shapes
import_txt

Import coordinates from a .txt file
def_slidings

Defines sliding landmarks matrix
palettes

Color palettes
links_delaunay

Creates links (Delaunay triangulation) between landmarks
measure

Measures shape descriptors
opoly_i

Calculates shape from a polynomial model
reLDA

"Redo" a LDA on new data
papers

grindr papers for shape plots
plot_MSHAPES

Pairwise comparison of a list of shapes
perm

Permutes and breed Coe (and others) objects
fac_dispatcher

Brew and serve fac from Momocs object
fProcrustes

Full Procrustes alignment between two shapes
plot_table

Plots confusion matrix of sample sizes within $fac
plot_NMDS

NMDS plot unsing grindr layers
plot_silhouette

Silhouette plot
rm_missing

Remove shapes with missing data in fac
get_ldk

Retrieves landmarks coordinates
dfourier

Discrete cosinus transform
get_pairs

Get paired individual on a Coe, PCA or LDA objects
get_slidings

Extracts sliding landmarks coordinates
is

Class and component testers
stack

Family picture of shapes
tps_iso

Deformation isolines using Thin Plate Splines.
subsetize

Subsetize various Momocs objects
is_equallyspacedradii

Tests if coordinates likely have equally spaced radii
links_all

Creates links (all pairwise combinations) between landmarks
lf_structure

bind_db.Coe <- bind_db.Coo Extracts structure from filenames
plot_CV2

Plots a cross-correlation table
tps_raw

Vanilla Thin Plate Splines
rename

Rename columns by name
reexports

Objects exported from other packages
plot_LDA

LDA plot using grindr layers
rfourier_shape

Calculates and draw 'rfourier' shapes.
rfourier_i

Inverse radii variation Fourier transform
import_jpg1

Extract outline coordinates from a single .jpg file
hcontrib

Harmonic contribution to shape
tfourier

Tangent angle Fourier transform
tps_grid

Deformation grids using Thin Plate Splines
symmetry

Calcuates symmetry indices on OutCoe objects
verify

Validates Coo objects
sfourier_i

Inverse radii variation Fourier transform
tps_arr

Deformation 'vector field' using Thin Plate Splines
sfourier_shape

Calculates and draw 'sfourier' shapes.
which_out

Identify outliers
rm_uncomplete

Remove shapes with incomplete slices
harm_pow

Calculates harmonic power given a list from e/t/rfourier
import_jpg

Extract outline coordinates from multiple .jpg files
import_StereoMorph_curve1

Import files creates by StereoMorph into Momocs
coo_trimbottom

Trims bottom coordinates from shape
coo_up

Retains coordinates with positive y-coordinates
coo_trimtop

Trims top coordinates from shape
coo_width

Calculates the width of a shape
ldk_check

Checks 'ldk' shapes
ldk_chull

Draws convex hulls around landmark positions
import_tps

Import a tps file
mosquito

Data: Outline coordinates of mosquito wings.
mouse

Data: Outline coordinates of mouse molars
ldk_confell

Draws confidence ellipses for landmark positions
opoly

Calculate orthogonal polynomial fits on open outlines
ldk_contour

Draws kernel density contours around landmark
edm_nearest

Calculates the shortest euclidean distance found for every point of one matrix among those of a second.
edm

Calculates euclidean distance every pairs of points in two matrices.
morphospace_positions

Calculates nice positions on a plane for drawing shapes
flip_PCaxes

Flips PCA axes
ldk_labels

Add landmarks labels
ldk_links

Draws links between landmarks
filter

Subset based on conditions
pProcrustes

Partial Procrustes alignment between two shapes
pile

Graphical pile of shapes
mosaic_engine

Plots mosaics of shapes.
plot.LDA

Plots Linear Discriminant Analysis
rm_asym

Removes asymmetric and symmetric variation on OutCoe objects
mutate

Add new variables
plot_PCA

PCA plot using grindr layers
plot_devsegments

Draws colored segments from a matrix of coordinates.
npoly

Calculate natural polynomial fits on open outlines
rearrange_ldk

Rearrange, (select and reorder) landmarks to retain
rePCA

"Redo" a PCA on a new Coe
rm_harm

Removes harmonics from Coe objects
slidings_scheme

Extracts partitions of sliding coordinates
tfourier_shape

Calculates and draws 'tfourier' shapes.
tfourier_i

Inverse tangent angle Fourier transform
slice

Subset based on positions
scree

How many axes to retain this much of variance or trace ?
sample_n

Sample n shapes
select

Select columns by name
plot.PCA

Plots Principal Component Analysis
sfourier

Radii variation Fourier transform (equally spaced curvilinear abscissa)
plot_CV

Plots a cross-validation table as an heatmap
rfourier

Radii variation Fourier transform (equally spaced radii)
rescale

Rescale coordinates from pixels to real length units
rw_fac

Renames levels on Momocs objects
sample_frac

Sample a fraction of shapes
tie_jpg_txt

Binds .jpg outlines from .txt landmarks taken on them
tps2d

Thin Plate Splines for 2D data