For a given (background-subtracted) image and a corresponding segmentation map indicating the source(s) of interest, statmorph calculates the following morphological statistics for each source:

  • Gini-M20 statistics (Lotz et al. 2004; Snyder et al. 2015a,b)
  • Concentration, Asymmetry and Smoothness (CAS) statistics (Bershady et al. 2000; Conselice 2003; Lotz et al. 2004)
  • Multimode, Intensity and Deviation (MID) statistics (Freeman et al. 2013; Peth et al. 2016)
  • Outer asymmetry and shape asymmetry (Wen et al. 2014; Pawlik et al. 2016)
  • Sérsic index (Sérsic 1968)
  • Several shape and size measurements associated to the above statistics (ellipticity, Petrosian radius, half-light radius, etc.)

The current Python implementation is largely based on IDL and Python code originally written by Jennifer Lotz and Greg Snyder.


  • Vicente Rodriguez-Gomez (v.rodriguez [at] irya.unam.mx)
  • Jennifer Lotz
  • Greg Snyder


  • We thank Peter Freeman and Mike Peth for sharing their IDL implementation of the MID statistics.


If you use this code for a scientific publication, please cite the following article:


This package is not meant to be the “official” implementation of any of the morphological statistics listed above. Please contact the authors of the original publications for a “reference” implementation.


Licensed under a 3-Clause BSD License.