Skip to content

release_notes_v22.06.00

Gigon Bae edited this page Jun 21, 2022 · 6 revisions

Version 22.06.00 (June 08, 2022)

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.

๐Ÿšจ Breaking Changes

  • Promote small integer types to single rather than double precision (#278) @grlee77

๐Ÿ› Bug Fixes

  • 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

๐Ÿš€ New Features

  1. add missing cucim.skimage.segmentation.clear_border function (#267) @grlee77
  2. add cucim.core.operations.color.stain_extraction_pca and cucim.core.operations.color.normalize_colors_pca for digital pathology H&E stain extraction and normalization (#273) @grlee77, @drbeh

๐Ÿ› ๏ธ Improvements

๐Ÿ“– Documentation

New Contributors