主要内容

bigimagedatastore.

数据存储来管理大图像数据的块

描述

一个bigimagedatastore.对象管理属于一个或多个的图像块集合极限对象。一个bigimagedatastore.类似于一个imageDatastore,它管理一个不相关的图像的集合。

创建

描述

创建数据存储读取整个图像的块

bigds = bigimageagaTastore(图像)创建一个数据存储区,用于管理一个或多个最佳分辨率级别的图像块集合极限对象,图片

Bigds = BigimageGateSore(图像,级别)创建一个数据存储,用于管理一个或多个映像块的集合极限对象,图片,在指定的分辨率级别,水平

Bigds = BigimageDataStore(图像,水平,名称,价值还使用名称 - 值对设置一个或多个属性除了BlockLocations.。您可以指定多个名称值对。将每个属性名称括在引号中。

例子:BigimagingAtastore(Bigimg,3,'BlockSize',[128 128],'不完整的伯爵,'Pad')创建一个数据存储区,可在大图像中读取大小128-128块bigimg和零垫部分边缘块。

创建在指定位置读取块的数据存储

Bigds = BigimBalicataStore(图像,'BlockLocationset',BlockLocationset)创建一个读取块的数据存储极限对象,图片,使用分辨率级别,块大小和块位置指定BlockLocations.

bigds = bigimageDatastore(图像、‘BlockLocationSet BlockLocationSet,名称,价值还使用名称 - 值对设置一个或多个毗邻不完整的块PadMethod,和ReadSize属性。您可以指定多个名称值对。将每个属性名称括在引号中。

例子:BigimagedAtastore(Bigimg,'BlockLocationset',BLS,'Readsize',4)创建一个数据存储,它一次从大图像的时间读取四个块bigimg根据所指定的位置、块大小和分辨率级别布尔斯

属性

全部展开

块位置,指定为aBlockLocations目的。

块偏移量,指定为正整数的1 × 2向量的形式[numrows numcols]

默认值等于blocksize。在调用期间重叠块,指定较小的值。要在块之间添加间隙,请指定更大的值。

块大小的读取数据,指定为表单的正整数的1×2向量[numrows numcols]。默认值等于blocksize中的第一个大图的属性图片在第一个分辨率水平水平

边框大小,指定为非负整数的1乘2向量的形式[m n]。该功能增加了m行以上和下面的每个块和N每个块的左侧和右侧的列,具有来自相邻块的数据。对于位于图像边缘的块,数据根据填充数据不完整的块。默认情况下,数据存储区不会向块添加边框。

提供块的大图像bigimagedatastore.,指定为aB.元向量的极限对象。要从相同的大图像读取不同的分辨率级别,请在向量中多次指定相同的图像。

处理小于的边缘块的方法blocksize,指定为其中一个值。

意义

“相同”

返回与边缘块相同大小的数据。

“排除”

不包括呼叫中的边缘块

“垫”

填充不完整的块与相同的块blocksize使用指定的焊盘方法PadMethod

来自每个大图像的分辨率水平图片,指定为正整数标量或aB.- 正整数的再生矢量。如果指定标量值,则在相同分辨率级别的数据存储区中的所有大图像供应块。

数据类型:

不完整边缘块的衬垫方法,指定为这些值之一。默认情况下,数据存储用0.和分类块失踪

意义

数字标量

键盘数字数组,具有常量值的元素。

字符串标量

带有指定类的键盘分类数组班级潜在的财产极限

“复制”

通过重复阵列的边框元素来划接垫。

“对称”

带有镜面反射的衬垫阵列。

每个呼叫中​​返回的块数,指定为正整数。

对象功能

结合 将数据与多个数据存储组合
counteanceLabel. 的每个类的像素标签的数目bigimagedatastore.
哈迪塔 确定数据是否可用读取
numpartitions 数据存储分区个数
划分 分区bigimagedatastore.
预览 在数据存储区中预览数据子集
读取数据bigimagedatastore.
Readrelative. 阅读邻近的街区bigimagedatastore.使用相对位置
重置 重置数据存储为初始状态
洗牌 数据存储中的Shuffle数据
转变 转换数据存储
是可分派的 确定数据存储是否可分区
isShufflable. 确定数据存储是否会破坏

例子

全部收缩

创建一个极限使用从Camelyon16数据集的修改版本“tumor_091.tif”。原始图像是含有肿瘤组织的淋巴结的训练图像。原始图像具有八个分辨率级别,最优异的级别具有第53760-〜61440号决议。修改的图像仅具有三个粗略分辨率级别。已经调整了修改图像的空间引用以强制执行一致的纵横比并在每个级别注册特征。

bim = bigimage ('tumor_091r.tif');

显示缺省的块大小极限在每个分辨率级别。块大小是一个2元素的向量,其形式为[numrowsnumcols]。

t =表((1:3)',bim.blocksize,'variablenames',[“水平”“块大小”]);DISP(T)
电平块大小_____ ____________ 11024 1024 2 1024 1024 1024 1024 1024 1024 1024

显示极限通过使用BigimageShow.函数。

BigimageShow(Bim);

创建一个bigimagedatastore.分辨率为1。指定一个非默认的块大小。将数据存储设置为一次读取四个数据块。

bimds = bigimageDatastore (bim 2“BlockSize”(512 512),'阅读'4)
Bimds = BigimageDataStore具有属性:READSIZE:4 Bordersize:[0 0] Padmethod:0图像:[1x1 Bigimage]级别:2 BlockSize:[512 512] BlockOffsets:[512 512]不完整块:'相同'BlockLocationset:[1x1 BlockLocationset:[1x1 BlockLocationset:[1x1 BlockLocationset]

从数据存储读取一批数据。请注意,第三块是部分边缘块,并且具有比内部块更小的尺寸。将返回的图像修补程序显示为蒙太奇。蒙太奇用较厚的边界显示第三块,因为块的宽度小于完整块的宽度。

块=读取(BIMDS)
块=4×1个单元阵列{512x512x3 uint8} {512x512x3 uint8}
蒙太奇(块,“大小”,[1 bimds.readsize],“BorderSize”5,“写成BackgroundColor”“k”);

从数据存储中读取下一批数据,并以蒙太奇的方式显示返回的图像补丁。蒙太奇显示的部分块有较厚的边界,因为块的尺寸小于整个块的尺寸。

块=读取(BIMDS)
块=4×1个单元阵列{512x512x3 uint8} {512x316x3 uint8} {226x512x3 uint8} {226x512x3 uint8}
蒙太奇(块,“大小”,[1 bimds.readsize],“BorderSize”5,“写成BackgroundColor”“k”);

从数据存储中读取最后一批数据。read操作返回一个部分批处理,其中只包含剩余的补丁。显示补丁。

块=读取(BIMDS)
块=1 x1单元阵列{226x316x3 uint8}
蒙太奇(块,“大小”,[1 bimds.readsize],“BorderSize”5,“写成BackgroundColor”“k”);

创建一个极限使用从Camelyon16数据集的修改版本“tumor_091.tif”。原始图像是含有肿瘤组织的淋巴结的训练图像。原始图像具有八个分辨率级别,最优异的级别具有第53760-〜61440号决议。修改的图像仅具有三个粗略分辨率级别。已经调整了修改图像的空间引用以强制执行一致的纵横比并在每个级别注册特征。

bim = bigimage ('tumor_091r.tif');

显示极限通过使用BigimageShow.函数。

H = BigimagesHow(BIM);

在粗糙分辨率级别创建掩码,保留原始空间引用信息。

clevel = bim.CoarsestResolutionLevel;clevel imcoarse = getFullLevel (bim);stainMask = ~ imbinarize (rgb2gray (imcoarse));bmask = bigimage (stainMask,'spatialReferencing'bim.SpatialReferencing (clevel));

指定要从中读取的块的位置极限通过使用selectblocklocations.函数。设置块大小为256 × 256像素。通过指定,选择掩码定义的ROI中至少75%的块“InclusionThreshold”名称值对参数。默认,selectblocklocations.从大图像的最佳分辨率级别中选择块。

t = 0.75;blocksize = [256 256];blockset = selectblocklocations(bim,“阻塞”blockSize,......“面具”,bmask,“包括察勒斯德”t);

创建一个bigimagedatastore.从指定的位置一次读取四个块BlockLocations

bimds = bigimageDatastore(荡妇,“BlockLocationset”blockSet,“阅读”4);

要预览数据存储读取哪些修补程序,请通过原始显示掩码极限使用相同的块大小和包含阈值。覆盖部分用绿色高亮显示在遮罩定义的ROI中至少75%的补丁。

ShowMask(H,BMASK,“BlockSize”blockSize,“InclusionThreshold”, t)

从数据存储中读取第一批数据,并以蒙太奇的方式显示返回的图像补丁。这些补丁的内容与覆盖层的绿色块相匹配。

块=读取(BIMDS);蒙太奇(块,“大小”,[1 bimds.readsize],“BorderSize”5,“写成BackgroundColor”“k”);

创建一个极限使用从Camelyon16数据集的修改版本“tumor_091.tif”。原始图像是含有肿瘤组织的淋巴结的训练图像。原始图像具有八个分辨率级别,最优异的级别具有第53760-〜61440号决议。修改的图像仅具有三个粗略分辨率级别。已经调整了修改图像的空间引用以强制执行一致的纵横比并在每个级别注册特征。

bim = bigimage ('tumor_091r.tif');

显示整个极限在最好的分辨率水平。

bshow = bigimageshow(bim);

从最优选级别指定四个[x y]块位置。前两个块在垂直方向上重叠。第二两个块水平邻近。

xylocation = [......2800 1300;......2800 1400;......1500 2400;......1800 2400);blockSize = [300300];

所有块都来自同一图像。指定图像编号1对于所有块。

Imagenumber = [1 1 1 1]';

创建一个BlockLocations存储块位置的对象。

Locationset = BlockLocationset(Imagenumber,Xylocation,Blocksize);

创建一个bigimagedatastore.从大图像读取块的对象b在由此指定的位置BlockLocations目的。

bimds = bigimageDatastore(荡妇,'blockLocationset', locationSet);

从数据存储读取两个块并在蒙太奇中显示它们。

bimds.readsize = 2;Hasdata(BIMDS)图块=读取(BIMDS);蒙太奇(块,“BorderSize”5,“写成BackgroundColor”'B');结束

兼容性考虑因素

全部展开

参考文献

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

在R2019B中介绍