3.11.0 updates
- 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"]