skimage

Image Processing SciKit (Toolbox for SciPy)

scikit-image (a.k.a. skimage) is a collection of algorithms for image processing and computer vision.

The main package of skimage only provides a few utilities for converting between image data types; for most features, you need to import one of the following subpackages:

Subpackages

color

Color space conversion.

data

Test images and example data.

draw

Drawing primitives (lines, text, etc.) that operate on NumPy arrays.

exposure

Image intensity adjustment, e.g., histogram equalization, etc.

feature

Feature detection and extraction, e.g., texture analysis corners, etc.

filters

Sharpening, edge finding, rank filters, thresholding, etc.

graph

Graph-theoretic operations, e.g., shortest paths.

io

Reading, saving, and displaying images and video.

measure

Measurement of image properties, e.g., similarity and contours.

morphology

Morphological operations, e.g., opening or skeletonization.

restoration

Restoration algorithms, e.g., deconvolution algorithms, denoising, etc.

segmentation

Partitioning an image into multiple regions.

transform

Geometric and other transforms, e.g., rotation or the Radon transform.

util

Generic utilities.

viewer

A simple graphical user interface for visualizing results and exploring parameters.

Utility Functions

img_as_float

Convert an image to floating point format, with values in [0, 1]. Is similar to img_as_float64, but will not convert lower-precision floating point arrays to float64.

img_as_float32

Convert an image to single-precision (32-bit) floating point format, with values in [0, 1].

img_as_float64

Convert an image to double-precision (64-bit) floating point format, with values in [0, 1].

img_as_uint

Convert an image to unsigned integer format, with values in [0, 65535].

img_as_int

Convert an image to signed integer format, with values in [-32768, 32767].

img_as_ubyte

Convert an image to unsigned byte format, with values in [0, 255].

img_as_bool

Convert an image to boolean format, with values either True or False.

dtype_limits

Return intensity limits, i.e. (min, max) tuple, of the image’s dtype.

skimage.dtype_limits(image[, clip_negative])

Return intensity limits, i.e.

skimage.ensure_python_version(min_version)

skimage.img_as_bool(image[, force_copy])

Convert an image to boolean format.

skimage.img_as_float(image[, force_copy])

Convert an image to floating point format.

skimage.img_as_float32(image[, force_copy])

Convert an image to single-precision (32-bit) floating point format.

skimage.img_as_float64(image[, force_copy])

Convert an image to double-precision (64-bit) floating point format.

skimage.img_as_int(image[, force_copy])

Convert an image to 16-bit signed integer format.

skimage.img_as_ubyte(image[, force_copy])

Convert an image to 8-bit unsigned integer format.

skimage.img_as_uint(image[, force_copy])

Convert an image to 16-bit unsigned integer format.

skimage.lookfor(what)

Do a keyword search on scikit-image docstrings.

skimage.color

skimage.data

Standard test images.

skimage.draw

skimage.exposure

skimage.external

skimage.filters

skimage.io

Utilities to read and write images in various formats.

skimage.measure

skimage.restoration

Image restoration module.

skimage.transform

skimage.util

dtype_limits

skimage.dtype_limits(image, clip_negative=False)[source]

Return intensity limits, i.e. (min, max) tuple, of the image’s dtype.

Parameters

image : ndarray

Input image.

clip_negative : bool, optional

If True, clip the negative range (i.e. return 0 for min intensity) even if the image dtype allows negative values.

Returns

imin, imax : tuple

Lower and upper intensity limits.

ensure_python_version

skimage.ensure_python_version(min_version)[source]

img_as_bool

skimage.img_as_bool(image, force_copy=False)[source]

Convert an image to boolean format.

Parameters

image : ndarray

Input image.

force_copy : bool, optional

Force a copy of the data, irrespective of its current dtype.

Returns

out : ndarray of bool (bool_)

Output image.

Notes

The upper half of the input dtype’s positive range is True, and the lower half is False. All negative values (if present) are False.

img_as_float

skimage.img_as_float(image, force_copy=False)[source]

Convert an image to floating point format.

This function is similar to img_as_float64, but will not convert lower-precision floating point arrays to float64.

Parameters

image : ndarray

Input image.

force_copy : bool, optional

Force a copy of the data, irrespective of its current dtype.

Returns

out : ndarray of float

Output image.

Notes

The range of a floating point image is [0.0, 1.0] or [-1.0, 1.0] when converting from unsigned or signed datatypes, respectively. If the input image has a float type, intensity values are not modified and can be outside the ranges [0.0, 1.0] or [-1.0, 1.0].

img_as_float32

skimage.img_as_float32(image, force_copy=False)[source]

Convert an image to single-precision (32-bit) floating point format.

Parameters

image : ndarray

Input image.

force_copy : bool, optional

Force a copy of the data, irrespective of its current dtype.

Returns

out : ndarray of float32

Output image.

Notes

The range of a floating point image is [0.0, 1.0] or [-1.0, 1.0] when converting from unsigned or signed datatypes, respectively. If the input image has a float type, intensity values are not modified and can be outside the ranges [0.0, 1.0] or [-1.0, 1.0].

img_as_float64

skimage.img_as_float64(image, force_copy=False)[source]

Convert an image to double-precision (64-bit) floating point format.

Parameters

image : ndarray

Input image.

force_copy : bool, optional

Force a copy of the data, irrespective of its current dtype.

Returns

out : ndarray of float64

Output image.

Notes

The range of a floating point image is [0.0, 1.0] or [-1.0, 1.0] when converting from unsigned or signed datatypes, respectively. If the input image has a float type, intensity values are not modified and can be outside the ranges [0.0, 1.0] or [-1.0, 1.0].

img_as_int

skimage.img_as_int(image, force_copy=False)[source]

Convert an image to 16-bit signed integer format.

Parameters

image : ndarray

Input image.

force_copy : bool, optional

Force a copy of the data, irrespective of its current dtype.

Returns

out : ndarray of uint16

Output image.

Notes

The values are scaled between -32768 and 32767. If the input data-type is positive-only (e.g., uint8), then the output image will still only have positive values.

img_as_ubyte

skimage.img_as_ubyte(image, force_copy=False)[source]

Convert an image to 8-bit unsigned integer format.

Parameters

image : ndarray

Input image.

force_copy : bool, optional

Force a copy of the data, irrespective of its current dtype.

Returns

out : ndarray of ubyte (uint8)

Output image.

Notes

Negative input values will be clipped. Positive values are scaled between 0 and 255.

img_as_uint

skimage.img_as_uint(image, force_copy=False)[source]

Convert an image to 16-bit unsigned integer format.

Parameters

image : ndarray

Input image.

force_copy : bool, optional

Force a copy of the data, irrespective of its current dtype.

Returns

out : ndarray of uint16

Output image.

Notes

Negative input values will be clipped. Positive values are scaled between 0 and 65535.

lookfor

skimage.lookfor(what)[source]

Do a keyword search on scikit-image docstrings.

Parameters

what : str

Words to look for.

Examples

>>> import skimage
>>> skimage.lookfor('regular_grid')
Search results for 'regular_grid'
---------------------------------
skimage.lookfor
    Do a keyword search on scikit-image docstrings.
skimage.util.regular_grid
    Find `n_points` regularly spaced along `ar_shape`.