Skip to main content
Python Software Foundation 20th Year Anniversary Fundraiser  Donate today!

Tools for analyzing geometric morphometic shape

Project description

# shapes

shapes is a Python package for traditional and geometric morphometrics.

It can be used in a Python interpretator, or in a GUI online at [](, where you can also digitize landmarks.

Uses include:

* Procrustes superimposition.
* Missing landmark estimation.

## Installation

shapes can be installed from the Python Package Index:

`pip install shapes`

## Usage

Read files from Landmark editor:

import shapes
lms ='/path/to/file')

This returns a Shape object for that specimen.

Shape objects can be combined into ShapeSets:

shapeset = shapes.ShapeSet(name="Theropod skulls")

Once you've added all relevant Shapes to a ShapeSet, the landmarks can be
aligned using
[Procrustes Analysis](

aligned_shapeset = shapes.procrustes_align(shapeset)

Note that this Procrustes alignment will work even if some landmarks are missing
(in which case alignment will be based solely on the non-missing landmarks).
This could lead to systematic biases in your dataset depending on the
distribution of missing data. *Caveat emptor...*

Once the data set has been aligned as in the previous step, missing data can
be interpolated using one of two methods.

Using symmetry (for landmarks that are part of symmetrical pairs):

paired_landmarks = [(1,4),(2,5),(3,6)]
symmetrically_reconstructed = shapes.missing.estimate_from_symmetry(

Or using the mean of the aligned homologous landmark in specimens where it is

mean_reconstructed = shapes.missing.estimate_from_mean(aligned_shapeset)

Landmarks from all Shapes in a ShapeSet can be exported to csv:


## License

shapes is available under the MIT license.

## More information and citation

White, D.E. (2016) Chapter 3 *of* The Evolution and Phylogenetic Analysis of
the Dinosaur Axial Skeleton. PhD Dissertation, George Washington University.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for shapes, version 0.1.3
Filename, size File type Python version Upload date Hashes
Filename, size shapes-0.1.3.tar.gz (8.3 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page