主要内容

bigimage

(不推荐)超大图像的核外处理

bigimage对象不推荐使用。使用blockedImage对象。有关更多信息,请参见兼容性的考虑

描述

一个bigimage对象存储关于大型TIFF图像文件及其包含的图像数据的信息。一个bigimage将图像表示为可以独立加载和处理的较小的数据块。

使用一个bigimage对象来可视化和处理过大而无法装入内存的图像,或者处理图像需要比可用内存更多的内存。此外,该对象可以:

  • 读取、处理和显示不同分辨率的图像(图像金字塔)。

  • 读取图像的任意区域。

  • 读取、设置和写入数据块。

对于具有多个分辨率的大图像,最低或分辨率级别是每个像素覆盖最大区域的级别。最高的或最好的分辨率是每个像素所占面积最小的水平。

创建

描述

例子

bigimg = bigimage (文件名创建一个bigimage对象从带有名称的大图像文件文件名

bigimg = bigimage (目录名创建一个bigimage从具有名称的目录中获取目录名包含大图像数据的文件。

bigimg = bigimage (varname创建一个bigimage对象varname在工作区中。

bigimg = bigimage (spatialReferencing、通道classUnderlying)创建一个可写bigimage对象,并设置SpatialReferencing渠道,ClassUnderlying属性,而不初始化图像数据。

bigimg = bigimage (levelSizes、通道classUnderlying)创建一个可写bigimage对象,并设置LevelSizes渠道,ClassUnderlying属性,而不初始化图像数据。

bigimg = bigimage (___、“类”、类PixelLabelIDs, PixelLabelIDs)创建一个bigimage具有分类数据的对象。属性指定类名属性和图像像素标签值到类别类名的映射PixelLabelIDs财产。

bigimg = bigimage (___、名称、值)使用名称-值对设置一个或多个BlockSizeSpatialReferencingUndefinedIDUnloadedValue属性。可以指定多个名称-值对。将每个属性名用引号括起来。

例如,bigimage (bigfile BlockSize,(256 256),“UnloadedValue”,128年)从文件创建一个大的图像bigfile它的块大小为256 × 256像素,默认像素值为128

输入参数

全部展开

大图像文件的名称,指定为字符向量或字符串标量。金宝app支持的文件格式为TIFF和BigTIFF。这个参数设置数据源财产。

大图像目录的名称,指定为字符向量或字符串标量。这个参数设置数据源财产。

工作区中的大图像变量,指定为大小的数字数组——- - - - - -n对于单通道图像或——- - - - - -n——- - - - - -c对于带有c颜色通道。

属性

全部展开

图像文件的属性

支持大图像的数据的位置,指定为字符向量。金宝app支持的文件格式为TIFF和BigTIFF。

如果你创建一个bigimage对象而不指定大图像文件的名称,则使用数据源''.如果你创建一个bigimage对象,然后是数据源“变量”

数据类型:字符串

此属性是只读的。

源元数据,指定为结构,例如imfinfo

图像数据的属性

块大小,指定为格式为正整数的2元素行向量[numrows numcols].块大小是数据的最小单位bigimage对象可以读或写。

数据类型:

此属性是只读的。

颜色或多光谱通道的数量,指定为正整数。

数据类型:

类别数据的类名,指定为字符向量的字符串数组或单元格数组。可以包含重复的名称,以将多个像素标签id映射到同一个分类类。

数据类型:字符|字符串

此属性是只读的。

图像像素的数据类型,指定为以下字符串之一。

“替身” “uint8” “int8”
“单身” “uint16” “int16”
“逻辑” “uint32” “int32”
“分类”

数据类型:字符|字符串

此属性是只读的。

最粗糙的分辨率级别,指定为正整数。对于single-resolution的图像,CoarsestResolutionLevel1

数据类型:

此属性是只读的。

最佳分辨率级别,指定为正整数。对于single-resolution的图像,FinestResolutionLevel1

数据类型:

每个分辨率级别的图像尺寸,指定为r正整数的- × 2矩阵。每一行指定[numrows numcols]图像的尺寸r分辨率的水平。

数据类型:

将像素标签值映射到分类类名的像素标签id,指定为以下其中之一。

  • c-element数值向量,其中c为类数。

  • c-by-3数据类型的数字数组uint8.每行包含一个3元素向量,表示与每个类名相关联的RGB像素值。当像素标签数据存储为RGB图像时,使用这种格式。

中不存在的像素值PixelLabelIDs,然后bigimage将像素映射到类' <定义> '

作为标量指定的像素位置和大小imref2d对象的单分辨率大图像或r1的向量imref2d多分辨率大图像的目标。每个元素指定像素大小、图像大小和世界限制r分辨率的水平。

的像素标号值' <定义> '类别,指定为数字标量或1 × 3数字向量。不要将此值指定为PixelLabelIDs

属性中不存在的填充块的默认像素值数据源,指定为表中的值。如果没有指定UnloadedValue,然后bigimage使用的像素值0对于数字和逻辑块和失踪绝对的街区。

图像数据类型 的格式UnloadedValue
逻辑图像 逻辑标量。
数字图像

数字标量用于灰度图像或1乘1乘-渠道数字矢量的真彩色和多光谱图像。如果指定数值标量渠道大于1,那么bigimage将值扩展为1 × 1 × -渠道数值向量。

的数据类型UnloadedValue必须匹配指定的数据类型ClassUnderlying

分类图片 对象的一个元素的字符串标量财产。

对象的功能

应用 处理大图像块
isequal 比较两个bigimage年代的平等
getBlock 读取大图像块
getFullLevel 获得所有数据在一个层次的大图像
getRegion 读取大图像任意区域
setBlock 将数据放在大图像的特定块中
bigimage新文件的内容

例子

全部折叠

使用CAMELYON16数据集中图像“tumor_091.tif”的修改版本创建一个阻塞图像。原始图像是包含肿瘤组织的淋巴结的训练图像。原始图像有8个分辨率等级,最好的等级分辨率为53760 × 61440。修改后的图像只有三个粗分辨率。修改后的图像的空间参考已经被调整,以加强一致的宽高比,并在每一层配准特征。

bim = blockedImage (“tumor_091R.tif”);

以最好的分辨率显示整个阻塞图像。显示块边界的网格。

bshow = bigimageshow(荡妇,“ResolutionLevel”“好”...“GridVisible”“上”“GridLevel”1);

创建一个最粗糙的分辨率级别的掩码。

首先得到分辨率最低的单分辨率图像。默认情况下,收集从最粗糙的分辨率级别获取数据。

imcoarse =收集(bim);%将粗糙图像转换为灰度。graycoarse = rgb2gray (imcoarse);将灰度图像二值化。在二值化图像中,表示的对象%利息是黑色的,背景是白色的。bwcoarse = imbinarize (graycoarse);%取二值化图像的补码。得到的掩码如下利益对象为白色和白色的约定背景是黑色的。掩码= imcomplement (bwcoarse);

创建一个包含蒙版的阻塞图像。

使用与原始阻塞图像相同的空间引用。确定最粗的分辨率级别,并在该级别上捕获块图像的前两个维度的空间引用信息。

coarsestLevel = bim.NumLevels;originalWorldStartcoarsest = bim.WorldStart (coarsestLevel 1:2);originalWorldEndcoarsest = bim.WorldEnd (coarsestLevel 1:2);%创建蒙版的阻塞图像。bmask = blockedImage(面具,“WorldStart”originalWorldStartcoarsest,...“WorldEnd”, originalWorldEndcoarsest);

显示掩码图像。

图bigimageshow (bmask);

覆盖蒙版上的原始阻塞图像。若要突出显示包含至少一个非零掩码像素的所有块,请指定包含阈值为0

showmask (bshow bmask,“InclusionThreshold”, 0);

提示

  • 你可以写信给bigimage对象创建的SpatialReferencingLevelSizes语法。写这些bigimage对象,使用setBlock函数。你不能写信给bigimage对象创建的文件名目录名,或varname语法。

  • 一个bigimage对象使用UnloadedValue财产在两种情况下。第一种情况是当你创建一个可写的bigimage对象。可写的块bigimage对象设置为UnloadedValue直到您使用setBlock函数。第二种情况是应用函数停止对象的处理块bigimage对象,然后再处理所有块。

兼容性的考虑

全部展开

不建议从R2021a开始

参考文献

[1]Bejnordi, Babak Ehteshami, Mitko Veta, Paul Johannes van Diest, Bram van Ginneken, Nico Karssemeijer, Geert Litjens, Jeroen A. W. M. van der Laak, et al.“深度学习算法检测乳腺癌女性淋巴结转移的诊断评估”。《美国医学会杂志》318年,没有。22(2017年12月12日):2199-2210。https://doi.org/10.1001/jama.2017.14585。

介绍了R2019b