Update dependency scikit-image to v0.26.0 #205
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
==0.17.2→==0.26.0Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
scikit-image/scikit-image (scikit-image)
v0.26.0Compare Source
scikit-image 0.26.0
We're happy to announce the release of scikit-image 0.26.0!
New Features
max_step_costtoskimage.graph.MCP.find_costswhich allows limiting the maximal stepping cost between points (#7625).skimage.transform, add theidentityclass constructor to all geometric transforms. For example, you can now useskimage.transform.PolynomialTransform(dimensionality=2)(#7754).intensity_mediantoskimage.measure.regionprops(#7745).binary_blobsnow supports amodeparameter for the Gaussian filter, allowing periodic boundary conditions withmode="wrap"(#7909).API Changes
skimage.morphology, deprecatebinary_erosion,binary_dilation,binary_opening, andbinary_closingin favor oferosion,dilation,opening, andclosingrespectively. The binary versions weren't actually significantly faster than their non-binary counterparts and sometimes significantly slower. In the future, we might add optimizations internally to the remaining (general, non-binary) functions for when they're used with binary inputs (#7665).max_costinskimage.graph.MCP.find_costswhich previously did nothing. Use the new parametermax_step_costinstead (#7625).max_cumulative_costinskimage.graph.MCP.find_costswhich did nothing (#7625).skimage.morphology.remove_small_objects, deprecate themin_sizeparameter in favor of the newmax_sizeparameter to make API and behavior clearer. This new threshold removes objects smaller than or equal to its value, while the previous parameter only removed smaller ones (#7739).skimage.morphology.remove_small_holes, deprecate thearea_thresholdparameter in favor of the newmax_sizeparameter to make API and behavior clearer. This new threshold removes holes smaller than or equal to its value, while the previous parameter only removed smaller ones (#7739).skimage.transform, deprecate the use of scalarscale, withdimensionality=3where this can be passed to a geometric transform contructor. This allows us to generalize the use of the constructors to the case where the parameters must specify the dimensionality, unless you mean to construct an identity transform (#7754).skimage.transform, turn all input parameters to transform constructors keyword-only (other thanmatrix). This avoids confusion due to the positional parameter order being different from the order by which they are applied inAffineTransform(#7754).num_threadsinskimage.restoration.rolling_ball; useworkersinstead (#7302).num_workersinskimage.restoration.cycle_spin; useworkersinstead (#7302).skimage.measure.regionpropsand related functions. While we removed the documentation for these some time ago, they where still accessible as keys (via__get_item__) or attributes. Going forward, using deprecated keys or attributes, will emit an appropriate warning (#7778).skimage.measure, add a new class method and constructorfrom_estimateforLineModelND,CircleModel, andEllipseModel. This replaces the old API—the now deprecatedestimatemethod—which required initalizing a model with undefined parameters before callingestimate(#7771).skimage.transform, add a new class method and constructorfrom_estimateforAffineTransform,EssentialMatrixTransform,EuclideanTransform,FundamentalMatrixTransform,PiecewiseAffineTransform,PolynomialTransform,ProjectiveTransform,SimilarityTransform, andThinPlateSplineTransform. This replaces the old API—the now deprecatedestimatemethod—which required initializing an undefined transform before callingestimate(#7771).skimage.measure.fit.BaseModel; after we expire the other*Model*deprecations, there is no work for an ancestor class to do (#7789).skimage.measure, deprecate.paramsattributes of the modelsCircleModel,EllipseModel, andLineModelND. Instead set model-specific attributes:origin, directionforLineModelND;center, radiusforCircleModel,center, ax_lens, thetaforEllipseModel(#7789).skimage.measure, deprecate use of model constructor calls without arguments leaving an uninitialized instance (for exampleCircleModel()). This applies toCircleModel,EllipseModel, andLineModelND. Instead prefer input arguments to define instances (for exampleCircleModel(center, radius)). This follows on from prior deprecation of theestimatemethod, which had implied the need for the no-argument constructor, of formcm = CircleMoldel(); cm.estimate(data)(#7789).skimage.measure, deprecate use ofparamsarguments topredict*calls of model objects. This applies toCircleModel,EllipseModel, andLineModelND. We now ask instead that the user provide initialization equivalent to theparamscontent in the class construction. For example, prefercm = CircleModel((2, 3), 4); x = cm.predict_x(t)tocm = CircleMoldel(); x = cm.predict_x(t, params=(2, 3, 4))) (#7789).Enhancements
ValueErrorinstead of aTypeErrorinCircleModel,EllipseModel, andLineModelNDinskimage.measure. This applies when failing to pass a value forparams(or passingparams=None) topredictmethods of an uninitialized transform (#7789).skimage.measure, theRegionPropertiesclass that is returned byregionprops, now has a formatted string representation (__repr__). This representation includes the label of the region and its bounding box (#7887).Performance
skimage.measure.moments_central(#7947).Bug Fixes
skimage.filters.sobel/scharr/prewitt/farid, whenmode="constant"is used ensure thatcvalhas an effect. It didn't previously (#7826).skimage.graph.cut_normalizedis deterministic when seeded with therngparameter and when SciPy 1.17.0.dev0 or newer is installed. With earlier SciPy versions the internally used functionscipy.linalg.eigshis not deterministic and can lead to different results (#7912).skimage.morphology.reconstruction(#7938).axis_major_lengthandaxis_minor_lengthproperties ofskimage.measure.regionprops(#7916).skimage.util.random_noise, ensure thatclipargument is handled consistently for various modes (#7924).Documentation
import skimage as skiin the docstrings ofski.measure.euler_number,ski.measure.perimeterandski.measure.perimeter_crofton(#7741).skimage.metrics.normalized_mutual_information(#7750).skimage.measure.ransacin the gallery example "Assemble images with simple image stitching" deterministic. This avoids random non-deterministic failures (#7851).skimage.feature, clarify the description of the parameternum_sigmainblob_logandblob_doh(#7774).Infrastructure
pyodide-build==0.30.0, and ensure that the correct xbuildenvs are used (#7788).cibuildwheelto build WASM/Pyodide wheels forscikit-image, push nightlies to Anaconda.org (#7440).pyproject.tomlconfiguration (#7877).Maintenance
legacy_datasets,legacy_registryvars (#7677).maskargument in_generic_edge_filter(#7827).skimage.transform.FundamentalMatrixTransform, refactor scaling calculation to make algorithm clearer, and allow original Hartley algorithm if preferred (#7767)._built_utils/version.py(#7904).test_rag.py::test_reproducibilityas flaky for current versions of SciPy (< 1.17.0.dev0) (#7912).divmodinmontageindex computation (#7914).test_wrap_aroundas xfail on macOS until 2026-02-01 (#7985).Contributors
39 authors added to this release (alphabetically):
25 reviewers added to this release (alphabetically):
These lists are automatically generated, and may not be complete or may contain duplicates.
v0.25.2Compare Source
scikit-image 0.25.2
We're happy to announce the release of scikit-image 0.25.2!
Bug Fixes
skimage.graph.cut_normalizedgracefully (#7675).skimage.feature.BRIEF, copykeypointsif necessary to preserve contiguity (#7692).skimage.segmentation.watershedthat unintentionally changed the algorithm's behavior for markers placed at maxima in the image. We decided that the behavior originally reported as a bug (gh-6632), is not actually one (#7702).Documentation
skimage.restoration.rolling_ball(#7682).Infrastructure
Maintenance
Contributors
6 authors added to this release (alphabetically):
8 reviewers added to this release (alphabetically):
These lists are automatically generated, and may not be complete or may contain duplicates.
v0.25.1Compare Source
scikit-image 0.25.1
We're happy to announce the release of scikit-image 0.25.1!
Bug Fixes
centroidin__all__of the PYI file inskimage.measure(#7652).blur_effect(#7643).skimage.measure.EllipseModelwill now warn and returnFalse(no fit) when fewer than 5 data points are provided (#7648).datawith dtypefloat16tofloat32inskimage.segmentation.random_walker; this fixes passingfloat16on NumPy 1.26 (#7655).Documentation
QuadContourSet.collectionsin gallery example (#7638).Infrastructure
Maintenance
skimage.segmentation.active_contour, change the type of the default argument forw_lineto indicate it is a float (#7645).Contributors
8 authors added to this release (alphabetically):
8 reviewers added to this release (alphabetically):
These lists are automatically generated, and may not be complete or may contain duplicates.
v0.25.0Compare Source
scikit-image 0.25.0
We're happy to announce the release of scikit-image 0.25.0!
New Features
skimage.feature.texture.graycoprops(#7375).skimage.morphology.footprint_rectanglesupporting generation of rectangular or hyper-rectangular footprints in one function (#7566).API Changes
skimage.feature.plot_matches. Useskimage.feature.plot_matched_featuresgoing forward (#7487).skimage.io.imshow,skimage.io.imshow_collectionandskimage.io.show. Please usematplotlib,napari, etc. to visualize images (#7508).skimage.morphology.skeletonize_3d; useskimage.morphology.skeletonizeinstead (#7572).skimage.ioplugin infrastructure (#7353).scipy.sparsearray interface. For more details, see the note about the newscipy.sparsearray interface here (#7576).skimage.morphology.rectanglein favor of the new functionskimage.morphology.footprint_rectangle(#7566).skimage.morphology.squarein favor of the new functionskimage.morphology.footprint_rectangle(#7566).skimage.morphology.cubein favor of the new functionskimage.morphology.footprint_rectangle(#7566).Enhancements
skimage.morphology.local_minimafor extremely small floats (#7534).skimage.feature.plot_matched_featuresuses the same random colors, ifmatches_colorisn't provided explicitly (#7541).matches_colorinskimage.feature.plot_matched_features(#7541).Performance
skimage.feature.peak_local_maxwill now skip unnecessary distance computations in the case ofmin_distance=1. This results in performance improvements to functions likeskimage.feature.blob_dog,skimage.feature.blob_log,skimage.feature.blob_dohandskimage.feature.corner_peaksthat callpeak_local_maxinternally (#7548).skimage.featurepeak_local_max, skip unnecessary check for cases wheremin_distance > 1is passed (#7548).Bug Fixes
skimage.morphology.remove_objects_by_distancedoesn't fail if the given integer dtype cannot be safely cast to the architecture specific size ofintp, e.g. on i386 architectures (#7453).skimage.draw.ellipsoid_statswhen all semi-axes have the same length (#7473).skimage.morphology.thinfrom accidentally modifying the input image in case it is of dtype uint8 (#7469).skimage.measure.ransac. In some cases,ransacwas stopping at the first iteration (#7065).skimage.measure.ransac; very small probabilities lead to -0 number of max trials (#7496).RegionPropertiesobjects returned byskimage.measure.regionpropscan be deserialized with pickle (#7569).watershed_lines=Trueinskimage.segmentation.watershedresulted in an incorrect solution (#7071).skimage.segmentation.watershedwhen the markers don't align with local minima by making sure every marker is evaluated before successive pixels (#7071).skimage.segmentation.join_segmentationsifnumpy.uintis used with NumPy<2 (#7292).Documentation
skimage.morphology.skeletonize, clarify the expected image dtypes and how objects of different intensities are handled (#7456).skimage.feature.graycomatrix(#7297).CITATION.cffinstead ofCITATION.bib(#7505).spin test --coveragein contribution guide (#7515).imageparameter inskimage.restoration.richardson_lucy(#7477).radiusinskimage.morphology.ballfrominttofloat(#7627).Infrastructure
currentmoduledirective again (#7492).type:label is present in PRs (#7512).s_cmpunresolved symbol error, update Emscripten CI testing (#7525).Maintenance
spin sdist(#7438).Rotation.from_eulerto compute 3D rotation matrix (#7503).lazy_loaderas private symbol in top-level namespaces (#7540).io.showandio.imshow(#7556).assert_stacklevel(#7558).changelistto v0.5 (#7601).intersphinx_registrypackage inconf.pyto keep intersphinx urls up to date. This means that building docs now requires theintersphinx-registrypackage (#7611).square,cube&rectangle(#7624).skimagetop module (#6892).Contributors
30 authors added to this release (alphabetically):
25 reviewers added to this release (alphabetically):
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.