phenopype is a phenotyping pipeline for python. It is designed to extract phenotypic data from digital images or video material with minimal user input, and therefore aims at large datasets. It does not have a GUI, but instead is designed to be run from a python integrated development environment (IDE), like spyder, pycharm, or VScode, providing an "RStudio"-like feeling. phenopype is developed by me and builds on a collection of scripts (iso_cv, iso_track) that I wrote for my PhD at Eawag and ETH Zürich.
phenopype is currently alpha, and still under heavy construction. A few core features like object detection or videotracking work (see below), more are planned. If you are interested in using phenopype, check the installation guide and contact me directly or raise an issue if you encounter problems. Some python knowledge is necessary, but not much since all the heavy lifting is done in the background. Feel free to get in touch of you have requests or ideas for further use cases (e.g. for your own study system) that you think could be solved with phenopype.
Python 3.7 with
- install python3 with anaconda: https://www.anaconda.com/download/ chose python 3.x for your OS, download and install
- if you have not done so during the installation, add "conda" to your PATH
- Install phenopype to your local python environment directly from github using
git(dependencies will be installed on the fly):
conda install git pip install git+https://github.com/mluerig/phenopype
If you have difficulties installing opencv, try it manually:
pip install opencv-contrib-python
Under ubuntu I encountered some issues with the opencv-GUI - you can still try (need a working gtk installation).
Not tested yet
Download the repository to use the provided examples in an IDE. Anaconda distributions come with the spyder IDE, which is a great scientific python environment. Simply run
spyder from the shell, and, after you have cloned the repository, open
example.py from the example folder.
JUPYTER NOTEBOOK VERSION COMING SOON
Planned featues include
- hdf5-implementation (original image > processed image (+ data) > image for ML-training-dataset >> hdf5)
- localized feature extraction (e.g. stickleback armour-plates, amount of pigments in leafs,...)
- shape detection (contour of objects)
If you have ideas for other functionality, let me know!