-
Notifications
You must be signed in to change notification settings - Fork 61
release_notes_v22.12.00
-
The implementation of ridge filters (
cucim.skimage.filters.frangi
,cucim.skimage.filters.hessian
,cucim.skimage.filters.meijering
,cucim.skimage.filters.sato
) has been overhauled to better match their descriptions in the literature. These behave qualitatively the same, but will return quantitatively different results than in previous versions. This reflects upstream changes in behavior introduced for scikit-image 0.20. (#423) @grlee77 -
The minimum required version of the optional
matplotlib
dependency has been bumped from 3.0.3 to 3.3. -
cucim.skimage.feature.structure_tensor
now defaults toorder='rc'
instead oforder='xy'
for 2D inputs. The prior warning about the pending changing has been removed. (#423) @grlee77 -
The deprecated
indices
keyword argument tocucim.skimage.feature.peak_local_max
has now been removed. (#423) @grlee77 -
The function
cucim.skimage.filter.inverse
has been renamed tocucim.skimage.filter.filter_inverse
. The former name is now deprected. (#423) @grlee77 -
The previously deprecated
multichannel
parameter, present in many functions across the library, has been removed.channel_axis
must be used instead. (#451) @grlee77 -
The previously renamed
width
andheight
parameters ofcucim.skimage.morphology.rectangle
have been removed. The new names arenrows
andncols
. (#451) @grlee77 -
The previously deprecated
in_place
parameter has been removed from bothcucim.skimage.morphology.remove_small_holes
andcucim.skimage.morphology.remove_small_objects
. Theout
parameter can be used instead to specify an output array. (#451) @grlee77 -
The previously deprecated
input
parameter tocucim.skimage.measure.label
has been removed. The first argument is now namedlabel_image
instead (#451) @grlee77 -
The previously deprecated
coordinates
parameter incucim.skimage.measure.regionprops
has been removed. The library convention ofrc
(row-column order) is assumed. (#451) @grlee77 -
cucim.skimage.metrics.structural_similarity
now requires explicitly providingdata_range
for floating-point inputs. (#455) @grlee77
-
Fix behavior of
cucim.skimage.transform.rotate
when the data has more than two dimensions and the user specifiedresize=True
. (#432) @grlee77 -
Update
tiff.py
TIFF file writer for compatibility with recenttifffile
releases. (#433) @JoohyungLee0106, @gigony -
A bug in boundary handling behavior in
cucim.skimage.feature.peak_local_max
was addressed (internally replication of the border value is now used rather than a constant of zero). (#423) @grlee77 -
cucim.skimage.transform.resize
now disables anti-aliasing by default if the image has an integer dtype and nearest neighbor (order=0) interpolation was requested. (#423) @grlee77 -
Avoid use of CMake 3.25.0 on CI builds to avoid failures during build due to a known bug. (#444) @grlee77, @ajschmidt8
-
A bug where the order of the terms returned by
cucim.skimage.feature.hessian_matrix
has been fixed. (#455) @grlee77 -
Fix stacklevel of warning raised by
cucim.skimage.color.lab2xyz
. (#455) @grlee77 -
Fix docstring example for
cucim.skimage.util.lookfor
. (#455) @grlee77
-
a new demo for use of the Euclidean distance transform has been added to the repository (
examples/python/distance_transform_edt_demo.py
) (#394) @grlee77 -
a proof-of-concept script for testing tiled array processing using GPUDirect Storage was added (see files and README.md in
examples/python/gds_whole_slide/
) (#452) @grlee77, @gigony
-
Newly implemented multidimensional blob detection functions from the scikit-image API:
cucim.skimage.feature.blob_dog
,cucim.skimage.feature.blob_log
,cucim.skimage.filters.blob_doh
. (#413) @monzelr, @annendominik, @grlee77 -
Three new segmentation metrics were ported from scikit-image:
cucim.skimage.metrics.adapted_rand_error
,cucim.skimage.metrics.contingency_table
,cucim.skimage.metrics.variation_of_information
. (#432) @grlee77 -
New functions for isotropic binary morphology based on use of the Euclidean distance transform:
cucim.skimage.morphology.isotropic_dilation
,cucim.skimage.morphology.isotropic_erosion
,cucim.skimage.morphology.isotropic_opening
,cucim.skimage.morphology.isotropic_closing
. These behave the same as the corresponding binary morphology functions, but only support disk, spherical or ellipsoidal footprints. The benefit over theirbinary_*
counterparts is that they are substantially faster when the footprint size is large. (#421) @grlee77 -
The existing Euclidean distance transform function,
cucim.core.morphology.distance_transform_edt
, has been updated to support thesampling
,distance
andindices
keyword arguments. Thesampling
arguments allows accounting for physical grid spacing in distance computations (e.g. for anisotropic pixel/voxel size). Thedistance
andindices
arguments allow users to pass in pre-allocated output arrays. (#407) @grlee77 -
The
cucim convert
command line utility now supports using--compression RAW
to convert a file without compression. The default is--compression JPEG
. (#443) @gigony
-
Faster 2D and 3D pixelwise eigenvalue computations for
hessian_matrix_eigvals
andstructure_tensor_eigvals
. These should be 1.5-2x faster than previously for 2D images and 30-100x faster for 3D images. Peak memory usage is also reduced by more than 10x in the 3D case. Other functions benefitting from this change include (cucim.skimage.feature.shape_index
,cucim.skimage.feature.multiscale_basic_features
,cucim.skimage.filters.meijering
,cucim.skimage.filters.sato
,cucim.skimage.filters.frangi
,cucim.skimage.filters.hessian
). (#434) @grlee77 -
cucim.skimage.measure.inertia_tensor_eigvals
andcucim.skimage.feature.hessian_matrix_det
no longer rely on host-side computations for 2D or 3D images. (#434) @grlee77 -
Faster Hessian determinants in
cucim.skimage.feature.hessian_matrix_det
via dedicated 2D and 3D kernels. (#455) @grlee77 -
The performance of the existing Euclidean distance transform function,
cucim.core.morphology.distance_transform_edt
for 2D and 3D images has been substantially improved (2x-4x decrease in run time). (#406) @grlee77 -
Avoid redundant computations when determining central moments. This improves the performance of
cucim.skimage.measure.moments_central
by approximately 2x. This also helps with performance of the corresponding property when used viacucim.skimage.measure.regionprops_table
. (#422) @grlee77 -
The performance of some corner detectors has been improved:
cucim.skimage.feature.corner_foerstner
,cucim.skimage.feature.corner_harris
,cucim.skimage.feature.corner_kitchen_rosenfeld
,cucim.skimage.feature.corner_shi_tomasi
. (#426) @grlee77 -
cucim.skimage.exposure.histogram_matching
now has a faster code path for images with unsigned integer dtype. (#424) @grlee77 -
The function
cucim.skimage.filters.butterworth
has two new, optional keyword arguments:squared_butterworth
andnpad
. Thesquared_butterworth
argument can be set to False to give a version of the filter consistent with the original literature definition. Thenpad
argument can be set to a value > 0 to reduce any boundary artifacts due to periodic boundary conditions imposed by Fourier-domain filtering. (#423) @grlee77 -
The function
cucim.skimage.filters.rank_order
now uses an adjustable integer size for the labels rather than always using 32-bit labels. This reduces memory usage when the number of labels is small enough to be represented by an unsigned 8 or 16-bit integer. (#423) @grlee77 -
The function
cucim.skimage.filters.farid
has been extended from 2D only to a general multidimensional implementation. (#423) @grlee77 -
Performance improvement (by 20-30%) to
cucim.skimage.metrics.structural_similarity
via CUDA kernel fusion. (#423) @grlee77 -
cucim.skimage.morphology.reconstruction
can now operate using 64-bit indices in the case of large images with size exceding 32-bit integer range. (#423) @grlee77 -
cucim.skimage.restoration.wiener
andcucim.skimage.restoration.unsupervised_wiener
have been extended from 2D only to general multidimensional support. (#423) @grlee77 -
cucim.skimage.transform.EuclideanTransform
'srotation
method handles 3D rotations in addition to 2D ones.cucim.skimage.transform.SimilarityTransform
now supports both 3D and 2D data. (#423) @grlee77 -
cucim.skimage.metrics.structural_similarity
can now also accept a device scalar (0-dimensional CuPy array) for thedata_range
argument. (#455) @grlee77
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