aradeepopsis

A versatile, fully open-source pipeline to extract phenotypic measurements from plant images

https://github.com/gregor-mendel-institute/aradeepopsis

Science Score: 85.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 10 DOI reference(s) in README
  • Academic publication links
    Links to: arxiv.org, zenodo.org
  • Committers with academic emails
    1 of 2 committers (50.0%) from academic institutions
  • Institutional organization owner
    Organization gregor-mendel-institute has institutional domain (www.gmi.oeaw.ac.at)
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.9%) to scientific vocabulary

Keywords

arabidopsis-thaliana deep-learning nextflow plant-phenotyping scikit-image semantic-segmentation tensorflow
Last synced: 4 months ago · JSON representation ·

Repository

A versatile, fully open-source pipeline to extract phenotypic measurements from plant images

Basic Info
  • Host: GitHub
  • Owner: Gregor-Mendel-Institute
  • License: gpl-3.0
  • Language: Nextflow
  • Default Branch: master
  • Homepage:
  • Size: 2.75 MB
Statistics
  • Stars: 42
  • Watchers: 5
  • Forks: 8
  • Open Issues: 3
  • Releases: 7
Topics
arabidopsis-thaliana deep-learning nextflow plant-phenotyping scikit-image semantic-segmentation tensorflow
Created almost 6 years ago · Last pushed 8 months ago
Metadata Files
Readme Changelog License Citation

README.md

ARADEEPOPSIS

CI Latest Release License DOI Nextflow
run with conda run with docker run with singularity run with podman run with charliecloud

Introduction

ARADEEPOPSIS is a software tool that enables plant researchers to non-invasively score plant growth, biomass accumulation and senescence from image data in a highly parallelized, high throughput, yet easy to use manner.

It is built upon the published, convolutional neural network (CNN) DeepLabv3+[1] that serves the task of semantic image segmentation. A pretrained checkpoint of this model has been trained upon using manually annotated top-view images of Arabidopsis thaliana plants of different ages. The code that was used for training can be found here. The different models are available here DOI

The training and validation datasets including ground truth annotations are available at DOI

How it works

Models

The pipeline is implemented using open source software such as Nextflow[2], TensorFlow[3], ImageMagick, scikit-image[4] and shiny[5].

The pipeline uses either a conda environment or a Docker container to resolve dependencies, ensuring a high level of reproducibility and portability. It is largely platform independent and scales from Personal Computers to High Performance Computing (HPC) infrastructure, allowing for time efficient analysis of hundreds of thousands of images within a day.

Note: To ensure reproducibility, container-based profiles are recommended over conda.

Once the pipeline is fed with images of single plants, it converts the images into chunks of arbitrary size by saving the image data into an IO-optimized binary file format.

These file records are then, in parallel, served to a deep learning model, allowing for pixel-by-pixel classification of the image data.

Three distinct models are available and should be chosen according to the research interest.

Models

Depending on the model of choice, the pipeline extracts relevant phenotypic information such as:

  • plant area (model A/B/C)
  • area of senescent/necrotic tissue (model B/C)
  • area of anthocyanin-rich tissue (model C)
  • color composition and color indices as described by Del Valle et al. 2018[6] for each class supported by the respective model
  • a variety of morphometric traits for each class supported by the respective model

Traits

Extensibility

The pipeline has a modular character, also allowing the use of custom models obtained from the Deep Plant Phenomics[7] framework for the semantic segmentation step.

In addition, it is also possible to feed the pipeline with segmentation masks obtained by other methods, while still making use the automated trait extraction and visualization capabilities of the pipeline.

Usage

Hardware requirements

Running the pipeline with the provided models requires at least 6GB of memory for singlescale inference, and at least 12GB for --multiscale.

Setting up the pipeline

Note: Windows users will have to set up the WSL first.

  1. Install Nextflow

  2. Install either conda, Docker, podman, Charliecloud or Singularity.

Note: To run the pipeline on MacOS with Docker, it is necessary to increase the allowed memory usage from the default setting of 2GB to 6GB (See the Docker documentation for instructions)

Running the pipeline

To run the pipeline you have to provide single-pot plant images:

bash nextflow run Gregor-Mendel-Institute/aradeepopsis --images 'path/to/images/*{png|jpg}' -profile {conda|docker|podman|singularity|charliecloud}

Example to run on the CBE cluster using Singularity

```bash module load nextflow/20.01.0

nextflow run Gregor-Mendel-Institute/aradeepopsis --images 'path/to/images/*{png|jpg}' -profile cbe,singularity ```

Default Parameters

| Parameter | Default value | Type | | ------------- | ------------- | ------------- | | --model | C | <Character> | | --images | None | <Path> | | --masks | false | <Path> | | --multiscale| false | <Boolean> | | --chunksize | 10 | <Integer> | | --ignore_senescence | true | <Boolean> | | --outdir | ./results | <Path> | | --save_overlay | true | <Boolean> | | --save_mask| true | <Boolean> | | --save_hull | true | <Boolean> | | --summary_diagnostics | false | <Boolean> | | --shiny | true | <Boolean> |

Pipeline Output

The pipeline computes a total of 78 morphometric and color-related traits from the analysed images. A description of all traits is available here.

References

[1] Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation.
Chen, L.-C. et al., 2018. arXiv [cs.CV]. Available at: http://arxiv.org/abs/1802.02611.

[2] Nextflow enables reproducible computational workflows.
Di Tommaso, P. et al., 2017. Nature biotechnology, 35(4), pp.316–319.

[3] TensorFlow: Large-scale machine learning on heterogeneous systems.
Martín Abadi, Ashish Agarwal, Paul Barham, Eugene Brevdo, Zhifeng Chen, Craig Citro, Greg S. Corrado, Andy Davis, Jeffrey Dean, Matthieu Devin, Sanjay Ghemawat, Ian Goodfellow, Andrew Harp, Geoffrey Irving, Michael Isard, Rafal Jozefowicz, Yangqing Jia,Lukasz Kaiser, Manjunath Kudlur, Josh Levenberg, Dan Mané, Mike Schuster, Rajat Monga, Sherry Moore, Derek Murray, Chris Olah, Jonathon Shlens, Benoit Steiner, Ilya Sutskever, Kunal Talwar, Paul Tucker, Vincent Vanhoucke, Vijay Vasudevan, Fernanda Viégas, Oriol Vinyals, Pete Warden, Martin Wattenberg, Martin Wicke, Yuan Yu, and Xiaoqiang Zheng, 2015

[4] scikit-image: Image processing in Python.
Stéfan van der Walt, Johannes L. Schönberger, Juan Nunez-Iglesias, François Boulogne, Joshua D. Warner, Neil Yager, Emmanuelle Gouillart, Tony Yu and the scikit-image contributors. PeerJ 2:e453 (2014)

[5] shiny: Easy web applications in R
Rstudio Inc. (2014)

[6] Digital photography provides a fast, reliable, and noninvasive method to estimate anthocyanin pigment concentration in reproductive and vegetative plant tissues
Del Valle JC, Gallardo-López A, Buide ML, Whittall JB, Narbona E, 2018. Ecol Evol. 8(6):3064–76.

[7] Deep Plant Phenomics: A Deep Learning Platform for Complex Plant Phenotyping Tasks
Ubbens JR, Stavness I. Front Plant Sci. 2017 Jul 7;8:1190.

Owner

  • Name: GMI: Gregor Mendel Institute of Molecular Plant Biology GmbH
  • Login: Gregor-Mendel-Institute
  • Kind: organization
  • Email: hpcadmin@gmi.oeaw.ac.at
  • Location: Vienna, Austria

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Hüther"
  given-names: "Patrick"
  orcid: "https://orcid.org/0000-0003-3315-2484"
- family-names: "Schandry"
  given-names: "Niklas"
  orcid: "https://orcid.org/0000-0003-3099-7860"
title: "ARADEEPOPSIS"
version: 2.0
doi: 10.5281/zenodo.3946320
date-released: 2022-05-12
url: "https://github.com/Gregor-Mendel-Institute/aradeepopsis"
preferred-citation:
  type: article
  authors:
  - family-names: "Hüther"
    given-names: "Patrick"
    orcid: "https://orcid.org/0000-0003-3315-2484"
  - family-names: "Schandry"
    given-names: "Niklas"
    orcid: "https://orcid.org/0000-0003-3099-7860"
  - family-names: "Jandrasits"
    given-names: "Katharina"
    orcid: "https://orcid.org/0000-0002-0161-582X"
  - family-names: "Bezrukov"
    given-names: "Ilja"
    orcid: "https://orcid.org/0000-0003-0420-4329"
  - family-names: "Becker"
    given-names: "Claude"
    orcid: "https://orcid.org/0000-0003-3406-4670"
  doi: "10.1105/tpc.20.00318"
  journal: "The Plant Cell"
  month: 12
  start: 3674
  end: 3688
  title: "ARADEEPOPSIS, an Automated Workflow for Top-View Plant Phenomics using Semantic Segmentation of Leaf States"
  issue: 12
  volume: 32
  year: 2020

GitHub Events

Total
  • Watch event: 2
  • Push event: 1
Last Year
  • Watch event: 2
  • Push event: 1

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 282
  • Total Committers: 2
  • Avg Commits per committer: 141.0
  • Development Distribution Score (DDS): 0.032
Past Year
  • Commits: 1
  • Committers: 1
  • Avg Commits per committer: 1.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
phue p****r@g****m 273
Niklas Schandry n****y@g****t 9
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 5 months ago

All Time
  • Total issues: 16
  • Total pull requests: 49
  • Average time to close issues: 26 days
  • Average time to close pull requests: 13 days
  • Total issue authors: 9
  • Total pull request authors: 3
  • Average comments per issue: 3.13
  • Average comments per pull request: 0.14
  • Merged pull requests: 41
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • phue (5)
  • dschneiderch (4)
  • nschan (1)
  • bisnow33 (1)
  • marlenen1 (1)
  • sarahmermet (1)
  • LeryLee (1)
  • greymonroe (1)
  • G-Thomson (1)
Pull Request Authors
  • phue (38)
  • nschan (9)
  • timeu (1)
Top Labels
Issue Labels
enhancement (2) wontfix (1) bug (1)
Pull Request Labels

Packages

  • Total packages: 2
  • Total downloads: unknown
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 0
    (may contain duplicates)
  • Total versions: 4
proxy.golang.org: github.com/Gregor-Mendel-Institute/aradeepopsis
  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 9.0%
Average: 9.6%
Dependent repos count: 10.2%
Last synced: 5 months ago
proxy.golang.org: github.com/gregor-mendel-institute/aradeepopsis
  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 9.0%
Average: 9.6%
Dependent repos count: 10.2%
Last synced: 5 months ago

Dependencies

.github/workflows/docker_base.yml actions
  • actions/checkout v2 composite
.github/workflows/docker_dpp.yml actions
  • actions/checkout v2 composite
.github/workflows/docker_shiny.yml actions
  • actions/checkout v2 composite
.github/workflows/minimal_test.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • actions/upload-artifact v2 composite
containers/addons/dpp/Dockerfile docker
  • mambaorg/micromamba 0.13.0 build
containers/base/Dockerfile docker
  • mambaorg/micromamba 0.13.0 build
containers/shiny/Dockerfile docker
  • mambaorg/micromamba 0.13.0 build
containers/addons/dpp/environment.yml pypi
  • opencv-python-headless ==4.5.2.52
containers/base/environment.yml pypi
containers/shiny/environment.yml pypi