Skip to main content

A phenotyping pipeline for python

Project description

Code review Windows Linux OSX Code coverage Code Style
pyOpenSci Build status soon to come none Coverage Status Code style

Author: Moritz Lürig
License: LGPL

What is phenopype?

phenopype is a Python package to rapidly extract high dimensional phenotypic data from digital images. At the core, phenopype provides a project management ecosystem for large image datasets, signal processing based segmentation and data extraction routines, and the possibility to export the processed data in various formats - e.g. for direct analysis (csv - e.g. landmarks, coordinates, etc.), or for further processing in other machine learning pipelines (json - e.g. segmentation masks).

Why phenopype

phenopype is aiming to augment, rather than replace the utility of existing CV low level libraries for scientists who want to extract phenotypic data from images. Put differently, phenopype does not intend to be an exhaustive library of granular image processing functions, like OpenCV, scikit-image or ImageJ, but instead, it is a set of wrappers and convenient management tools to allow biologists to get their data fast without having to fiddle with too much code.

Who uses phenopype?

phenopype is intended for ecologists and evolutionary biologists with "laboratory grade" images, which, for example, contain specimens that have been photographed against a standardized background. It is also useful for anyone interested in building a robust training dataset for deep learning models: with phenopype segmentation masks can be created semi-automatically (instead of annotating the images by hand), and, in the process, phenotypic data can already by extracted and evaluated.

Main features

(For a complete list check the API reference)

  • image analysis workflow:
    • preprocessing (automatic reference detection, colour and size correction, morphology operations)
    • segmentation (thresholding, watershed, contour-filtering, foreground-background subtraction)
    • measurement (pixel intensities, landmarks, shape features, texture features)
    • visualization (various options) and export (csv, json, ROI images, ...)
    • video analysis module for object tracking
  • project management tools to organize images and data (automatic creation of project directory tree)
  • customizable analysis-templates that allow anyone to reproduce all collected data with only a few lines of code (suitable for repositories like Dryad or OSF).



Vignette gallery

Contributions and feedback

phenopype development is ongoing and contributions towards making it more broadly applicable and user-friendly are most welcome. This can be in the form of feature requests (e.g. more functions from the OpenCV library) or by reporting bugs via the issue tracker. You can also get in touch with me directly if you would like to contribute code - in that case, please have a look at the API.

How to cite phenopype

Lürig, M. D. (2021). phenopype : A phenotyping pipeline for Python. Methods in Ecology and Evolution.

  title     = "phenopype : A phenotyping pipeline for Python",
  author    = "L{\"u}rig, Moritz D",
  journal   = "Methods in ecology and evolution / British Ecological Society",
  publisher = "Wiley",
  volume    =  13,
  number    =  3,
  pages     = "569--576",
  month     =  mar,
  year      =  2022,
  copyright = "",
  language  = "en",
  issn      = "2041-210X",
  doi       = "10.1111/2041-210x.13771"

Project details

Download files

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

Source Distributions

No source distribution files available for this release. See tutorial on generating distribution archives.

Built Distribution

phenopype-3.4.2-py3-none-any.whl (108.4 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page