-
Notifications
You must be signed in to change notification settings - Fork 70
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
matplotlibdependency has been bumped from 3.0.3 to 3.3. -
cucim.skimage.feature.structure_tensornow defaults toorder='rc'instead oforder='xy'for 2D inputs. The prior warning about the pending changing has been removed. (#423) @grlee77 -
The deprecated
indiceskeyword argument tocucim.skimage.feature.peak_local_maxhas now been removed. (#423) @grlee77 -
The function
cucim.skimage.filter.inversehas been renamed tocucim.skimage.filter.filter_inverse. The former name is now deprected. (#423) @grlee77 -
The previously deprecated
multichannelparameter, present in many functions across the library, has been removed.channel_axismust be used instead. (#451) @grlee77 -
The previously renamed
widthandheightparameters ofcucim.skimage.morphology.rectanglehave been removed. The new names arenrowsandncols. (#451) @grlee77 -
The previously deprecated
in_placeparameter has been removed from bothcucim.skimage.morphology.remove_small_holesandcucim.skimage.morphology.remove_small_objects. Theoutparameter can be used instead to specify an output array. (#451) @grlee77 -
The previously deprecated
inputparameter tocucim.skimage.measure.labelhas been removed. The first argument is now namedlabel_imageinstead (#451) @grlee77 -
The previously deprecated
coordinatesparameter incucim.skimage.measure.regionpropshas been removed. The library convention ofrc(row-column order) is assumed. (#451) @grlee77 -
cucim.skimage.metrics.structural_similaritynow requires explicitly providingdata_rangefor floating-point inputs. (#455) @grlee77
-
Fix behavior of
cucim.skimage.transform.rotatewhen the data has more than two dimensions and the user specifiedresize=True. (#432) @grlee77 -
Update
tiff.pyTIFF file writer for compatibility with recenttifffilereleases. (#433) @JoohyungLee0106, @gigony -
A bug in boundary handling behavior in
cucim.skimage.feature.peak_local_maxwas addressed (internally replication of the border value is now used rather than a constant of zero). (#423) @grlee77 -
cucim.skimage.transform.resizenow 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_matrixhas 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,distanceandindiceskeyword arguments. Thesamplingarguments allows accounting for physical grid spacing in distance computations (e.g. for anisotropic pixel/voxel size). Thedistanceandindicesarguments allow users to pass in pre-allocated output arrays. (#407) @grlee77 -
The
cucim convertcommand line utility now supports using--compression RAWto convert a file without compression. The default is--compression JPEG. (#443) @gigony
-
Faster 2D and 3D pixelwise eigenvalue computations for
hessian_matrix_eigvalsandstructure_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_eigvalsandcucim.skimage.feature.hessian_matrix_detno longer rely on host-side computations for 2D or 3D images. (#434) @grlee77 -
Faster Hessian determinants in
cucim.skimage.feature.hessian_matrix_detvia dedicated 2D and 3D kernels. (#455) @grlee77 -
The performance of the existing Euclidean distance transform function,
cucim.core.morphology.distance_transform_edtfor 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_centralby 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_matchingnow has a faster code path for images with unsigned integer dtype. (#424) @grlee77 -
The function
cucim.skimage.filters.butterworthhas two new, optional keyword arguments:squared_butterworthandnpad. Thesquared_butterworthargument can be set to False to give a version of the filter consistent with the original literature definition. Thenpadargument 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_ordernow 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.faridhas been extended from 2D only to a general multidimensional implementation. (#423) @grlee77 -
Performance improvement (by 20-30%) to
cucim.skimage.metrics.structural_similarityvia CUDA kernel fusion. (#423) @grlee77 -
cucim.skimage.morphology.reconstructioncan now operate using 64-bit indices in the case of large images with size exceding 32-bit integer range. (#423) @grlee77 -
cucim.skimage.restoration.wienerandcucim.skimage.restoration.unsupervised_wienerhave been extended from 2D only to general multidimensional support. (#423) @grlee77 -
cucim.skimage.transform.EuclideanTransform'srotationmethod handles 3D rotations in addition to 2D ones.cucim.skimage.transform.SimilarityTransformnow supports both 3D and 2D data. (#423) @grlee77 -
cucim.skimage.metrics.structural_similaritycan now also accept a device scalar (0-dimensional CuPy array) for thedata_rangeargument. (#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