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.tifffile | Read 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,则标签仅写入第一页。 |
---|