read

Считайте данные из bigimageDatastore

Описание

data = read(bigds) возвращает пакет данных из большого datastore изображений, bigds. Последующие вызовы read функция продолжает читать из конечной точки предыдущего вызова.

пример

[data,info] = read(bigds) также возвращает информацию об извлеченных данных, включая метаданные, в info.

Примеры

свернуть все

Создайте bigimage. Это примеры использует модифицированную версию изображения "tumor_091.tif" от набора данных CAMELYON16. Оригинальное изображение является учебным изображением лимфатического узла, содержащего ткань опухоли. Оригинальное изображение имеет восемь уровней разрешения, и самый прекрасный уровень имеет разрешение 53760 61440. Модифицированное изображение имеет только три крупных уровня разрешения. Пространственная ссылка модифицированного изображения была настроена, чтобы осуществить сопоставимое соотношение сторон и указать функции на каждом уровне.

bim = bigimage('tumor_091R.tif');

Создайте bigimageDatastore это управляет блоками большого изображения на самом прекрасном уровне разрешения.

bimds = bigimageDatastore(bim,1)
bimds = 
  bigimageDatastore with properties:

              ReadSize: 1
            BorderSize: [0 0]
             PadMethod: 0
    InclusionThreshold: []
                 Masks: [0x0 bigimage]
                Images: [1x1 bigimage]
                Levels: 1
             BlockSize: [1024 1024]
          BlockOffsets: [1024 1024]
      IncompleteBlocks: 'same'

Измените 'ReadSize' свойство datastore к 3.

bimds.ReadSize = 3;

Считайте один пакет данных изображения от datastore.

[data,info] = read(bimds);

Отобразите возвращенные данные изображения в монтаже с черной границей вокруг каждого изображения. Монтаж показывает, что datastore читает блоки большого изображения в упорядоченном по строкам порядке.

montage(data,'Size',[1 3],"BorderSize",10)

Отобразите информацию о возвращенных данных.

info
info = struct with fields:
              Level: [1 1 1]
        ImageNumber: [1 1 1]
    BlockStartWorld: [3x2 double]
      BlockEndWorld: [3x2 double]
     DataStartWorld: [3x2 double]
       DataEndWorld: [3x2 double]

Смотрите (x, y) координаты центра верхнего левого пикселя каждого возвращенного блока данных.

info.BlockStartWorld
ans = 3×2

           1           1
        1025           1
        2049           1

Входные параметры

свернуть все

Большой datastore изображений, заданный как bigimageDatastore объект.

  • Datastore содержит одно или несколько больших изображений, Images, каждый с Channels количество каналов.

  • Datastore читает блоки из каждого большого изображения на заданных уровнях разрешения, Levels.

  • Datastore задает количество блоков, чтобы читать в каждом пакете, ReadSize.

  • Datastore задает m-by-n размер пикселя блоков, чтобы читать, BlockSize.

Выходные аргументы

свернуть все

Выходные данные, возвращенные как массив ячеек с ReadSize элементы. Каждая ячейка содержит m-by-n-by-Channels числовой массив.

Информация о выходных данных, возвращенных как struct, содержащий эти поля.

Имя поляОписание
LevelУровень разрешения данных, заданных как 1 ReadSize вектор положительных целых чисел.
ImageNumberИндекс большого изображения, обеспечивающего данные, заданные как 1 ReadSize вектор положительных целых чисел.
BlockStartWorld(x, y) координаты центра верхнего левого пикселя данных, исключая дополнение, заданное как ReadSize- 2 числовых вектора. Значения находятся в мировых координатах.
BlockEndWorld(x, y) координаты центра нижнего правого пикселя данных, исключая дополнение, заданное как ReadSize- 2 числовых вектора. Значения находятся в мировых координатах.
DataStartWorld(x, y) координаты центра верхнего левого пикселя данных, включая дополнение, заданное как ReadSize- 2 числовых вектора. Значения находятся в мировых координатах.
DataEndWorld(x, y) координаты центра нижнего правого пикселя данных, включая дополнение, заданное как ReadSize- 2 числовых вектора. Значения находятся в мировых координатах.

Введенный в R2019b