image1

Project status

Windows build

Linux build

OSX build

Coverage

Style

Project Status: Active

Build status

Build Status

none

Coverage Status

Code style

License: LGPL

What is phenopype?

phenopype is a high throughput phenotyping pipeline for Python to support ecologists and evolutionary biologists in extracting high dimensional phenotypic data from digital images. phenopype integrates state-of-the-art computer vision functions (using opencv-python as the main backbone), the possibility for GUI-based interactions and a project management ecosystem to facilitate rapid data collection and reproducibility.

Why phenopype

phenopype is aiming to augment, rather than replace the utility of existing CV libraries for scientists measuring phenotypes. 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.

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 and export

    • 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).

image2


Getting started

  1. Read the Installation Instructions

  2. Download and run the Tutorials

  3. Have a look at the Examples

Important information

  • phenopype currently does not work on macOS, as there are several issues with OpenCV’s HighGUI module, as documented here and here - any help in making phenopype usable for macOS is most welcome !

  • phenopype is currently undergoing review at pyOpenSci. In the process, phenopype was updated to version 2 which is not compatible with previous versions - read the instructions for installing past versions


Documentation

The full Documentation can be found here: https://mluerig.github.io/phenopype/

Contributions and feedback

Phenopype development is an ongoing process and contributions towards making it a more broadly applicable and user-friendly tool 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 have any suggestions for improvement.

How to cite phenopype

phenopype: a phenotyping pipeline for python (v2.0.0). 2021 Lürig, M. https://github.com/mluerig/phenopype

@misc{phenopype,
  title={{phenopype: a phenotyping pipeline for Python}},
  author={L{\"u}rig, Moritz},
  year={2021},
  url={https://github.com/mluerig/phenopype},
}