io
¶Utilities to read and write images in various formats.
The following plug-ins are available:
Plugin | Description |
imageio | Image reading via the ImageIO Library |
qt | Fast image display using the Qt library |
freeimage | Load images using the FreeImage library |
gtk | Fast image display using the GTK library |
matplotlib | Display or save images using Matplotlib |
simpleitk | Image reading and writing via SimpleITK |
fits | FITS image reading via PyFITS |
pil | Image reading via the Python Imaging Library |
imread | Image reading and writing via imread |
tifffile | Load and save TIFF and TIFF-based images using tifffile.py |
gdal | Image reading via the GDAL Library (www.gdal.org) |
skimage.io.call_plugin (kind, *args, **kwargs) |
Find the appropriate plugin of ‘kind’ and execute it. |
skimage.io.concatenate_images (ic) |
Concatenate all images in the image collection into an array. |
skimage.io.find_available_plugins ([loaded]) |
List available plugins. |
skimage.io.imread (fname[, as_grey, plugin, ...]) |
Load an image from file. |
skimage.io.imread_collection (load_pattern[, ...]) |
Load a collection of images. |
skimage.io.imread_collection_wrapper (imread) |
|
skimage.io.imsave (fname, arr[, plugin]) |
Save an image to file. |
skimage.io.imshow (arr[, plugin]) |
Display an image. |
skimage.io.imshow_collection (ic[, plugin]) |
Display a collection of images. |
skimage.io.load_sift (f) |
Read SIFT or SURF features from a file. |
skimage.io.load_surf (f) |
Read SIFT or SURF features from a file. |
skimage.io.plugin_info (plugin) |
Return plugin meta-data. |
skimage.io.plugin_order () |
Return the currently preferred plugin order. |
skimage.io.pop () |
Pop an image from the shared image stack. |
skimage.io.push (img) |
Push an image onto the shared image stack. |
skimage.io.reset_plugins () |
|
skimage.io.show () |
Display pending images. |
skimage.io.use_plugin (name[, kind]) |
Set the default plugin for a specified operation. |
skimage.io.ImageCollection (load_pattern[, ...]) |
Load and manage a collection of image files. |
skimage.io.MultiImage (filename[, ...]) |
A class containing a single multi-frame image. |
skimage.io.
call_plugin
(kind, *args, **kwargs)[source]¶Find the appropriate plugin of ‘kind’ and execute it.
Parameters: | kind : {‘imshow’, ‘imsave’, ‘imread’, ‘imread_collection’}
plugin : str, optional
*args, **kwargs : arguments and keyword arguments
|
---|
skimage.io.
concatenate_images
(ic)[source]¶Concatenate all images in the image collection into an array.
Parameters: | ic: an iterable of images (including ImageCollection and MultiImage)
|
---|---|
Returns: | ar : np.ndarray
|
Raises: | ValueError
|
See also
ImageCollection.concatenate
, MultiImage.concatenate
skimage.io.
imread
(fname, as_grey=False, plugin=None, flatten=None, **plugin_args)[source]¶Load an image from file.
Parameters: | fname : string
as_grey : bool
plugin : str
|
---|---|
Returns: | img_array : ndarray
|
Other Parameters: | |
plugin_args : keywords
|
skimage.io.
imread_collection
(load_pattern, conserve_memory=True, plugin=None, **plugin_args)[source]¶Load a collection of images.
Parameters: | load_pattern : str or list
conserve_memory : bool, optional
|
---|---|
Returns: | ic : ImageCollection
|
Other Parameters: | |
plugin_args : keywords
|
skimage.io.
imsave
(fname, arr, plugin=None, **plugin_args)[source]¶Save an image to file.
Parameters: | fname : str
arr : ndarray of shape (M,N) or (M,N,3) or (M,N,4)
plugin : str
|
---|---|
Other Parameters: | |
plugin_args : keywords
|
skimage.io.
imshow
(arr, plugin=None, **plugin_args)[source]¶Display an image.
Parameters: | arr : ndarray or str
plugin : str
|
---|---|
Other Parameters: | |
plugin_args : keywords
|
skimage.io.
imshow_collection
(ic, plugin=None, **plugin_args)[source]¶Display a collection of images.
Parameters: | ic : ImageCollection
plugin : str
|
---|---|
Other Parameters: | |
plugin_args : keywords
|
skimage.io.
load_sift
(f)[source]¶Read SIFT or SURF features from a file.
Parameters: | f : string or open file
|
---|---|
Returns: | data : record array with fields
|
skimage.io.
load_surf
(f)[source]¶Read SIFT or SURF features from a file.
Parameters: | f : string or open file
|
---|---|
Returns: | data : record array with fields
|
skimage.io.
show
()[source]¶Display pending images.
Launch the event loop of the current gui plugin, and display all pending images, queued via imshow. This is required when using imshow from non-interactive scripts.
A call to show will block execution of code until all windows have been closed.
Examples
>>> import skimage.io as io
>>> for i in range(4):
... ax_im = io.imshow(np.random.rand(50, 50))
>>> io.show()
skimage.io.
use_plugin
(name, kind=None)[source]¶Set the default plugin for a specified operation. The plugin will be loaded if it hasn’t been already.
Parameters: | name : str
kind : {‘imsave’, ‘imread’, ‘imshow’, ‘imread_collection’, ‘imshow_collection’}, optional
|
---|
See also
available_plugins
Examples
To use Matplotlib as the default image reader, you would write:
>>> from skimage import io
>>> io.use_plugin('matplotlib', 'imread')
To see a list of available plugins run io.available_plugins
. Note that
this lists plugins that are defined, but the full list may not be usable
if your system does not have the required libraries installed.
ImageCollection
¶skimage.io.
ImageCollection
(load_pattern, conserve_memory=True, load_func=None, **load_func_kwargs)[source]¶Bases: object
Load and manage a collection of image files.
Note that files are always stored in alphabetical order. Also note that slicing returns a new ImageCollection, not a view into the data.
Parameters: | load_pattern : str or list
conserve_memory : bool, optional
|
---|---|
Other Parameters: | |
load_func : callable
|
Notes
ImageCollection can be modified to load images from an arbitrary
source by specifying a combination of load_pattern and
load_func. For an ImageCollection ic
, ic[5]
uses
load_func(file_pattern[5])
to load the image.
Imagine, for example, an ImageCollection that loads every tenth frame from a video file:
class AVILoader:
video_file = 'myvideo.avi'
def __call__(self, frame):
return video_read(self.video_file, frame)
avi_load = AVILoader()
frames = range(0, 1000, 10) # 0, 10, 20, ...
ic = ImageCollection(frames, load_func=avi_load)
x = ic[5] # calls avi_load(frames[5]) or equivalently avi_load(50)
Another use of load_func
would be to convert all images to uint8
:
def imread_convert(f):
return imread(f).astype(np.uint8)
ic = ImageCollection('/tmp/*.png', load_func=imread_convert)
For files with multiple images, the images will be flattened into a list
and added to the list of available images. In this case, load_func
should accept the keyword argument img_num
.
Examples
>>> import skimage.io as io
>>> from skimage import data_dir
>>> coll = io.ImageCollection(data_dir + '/chess*.png')
>>> len(coll)
2
>>> coll[0].shape
(200, 200)
>>> ic = io.ImageCollection('/tmp/work/*.png:/tmp/other/*.jpg')
Attributes
files | (list of str) If a glob string is given for load_pattern, this attribute stores the expanded file list. Otherwise, this is simply equal to load_pattern. |
__init__
(load_pattern, conserve_memory=True, load_func=None, **load_func_kwargs)[source]¶Load and manage a collection of images.
concatenate
()[source]¶Concatenate all images in the collection into an array.
Returns: | ar : np.ndarray
|
---|---|
Raises: | ValueError
|
See also
conserve_memory
¶files
¶MultiImage
¶skimage.io.
MultiImage
(filename, conserve_memory=True, dtype=None, **imread_kwargs)[source]¶Bases: skimage.io.collection.ImageCollection
A class containing a single multi-frame image.
Parameters: | filename : str
conserve_memory : bool, optional
|
---|
Notes
If conserve_memory=True
the memory footprint can be reduced, however
the performance can be affected because frames have to be read from file
more often.
The last accessed frame is cached, all other frames will have to be read from file.
The current implementation makes use of tifffile
for Tiff files and
PIL otherwise.
Examples
>>> from skimage import data_dir
>>> img = MultiImage(data_dir + '/multipage.tif')
>>> len(img)
2
>>> for frame in img:
... print(frame.shape)
(15, 10)
(15, 10)
filename
¶