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.
filter
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.
novice
Simplified interface for teaching purposes.
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].
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].
skimage.dtype_limits(image[, clip_negative]) Return intensity limits, i.e.
skimage.img_as_bool(image[, force_copy]) Convert an image to boolean format.
skimage.img_as_float(image[, force_copy]) Convert an image to double-precision 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.test([doctest, verbose]) Run all unit tests.

dtype_limits

skimage.dtype_limits(image, clip_negative=True)

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

Parameters:

image : ndarray

Input image.

clip_negative : bool

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

img_as_bool

skimage.img_as_bool(image, force_copy=False)

Convert an image to boolean format.

Parameters:

image : ndarray

Input image.

force_copy : bool

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)

Convert an image to double-precision floating point format.

Parameters:

image : ndarray

Input image.

force_copy : bool

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.

img_as_int

skimage.img_as_int(image, force_copy=False)

Convert an image to 16-bit signed integer format.

Parameters:

image : ndarray

Input image.

force_copy : bool

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

Returns:

out : ndarray of uint16

Output image.

Notes

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)

Convert an image to 8-bit unsigned integer format.

Parameters:

image : ndarray

Input image.

force_copy : bool

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

Returns:

out : ndarray of ubyte (uint8)

Output image.

Notes

If the input data-type is positive-only (e.g., uint16), then the output image will still only have positive values.

img_as_uint

skimage.img_as_uint(image, force_copy=False)

Convert an image to 16-bit unsigned integer format.

Parameters:

image : ndarray

Input image.

force_copy : bool

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

Returns:

out : ndarray of uint16

Output image.

Notes

Negative input values will be shifted to the positive domain.

test

skimage.test(doctest=False, verbose=False)

Run all unit tests.