Software Open Access

danforthcenter/plantcv: PlantCV v2.0

Noah Fahlgren; Malia Gehan; Max; Steen Hoyer; Cesar Lizarraga; scallen81; Eric Platon; Andy-Lin; jgerardhodge; mtessman; Tony Sax; lchavez037; Douglas

The PlantCV release v2.0 marks the final commit used in our upcoming manuscript describing improvements to PlantCV since v1.0. If you are updating from v1, please see our instructions here.

A brief description of changes since the v1.0 release:

  • Changed license from GPLv2 to MIT
  • Reformatted code for PEP8 compliance
  • General improvements for Python2.7 and 3 compatibility
  • Updated documentation (installation methods, tutorials, contribution guide, function documentation)
  • Added issue and pull request templates
  • Added continuous integration (Travis CI)
  • Added unit test coverage (Coveralls)
  • Added continuous documentation (Read the Docs)
  • Added Jupyter notebook integration
  • Improved metadata parsing
  • Rewrote the parallelization and data management tool in Python (
  • New functions
    • White balance (white_balance)
    • Triangle auto-threshold (triangle_auto_threshold)
    • Otsu auto-threshold (otsu_auto_threshold)
    • Adaptive threshold (adaptive_threshold)
    • Gaussian blur (gaussian_blur)
    • Size marker normalization (report_size_marker_area)
    • Multi-plant detection (cluster_contours, cluster_contours_split_img, rotate_img, shift_img)
    • Combined image processing (get_nir, resize, crop_position_mask)
    • Watershed segmentation (watershed_segmentation)
    • Landmarking functions for morphometrics (acute, acute_vertex, x_axis_pseudolandmarks, y_axis_pseudolandmarks, scale_features)
  • Added machine learning training (plantcv.learn submodule) and classifier tools
    • Training program ( with two methods:
      • Naive Bayes (naive_bayes)
      • Naive Bayes multiclass (naive_bayes_multiclass)
    • Classifier (naive_bayes_classifier)

Files (21.3 MB)
Name Size
danforthcenter/ md5:4e4faf50134488304bb98d21f60b0392 21.3 MB Download


Cite as