PlantCV v3.3.0
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
andhistogram
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)
- Moved
- Added
plantcv.opening
andplantcv.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
- Added
parallel
sub-package.- The sub-package contains functions that were originally from the
plantcv-pipeline.py
script file - Renamed
plantcv-pipeline.py
toplantcv-workflow.py
- Removed SQLite database and requirements. Data are now output in a JSON-formatted text file
- The sub-package contains functions that were originally from the
plantcv.print_results
now outputs data in JSON format- The
Outputs
class now stores data in a single dictionary - Added
add_observation
method to theOutputs
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 fromanalyze_color