Phenomenal

A software framework for model-assisted analysis of high throughput plant phenotyping data

What is Phenomenal ?

Plant high-throughput phenotyping aims at capturing the genetic variability of plant response to environmental factors for thousands of plants, hence identifying heritable traits for genomic selection and predicting the genetic values of allelic combinations in different environment.

This first implies the automation of the measurement of a large number of traits to characterize plant growth, plant development and plant functioning. It also requires a fluent and versatile interaction between data and continuously evolving plant response models, that are essential in the analysis of the marker x environment interaction and in the integration of processes for predicting crop performance.

In the frame of the Phenome high throughput phenotyping infrastructure, we develop Phenomenal. A software framework dedicated to the analysis of high throughput phenotyping data and models.

Phenomenal currently consists of 2D image analysis workflows built with standard image libraries (VTK, OpenCV, Scikit.Image), algorithms for 3D reconstruction, segmentation and tracking of plant organs for maize (under development), and workflows for estimation of light interception by plants during their growth.

Installation

Installation

Warning : Miniconda installation is strongly recommended

Installation with Miniconda (Windows, linux, OSX)

0. Install Miniconda

Follow official website instruction to install miniconda :

http://conda.pydata.org/miniconda.html

1. Install conda-build if not already installed
conda install conda-build
2. Create virtual environment and activate it
conda create --name phenomenal python
source activate phenomenal
3. Build and install openalea.phenomenal package
cd phenomenal/build_tools/conda
conda build -c conda-forge -c openalea .
conda install -c conda-forge -c openalea --use-local openalea.phenomenal

(Optional) Install several package managing tools :

conda install -c conda-forge notebook nose sphinx sphinx_rtd_theme pandoc coverage ipyvolume nbconvert

Developer Install - Ubuntu (linux)

Warning : This installation procedure is not fully tested, We strongly recommand to install openalea.phenomenal with miniconda.

1. Install linux dependencies

Be sure opengl is installed on your machine

sudo apt-get update
sudo apt-get install freeglut3-dev
2. Miniconda installation

Follow official website instruction to install miniconda :

http://conda.pydata.org/miniconda.html

3. Create virtual environment and activate it
conda create --name phenomenal python
source activate phenomenal
4. Install dependencies with conda
conda install -c openalea/label/unstable -c openalea openalea.deploy openalea.core
conda install numba numpy scikit-learn scikit-image scipy matplotlib networkx vtk opencv

# Usefull tools for running example and documentation
conda install -c conda-forge nose notebook sphinx sphinx_rtd_theme pandoc ipyvolume

# On windows
conda install pywin32 [win]
2. Install openalea.phenomenal
git clone https://gitlab.inria.fr/phenome/phenomenal.git
cd phenomenal; python setup.py develop --prefix=$CONDA_PREFIX; cd ..

Windows

Warning :This installation procedure is not fully tested, We strongly recommand to install openalea.phenomenal with miniconda.

1. Install dependencies
# Basic
pip install numpy matplotlib scipy scikit-image

# Download Scipy, OpenCv, VTK, ... wheels on http://www.lfd.uci.edu/~gohlke/pythonlibs/ and install it like this :
pip install *.whl

# Optional
pip install ipython ipython[notebook] nose

# OpenAlea.Deploy
git clone https://github.com/openalea/deploy
cd deploys; python setup.py install; cd ..

# OpenAlea.Core
git clone https://github.com/openalea/core
cd core; python setup.py install; cd ..
2. Install openalea.phenomenal
git clone https://gitlab.inria.fr/phenome/phenomenal.git
cd phenomenal; python setup.py install; cd ..

Questions and Answers

How solve the server certificate verification failed problem on a ubuntu VM ?
export GIT_SSL_NO_VERIFY=1
#or
git config --global http.sslverify false
How solve the hostnanme on a ubuntu VM ?
cat /etc/host nano /etc/hostname
How to install Python-Irodsclient ?
git clone https://github.com/irods/python-irodsclient
cd python-irodsclient; python setup.py install --prefix=$CONDA_PREFIX; cd ..
How launch a Notebook Server on a cloud VM ?
jupyter notebook --no-browser --ip=<local_ip> &
disown

Documentation

Tutorial Jupyter Notebooks

Tutorial Jupyter Notebooks are available on the git repository in the folder examples.

API References

API References

Release:1.6.0
Date:Sep 27, 2018

The exact API of all functions and classes, as given by the docstrings. The API documents expected types and allowed features for all functions, and all parameters available for the algorithms.

openalea.phenomenal.data
openalea.phenomenal.image
openalea.phenomenal.calibration
openalea.phenomenal.object
openalea.phenomenal.display
openalea.phenomenal.multi_view_reconstruction
openalea.phenomenal.mesh
openalea.phenomenal.segmentation

Authors

License

Phenomenal is released under a Cecill-C license.

Note

Cecill-C license is a LGPL compatible license.