From b67a4e3076b6481f0f24349cabde375562977977 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Tue, 14 Jul 2015 06:45:31 -0500 Subject: [PATCH] Move the tifffile wrapper to tiff plugin --- skimage/io/_plugins/pil_plugin.py | 6 ++---- skimage/io/_plugins/tifffile_plugin.py | 29 +++++++++++++++++++++++++- 2 files changed, 30 insertions(+), 5 deletions(-) diff --git a/skimage/io/_plugins/pil_plugin.py b/skimage/io/_plugins/pil_plugin.py index bdffc0fd..b806bd72 100644 --- a/skimage/io/_plugins/pil_plugin.py +++ b/skimage/io/_plugins/pil_plugin.py @@ -5,7 +5,7 @@ from six import string_types from PIL import Image from ...util import img_as_ubyte, img_as_uint -from ...external.tifffile import TiffFile, imsave as tif_imsave +from .tifffile import imread as tif_imread, imsave as tif_imsave def imread(fname, dtype=None, img_num=None, **kwargs): @@ -41,9 +41,7 @@ def imread(fname, dtype=None, img_num=None, **kwargs): if hasattr(fname, 'lower') and dtype is None: kwargs.setdefault('key', img_num) if fname.lower().endswith(('.tiff', '.tif')): - with open(fname, 'rb') as f: - tif = TiffFile(f) - return tif.asarray(**kwargs) + return tif_imread(fname, **kwargs) if isinstance(fname, string_types): with open(fname, 'rb') as f: diff --git a/skimage/io/_plugins/tifffile_plugin.py b/skimage/io/_plugins/tifffile_plugin.py index a3a766f1..3ae90449 100644 --- a/skimage/io/_plugins/tifffile_plugin.py +++ b/skimage/io/_plugins/tifffile_plugin.py @@ -1 +1,28 @@ -from ...external.tifffile import imread, imsave +from ...external.tifffile import TiffFile, imsave + + +def imread(fname, dtype=None, **kwargs): + """Load a tiff image from file. + + Parameters + ---------- + fname : str or file + File name or file-like-object. + dtype : numpy dtype object or string specifier + Specifies data type of array elements (Not currently used). + kwargs : keyword pairs, optional + Addition keyword arguments to pass through (see `tifffile`'s `imread` function). + + Notes + ----- + Provided by Christophe Golhke's tifffile.py [1]_, and supports many + advanced image types including multi-page and floating point. + + References + ---------- + .. [1] http://www.lfd.uci.edu/~gohlke/code/tifffile.py + + """ + with open(fname, 'rb') as f: + tif = TiffFile(f) + return tif.asarray(**kwargs)