# What changed in scikit-image

> 50 changes in scikit-image 0.26 from its official release notes, upgrade guides and advisories: 2 breaking, 24 deprecations, 10 new APIs and options. Each one cited. Sources checked 2026-10-24. HTML: https://unstale.sh/pypi/scikit-image/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## scikit-image 0.26

### Breaking changes

- Python 3.10 support is dropped. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)
- Transform constructor input parameters are now keyword-only, except matrix, avoiding confusion from positional parameter ordering. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)

### Deprecations

- Deprecated in favor of closing; the binary version was not significantly faster and could be slower. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)
- Deprecated in favor of dilation; the binary version was not significantly faster and could be slower. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)
- Deprecated in favor of erosion; the binary version was not significantly faster and could be slower. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)
- Deprecated in favor of opening; the binary version was not significantly faster and could be slower. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)
- Deprecates constructing an uninitialized instance with no arguments; provide input arguments to define the instance. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)
- Deprecates params in favor of model-specific attributes center and radius. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)
- Deprecates params arguments to predict calls; initialize the model with equivalent values instead. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)
- Deprecates constructing an uninitialized instance with no arguments; provide input arguments to define the instance. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)
- Deprecates params in favor of model-specific attributes center, ax_lens, and theta. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)
- Deprecates params arguments to predict calls; initialize the model with equivalent values instead. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)
- The estimate method is deprecated in favor of from_estimate, avoiding initialization with undefined model parameters. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)
- Deprecates constructing an uninitialized instance with no arguments; provide input arguments to define the instance. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)
- Deprecates params in favor of model-specific attributes origin and direction. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)
- Deprecates params arguments to predict calls; initialize the model with equivalent values instead. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)
- Deprecates area_threshold in favor of max_size, whose threshold removes holes smaller than or equal to its value. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)
- Adds max_size as the clearer threshold parameter; it removes holes smaller than or equal to its value, unlike the deprecated area_threshold behavior. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)
- Adds max_size as the clearer threshold parameter; it removes objects smaller than or equal to its value, unlike the deprecated min_size behavior. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)
- Deprecates min_size in favor of max_size, whose threshold removes objects smaller than or equal to its value. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)
- Deprecates max_cost, which previously did nothing; use max_step_cost instead. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)
- Deprecates max_cumulative_cost, which did nothing. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)
- Deprecates BaseModel because it has no work to do after the other model deprecations expire. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)
- Deprecates num_workers; use workers instead. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)
- Deprecates num_threads; use workers instead. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)
- Deprecates scalar scale with dimensionality=3 in geometric transform constructors; specify dimensionality in parameters unless constructing an identity transform. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)

### New APIs and options

- Adds a mode parameter for the Gaussian filter, including periodic boundary conditions with mode="wrap". (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)
- Adds a class method and constructor that replaces the deprecated estimate API, which required initializing a model with undefined parameters. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)
- Adds a class method and constructor that replaces the deprecated estimate API, which required initializing a model with undefined parameters. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)
- Adds experimental infrastructure for dispatching to a backend. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)
- Adds a class method and constructor that replaces the deprecated estimate API, which required initializing a model with undefined parameters. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)
- Adds a formatted string representation that includes the region label and bounding box. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)
- Adds max_step_cost to limit the maximal stepping cost between points. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)
- Adds the intensity_median property. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)
- Adds from_estimate class methods and constructors to geometric transform classes, replacing the deprecated estimate API. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)
- Adds an identity class constructor to all geometric transforms, allowing construction of identity transforms without specifying parameters. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)

### Performance

- Uses greedy einsum optimization. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)
- Adds lazy loading. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)

### Fixes and other changes

- Handles negative axis lengths caused by numerical errors in regionprops. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)
- Handles negative axis lengths caused by numerical errors in regionprops. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)
- Raises ValueError instead of TypeError when params is not passed or is None to predict methods of an uninitialized model. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)
- Raises ValueError instead of TypeError when params is not passed or is None to predict methods of an uninitialized model. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)
- Raises ValueError instead of TypeError when params is not passed or is None to predict methods of an uninitialized model. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)
- With mode="constant", cval now has an effect. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)
- With mode="constant", cval now has an effect. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)
- With mode="constant", cval now has an effect. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)
- With mode="constant", cval now has an effect. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)
- Ensures deterministic results when seeded with rng and SciPy 1.17.0.dev0 or newer is installed. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)
- Avoids potential integer overflow. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)
- Handles the clip argument consistently across noise modes. (0.26.0) — [release notes](https://github.com/scikit-image/scikit-image/releases/tag/v0.26.0)
