external.tifffile

Module: external.tifffile

skimage.external.tifffile.imread(files, **kwargs)Return image data from TIFF file(s) as numpy array.
skimage.external.tifffile.imsave(file, data, …)Write image data to TIFF file.
skimage.external.tifffile.imshow(data, …)Plot n-dimensional images using matplotlib.pyplot.
skimage.external.tifffile.TiffFile(arg, …)Read image and metadata from TIFF, STK, LSM, and FluoView files.
skimage.external.tifffile.TiffSequence(files)Sequence of image files.
skimage.external.tifffile.TiffWriter(file, …)Write image data to TIFF file.
skimage.external.tifffile.tifffileRead image and meta data from (bio)TIFF files.

imread

skimage.external.tifffile.imread(files, **kwargs)[source]

将来自TIFF文件的图像数据作为numpy数组返回。

有关文档,请参阅TiffFile类和成员函数。

参数:文件:str,二进制流或序列文件名,可搜索的二进制流,全局模式或文件名序列。kwargs:dict将参数'multifile','multifile_close','页面','fastij'和'is_ome'传递给TiffFile类。'pattern'参数被传递给TiffSequence类。其他参数传递给asarray函数。如果没有提供参数,则返回第一个图像系列。

例子

>>> imsave('temp.tif', numpy.random.rand(3, 4, 301, 219)) >>> im = imread('temp.tif', key=0) >>> im.shape (4, 301, 219) >>> ims = imread(['temp.tif', 'temp.tif']) >>> ims.shape (2, 3, 4, 301, 219)

imsave

skimage.external.tifffile.imsave(file, data, **kwargs)[source]

将图像数据写入TIFF文件。

有关文档,请参阅TiffWriter类和成员函数。

参数:文件:str或二进制流文件名或可写入的二进制流,如打开的文件或BytesIO。数据:array_like输入图像。最后一个尺寸被假定为图像深度,高度,宽度和样本。kwargs:dict将参数'append','byteorder','bigtiff','software'和'imagej'传递给TiffWriter类。将参数'photometric','planarconfig','resolution','compress','colormap','tile','description','datetime','metadata','contiguous'和'extratags'传递给TiffWriter。保存功能。

例子

>>> data = numpy.random.rand(2, 5, 3, 301, 219) >>> imsave('temp.tif', data, compress=6, metadata={'axes': 'TZCYX'})

imshow

skimage.external.tifffile.imshow(data, title=None, vmin=0, vmax=None, cmap=None, bitspersample=None, photometric='rgb', interpolation=None, dpi=96, figure=None, subplot=111, maxdim=8192, **kwargs)[source]

使用matplotlib.pyplot绘制n维图像。

返回图形,子图和绘图轴。需要pyplot已经导入from matplotlib import pyplot

参数:bitspersample:int或None整数RGB图像中每个通道的位数。photometric:{'miniswhite','minisblack','rgb'或'palette'}图像数据的色彩空间。标题:str窗口和子图标题。figure:matplotlib.figure.Figure(可选)。Matplotlib用于绘图。subplot:int一个matplotlib.pyplot.subplot轴。maxdim:int最大图像宽度和长度。kwargs:matplotlib.pyplot.imshow的可选参数。

TiffFile

class skimage.external.tifffile.TiffFile(arg, name=None, offset=None, size=None, multifile=True, multifile_close=True, pages=None, fastij=True, is_ome=None)[source]

基础: object

从TIFF,STK,LSM和FluoView文件中读取图像和元数据。

TiffFile实例必须使用'close'方法来关闭,在使用'with'上下文管理器时会自动调用它。

示例

>>> with TiffFile('temp.tif') as tif: ... data = tif.asarray() ... data.shape (5, 301, 219)

属性

网页(TiffPage的列表)文件中的所有TIFF页面。
系列(TiffPageSeries列表)具有兼容形状和类型的TIFF页面。
micromanager_metadata:字典文件中额外的MicroManager非TIFF元数据(如果存在)。
所有属性都是只读的。

__init__(arg, name=None, offset=None, size=None, multifile=True, multifile_close=True, pages=None, fastij=True, is_ome=None)[source]

从文件初始化实例。

参数:arg:str或打开文件文件名或打开的文件对象。文件对象在TiffFile.close()中关闭。name:str在'arg'是文件句柄的情况下文件的可选名称。偏移量:int嵌入式文件的可选起始位置。默认情况下,这是当前文件位置。size:int嵌入文件的可选大小。默认情况下,这是从“偏移量”到文件末尾的字节数。multifile:bool如果为True(默认),系列可能包含来自多个文件的页面。目前仅适用于OME-TIFF。multifile_close:bool如果为True(默认),则保持多文件系列中其他文件的句柄关闭。当很少的文件引用多个页面时,这是低效的。如果为False,那么C运行时可能会耗尽资源。pages:要读取的页面的int索引序列。如果没有(默认)所有页面被读取。可以用于只读取页面数为0的第一页。指定页面可能会使基于元数据的系列无效。fastij:bool如果为True(默认),则尝试仅使用来自ImageJ文件第一页的元数据。显着加速加载数千页的电影。is_ome:bool如果为False,则禁用OME-XML元数据的处理。

asarray(key=None, series=None, memmap=False, tempdir=None)[source]

将来自多个TIFF页面的图像数据作为numpy数组返回。

默认情况下,返回第一个图像系列。

参数:键:int,切片或页面索引序列定义以阵列形式返回哪些页面。series:int或TiffPageSeries定义以数组形式返回哪一系列页面。memmap:bool如果为True,则尽可能返回存储在磁盘二进制文件中的只读数组。如果可能,将使用TIFF文件,否则会创建一个临时文件。tempdir:str将创建内存映射文件的目录。

close()[source]

关闭打开的文件句柄。

filehandle

返回文件句柄。

filename

返回文件句柄的名称。

fstat

延迟对象属性,其值是在首次访问时计算的。

info(series=None, pages=None)[source]

返回包含文件详细信息的字符串。

is_bigtiff

延迟对象属性,其值是在首次访问时计算的。

is_fei

延迟对象属性,其值是在首次访问时计算的。

is_fluoview

延迟对象属性,其值是在首次访问时计算的。

is_imagej

延迟对象属性,其值是在首次访问时计算的。

is_indexed

延迟对象属性,其值是在首次访问时计算的。

is_lsm

延迟对象属性,其值是在首次访问时计算的。

is_mdgel

延迟对象属性,其值是在首次访问时计算的。

is_mediacy

延迟对象属性,其值是在首次访问时计算的。

is_micromanager

延迟对象属性,其值是在首次访问时计算的。

is_nih

延迟对象属性,其值是在首次访问时计算的。

is_ome

延迟对象属性,其值是在首次访问时计算的。

is_rgb

延迟对象属性,其值是在首次访问时计算的。

is_scn

延迟对象属性,其值是在首次访问时计算的。

is_sem

延迟对象属性,其值是在首次访问时计算的。

is_stk

延迟对象属性,其值是在首次访问时计算的。

is_tvips

延迟对象属性,其值是在首次访问时计算的。

is_vista

延迟对象属性,其值是在首次访问时计算的。

series

延迟对象属性,其值是在首次访问时计算的。

TiffSequence

class skimage.external.tifffile.TiffSequence(files, imread=<class 'skimage.external.tifffile.tifffile.TiffFile'>, pattern='axes', *args, **kwargs)[source]

基础: object

图像文件的序列。

所有文件的数据形状和dtype必须匹配。

属性

(列表)文件名称列表。
形状(元组)图像序列的形状。
(str)形状中轴的标签。

__init__(files, imread=<class 'skimage.external.tifffile.tifffile.TiffFile'>, pattern='axes', *args, **kwargs)[source]

从多个文件初始化实例。

参数:文件:str或str的序列Glob模式或文件名称序列。二进制流不支持。imread:函数或类使用asarray函数的图像读取函数或类从单个文件返回numpy数组。pattern:str在文件名中匹配轴名称和序列索引的正则表达式模式。默认情况下,这与Olympus OIF和Leica TIFF系列相匹配。

exception ParseError[source]

基础: Exception

asarray(memmap=False, tempdir=None, *args, **kwargs)[source]

从所有文件读取图像数据并返回为单个numpy数组。

如果memmap为True,则返回存储在磁盘上的二进制文件中的数组。args和kwargs参数被传递给imread函数。

如果图像形状不匹配,则引发IndexError或ValueError。

close()[source]

TiffWriter

class skimage.external.tifffile.TiffWriter(file, append=False, bigtiff=False, byteorder=None, software='tifffile.py', imagej=False)[source]

Bases: object

将图像数据写入TIFF文件。

TiffWriter实例必须使用'close'方法关闭,当使用'with'上下文管理器时会自动调用该方法。

示例

>>> data = numpy.random.rand(2, 5, 3, 301, 219) >>> with TiffWriter('temp.tif', bigtiff=True) as tif: ... for i in range(data.shape[0]): ... tif.save(data[i], compress=6)

__init__(file, append=False, bigtiff=False, byteorder=None, software='tifffile.py', imagej=False)[source]

打开一个TIFF文件进行写入。

现有文件默认被覆盖。创建大于2 GB的文件时,请使用bigtiff = True。

参数:文件:str,二进制流或FileHandle文件名或可写二进制流,如打开的文件或BytesIO。如果该文件不存在,则会创建该文件。append:bool如果为True且'file'是现有的标准TIFF文件,则图像数据和标签会附加到文件中。追加数据可能会损坏特定格式的TIFF文件,如LSM,STK,ImageJ,NIH或FluoView。bigtiff:bool如果为True,则使用BigTIFF格式。byteorder:{'<','>'}文件中数据的字节顺序。默认情况下,这是系统的本地字节顺序。软件:str用于创建文件的软件的名称。仅在文件中保存第一页。imagej:bool如果为True,则编写一个ImageJ hyperstack兼容文件。这种格式可以按照TZCYXS顺序处理uint8,uint16或float32数据类型和最多6维的数据形状。RGB图像(S = 3或S = 4)必须是uint8。ImageJ的默认字节顺序是big endian,但是这个实现默认使用系统的本地字节顺序。ImageJ不支持BigTIFF格式或LZMA压缩。ImageJ文件格式没有记录。

TAGS = {'new_subfile_type': 254, 'subfile_type': 255, 'image_width': 256, 'image_length': 257, 'bits_per_sample': 258, 'compression': 259, 'photometric': 262, 'document_name': 269, 'image_description': 270, 'strip_offsets': 273, 'orientation': 274, 'samples_per_pixel': 277, 'rows_per_strip': 278, 'strip_byte_counts': 279, 'x_resolution': 282, 'y_resolution': 283, 'planar_configuration': 284, 'page_name': 285, 'resolution_unit': 296, 'software': 305, 'datetime': 306, 'predictor': 317, 'color_map': 320, 'tile_width': 322, 'tile_length': 323, 'tile_offsets': 324, 'tile_byte_counts': 325, 'extra_samples': 338, 'sample_format': 339, 'smin_sample_value': 340, 'smax_sample_value': 341, 'image_depth': 32997, 'tile_depth': 32998}TYPES = {'B': 1, 's': 2, 'H': 3, 'I': 4, '2I': 5, 'b': 6, 'h': 8, 'i': 9, '2i': 10, 'f': 11, 'd': 12, 'Q': 16, 'q': 17}close(truncate=False)[source]

写剩余的页面(如果不是截断)并关闭文件句柄。

save(data, photometric=None, planarconfig=None, tile=None, contiguous=True, compress=0, colormap=None, description=None, datetime=None, resolution=None, metadata={}, extratags=())[source]

将图像数据和标签写入TIFF文件。

图像数据默认写入每个平面的一个条带。尺寸大于2到4(取决于光度模式,平面配置和SGI模式)被平放并保存为单独的页面。'sample_format'和'bits_per_sample'标签是从数据类型派生而来的。

参数:数据:numpy.ndarray输入图像。最后的尺寸被假定为图像深度,高度(长度),宽度和样本。如果提供了颜色表,则dtype必须是uint8或uint16,并且数据值是指向颜色表最后一个维度的索引。photometric:{'minisblack','miniswhite','rgb','palette','cfa'}图像数据的色彩空间。默认情况下,此设置是根据数据形状和colormap的值推断的。对于CFA图像,DNG标签必须在额外标签中指定。planarconfig:{'contig','planar'}指定样本是连续存储还是存储在不同的平面中。默认情况下,该设置是从数据形状中推断出来的。如果设置了此参数,则会使用额外的样本来存储灰度图像。'contig':最后一个维度包含样本。'平面':第三个维度包含样本。瓦 :int的元组要写入的图像切片的形状(深度,长度,宽度)。如果无(默认),则图像数据将写入每个平面的一个条纹中。瓦片长度和宽度必须是16的倍数。如果提供瓦片深度,则使用SGI image_depth和tile_depth标记来保存卷数据。很少有软件可以读取SGI格式,例如MeVisLab。contiguous:bool如果True(默认值)以及数据和参数与先前的数据和参数兼容(如果有),则数据将连续存储在前一个之后。参数'photometric'和'planarconfig'被忽略。compress:int或'lzma'从0到9的值控制zlib压缩级别。如果为0,则数据将被解压缩(默认)。压缩不能用于编写连续的文件。如果使用'lzma',则使用LZMA压缩,这在所有平台上都不可用。色彩地图:numpy。ndarray RGB颜色值为相应的数据值。必须是形状(3,2 **(data.itemsize * 8))和dtype uint16。描述:str图像的主题。仅保存第一页。不能与ImageJ格式一起使用。datetime:datetime图像创建的日期和时间。仅保存第一页。如果无(默认),则使用当前日期和时间。分辨率:( float,float,str)或((int,int),(int,int),str)以分辨率为单位的X和Y分辨率(像素数)。第三个可选参数指定分辨率单位,该分辨率单位必须为无(ImageJ的默认值),“英寸”(默认)或“cm”。元数据:字典在image_description标签中以JSON或ImageJ格式保存附加元数据以及形状信息。如果没有,请不要写第二个image_description标签。extratags:元组序列附加标签为(code,dtype,count,value,writeonce)。代码:int TIFF标记Id。dtype:str Python结构格式中'value'项的数据类型。B,s,H,I,2I,b,h,i,2i,f,d,Q或q中的一个。count:int数据值的数量。不用于字符串值。值:与'dtype'兼容的序列'计数'值。writeonce:bool如果为True,则标签仅写入第一页。