-
Notifications
You must be signed in to change notification settings - Fork 70
release_notes_v22.06.00
The 22.06.00 release adds a new function cucim.skimage.segmentation.clear_border that can be used to remove any labels touching the image/volume border. There are also new functions for stain extraction and normalization of digital pathology slides stained with hematoxyling and eosin: cucim.core.operations.color.stain_extraction_pca and cucim.core.operations.color.normalize_colors_pca.
Aside from this, there are also a number of performance improvements. Specifically, edge detection with cucim.skimage.feature.canny should be 3-4x faster than previously. Binary and grayscale morphological operations can now be performed much faster for large footprint sizes. To take advantage of this, set the decomposition kwarg of the footprint-generation functions to 'series', 'separable' or 'crosses', as available. This provides a sequence of small footprints (structuring elements) that can be passed to the footprint argument of any morphology function, enabling identical output in a much shorter run time. The specific functions in cucim.skimage.morphology that support this new feature are square, rectangle, diamond, disk, ellipse, octagon, cube, ball and octahedron.
One backward incompatible change was made to the dtype used when casting 8 and 16-bit signed and unsigned integer data types to floating point. Specifically when functions convert these types to floating point, 32-bit precision will now be used. Previously these were promoted to 64-bit floating point as in upstream scikit-image. This change was made to improve performance and reduce memory consumption.
Although not new to this release, we would like to encourage users to set the CUPY_ACCELERATORS environment variable to "cub,cutensor". This improves the performance of many functions involving histograms (e.g. cucim.skimage.filters.threshold_otsu) or reduction operations (e.g. cucim.skimage.transform.integral_image).
Additional details of the changes in this release are given below.
- Populate correct channel names for RGBA image (#294) @gigony
- Merge branch-22.04 into branch-22.06 (#258) @jakirkham
- Fix: return object-typed properties as NumPy arrays in
skimage.measure.regionprops_table(#272) @alxndrkalinin
- add missing
cucim.skimage.segmentation.clear_borderfunction (#267) @grlee77 - add
cucim.core.operations.color.stain_extraction_pcaandcucim.core.operations.color.normalize_colors_pcafor digital pathology H&E stain extraction and normalization (#273) @grlee77, @drbeh
- Update to use DLPack v0.6 (#295) @gigony
- Remove plugin-related messages temporarily (#291) @gigony
- Simplify recipes (#286) @Ethyling
- Use cupy.fuse to improve efficiency hessian_matrix_eigvals (#280) @grlee77
- Promote small integer types to single rather than double precision (#278) @grlee77
- improve efficiency of histogram-based thresholding functions (#276) @grlee77
- Remove unused dependencies in GPU tests job (#268) @Ethyling
- Enable footprint decomposition for morphology (#274) @grlee77
- Use conda compilers (#232) @Ethyling
- Build packages using mambabuild (#216) @Ethyling
- Alexandr Kalinin (@alxndrkalinin) made their first contribution in https://github.com/rapidsai/cucim/pull/272
- Behrooz Hashemian (@drbeh) made their first contribution in https://github.com/rapidsai/cucim/pull/273
Project Management
- Roadmap
- Development Process
- Architecture Decision Records
- Issue Tracking
- Release Process
- Related Projects
Contributing
- How to Contribute
- Submitting Bugs and Suggestions
- Source Code Organization
- Coding Guidelines
- Contributor License Agreement
Documentation