Skip to content

PlantCV v3.11.0

Compare
Choose a tag to compare
@nfahlgren nfahlgren released this 13 Feb 19:06
794af42

3.11.0 updates

DOI

  • Added a label parameter to all PlantCV functions that save observations. The label parameter can be used to set a sample name when saving observations. Multiple samples can be saved per image now, allowing for repeated measurements, which simplifies workflows that measure multiple objects or regions of interest
  • Added a sample parameter to Outputs.add_observation. Outputs class observations are now organized under sample names so that multiple samples can be associated with a single workflow.
  • Add function pcv.transform.warp to fuse images that have different size/scale/proportions, e.g. from two (different) cameras in different locations. The function accepts 2 images and 4 pairs of points in order to compute a perspective transformation matrix so the images overlay nicely.
  • Update the function pcv.hyperspectral.analyze_index to be more robust to NaN values and to also only consider finite values when calculating index statistics even when values range to positive or negative infinity.
  • Documentation updates
  • Prioritize the conda-forge channel in environment.yml
  • Minor updates/bug fixes
  • Add conda-forge badge to README
  • Set .gitattributes to use Linux line endings on all platforms
  • A handful of minor changes to functions inside the morphology sub-package.
    • Segment insertion angle was failing on skeleton structures that should have been successful, so a tweak to the part of the algorithm that combines the stem segments into a single object helps.
    • Branch and tip points should be integers.
  • Bugfix within pcv.canny_edge_detect function where the debug parameter had no effect when the line thickness is set.
  • Replaced MAINTAINER command in Dockerfile with LABEL because MAINTAINER is deprecated
  • The workflow parallelization was duplicating the name of the image for the metadata "image". Removed the concatenation of the path (including name) and the name.
  • Moved pcv.resize to the transform sub-packed. Also extended the functionality into the new pcv.transform.resize and pcv.transform.resize_factor.

Version 3.11.0 breaking changes

  • A new sample input was added to the Outputs.add_observations class method.
  • Observations stored in Outputs class instances have an extra hierarchical layer to account for sample names. To access an observation, the sample name needs to be included, for example:
  • pcv.resize deprecated and replaced with pcv.transform.resize and pcv.transform.resize_factor
pcv.outputs.observations["sample_name"]["variable_name"]