danforthcenter/plantcv

Plant phenotyping with image analysis

PlantCV – Computer‑vision tools for plant phenotyping

What it is – PlantCV is an open‑source Python library that bundles a collection of image‑analysis algorithms for measuring plant traits (size, shape, color, disease symptoms, etc.) from photographs. It is built for high‑throughput phenotyping labs and aims to give researchers a consistent, modular way to turn raw plant images into quantitative data.

Key features

  • Modular pipeline – individual processing steps (e.g., segmentation, object detection, trait extraction) are provided as reusable functions that can be chained into custom workflows.
  • Broad algorithm base – wraps classic computer‑vision techniques (thresholding, morphological ops, contour analysis) and integrates methods from other packages.
  • Extensible – new methods can be added without breaking existing pipelines thanks to the library’s plug‑in architecture.
  • Cross‑platform – installable via PyPI, Conda‑forge, or directly from source; works on Linux, macOS, and Windows.
  • Rich documentation & tutorials – a full API reference, step‑by‑step tutorial gallery, and example datasets are hosted on the project website.

Typical workflow

  1. Load imagepcv.readimage() reads a plant photograph.
  2. Pre‑process – apply filters, color space conversion, or background removal.
  3. Segment – isolate plant tissue using thresholding or machine‑learning‑based masks.
  4. Extract traits – call functions such as pcv.shape_features(), pcv.area(), pcv.fluorescence_intensity() to compute measurements.
  5. Export – results are returned as Python objects or written to CSV/JSON for downstream analysis.

Installation

# via pip
pip install plantcv

# or via conda‑forge
conda install -c conda-forge plantcv

Getting started – The project’s Tutorial Gallery (https://plantcv.org/tutorials) walks new users through common use‑cases, from simple leaf area measurement to multi‑camera phenotyping pipelines. The API docs are available at https://docs.plantcv.org/.

Community & support

  • Issues & questions – open a ticket on the GitHub issues page.
  • Contributing – guidelines and a code‑of‑conduct are provided; the repo lists over 70 contributors.
  • Citations – users are asked to cite the PlantCV publications listed on the project homepage when the library is used in research.

License – BSD‑3‑Clause (see the LICENSE file).


PlantCV is a genuine, actively maintained software project that applies computer‑vision techniques to the domain of plant phenotyping, fitting squarely within the AI/ML landscape.

Related

  • Project
  • Project
  • Project
  • Project
  • Project