Skip to content

PlantCV v3.3.0

Compare
Choose a tag to compare
@nfahlgren nfahlgren released this 22 May 04:09
cf90068

DOI

PlantCV v3.3.0 adds new functionality and fixes several bugs and usability issues. Big thanks to @HaleySchuhl, @dschneiderch, @JLJ90, @huberma, and @karnoldbio for work and guidance on the updates below.

Summary of changes:

  • Added plantcv.visualize sub-package
    • Moved pseudocolor and histogram into sub-package
    • Added colorize_masks function to sub-package to make false-colored images from a set of binary masks (e.g. output masks from the naive Bayes classifier)
  • Added plantcv.opening and plantcv.closing functions (removes salt and pepper noise)
  • Added plantcv.threshold.custom_range function (threshold based on upper and lower values)
  • Added plantcv.within_frame function (tests if object, in a binary image, is within the field of view)
  • Added plantcv.morphology sub-package
    • Added skeletonize function to sub-package (skeletonizes a binary image)
    • Added prune function to sub-package (removes spurs from skeleton)
    • Added check_cycles function to sub-package (checks for connected cycles in skeleton)
    • Added find_branch_pts function to sub-package (finds branch points in skeleton)
    • Added find_tips function to sub-package (finds tips in skeleton)
    • Added segment_skeleton function to sub-package (segments a skeleton into component paths)
    • Added segment_sort function to sub-package (sorts segments into primary and secondary groups)
    • Added segment_id function to sub-package (plots/labels segment IDs)
    • Added segment_path_length function to sub-package (calculates segment lengths)
    • Added segment_euclidean_length function to sub-package (calculates segment Euclidean lengths)
    • Added segment_curvature function to sub-package (calculates the ratio of path length to Euclidean length)
    • Added segment_angle function to sub-package (calculates the overall angle of the segment)
    • Added segment_insertion_angle function to sub-package (calculates the angle that a segment intersects another segment)
    • Added segment_tangent_angle function to sub-package (calculates the angle between the tangents of the ends of each segment)
  • Added parallel sub-package.
    • The sub-package contains functions that were originally from the plantcv-pipeline.py script file
    • Renamed plantcv-pipeline.py to plantcv-workflow.py
    • Removed SQLite database and requirements. Data are now output in a JSON-formatted text file
  • plantcv.print_results now outputs data in JSON format
  • The Outputs class now stores data in a single dictionary
  • Added add_observation method to the Outputs class. Allows user to add custom observations to the output
  • Output observations are stored by a unique variable name along with a trait name, method, scale (units), data type, value, and label(s)
  • Keep 1st generation sub contours when using 'largest' in roi_objects
  • In analyze_color, color and color property scales now use the conventional scale for each type (e.g. hue is a value from 0-359 degrees while green is a value from 0-255)
  • Added summary statistics for hue in analyze_color: median hue value, circular mean hue value, and the circular mean standard deviation of hue
  • Removed the bins argument from analyze_color