bigimage

Обработка из ядра очень больших изображений

Описание

bigimage информация об объектно-ориентированной памяти о большом.TIFF файле изображения и данных изображения это содержит. bigimage представляет изображения как меньшие блоки данных, которые могут независимо загрузиться и обработаны.

Используйте bigimage объект визуализировать и обработать изображения, которые являются слишком большими, чтобы уместиться в памяти, или при обработке изображения, требует большей памяти, чем доступно. Кроме того, объект может:

  • Считайте, обработайте, и изображения на дисплее в различном несколько уровней разрешения (пирамиды изображений).

  • Считайте произвольные области изображения.

  • Считайте, установите, и блоки данных записи.

Для больших изображений с несколькими уровнями разрешения самый низкий или самый грубый уровень разрешения является уровнем, где каждый пиксель покрывает самую большую область. Самый высокий или самый прекрасный уровень разрешения является уровнем, где каждый пиксель покрывает самую маленькую область.

Создание

Описание

пример

bigimg = bigimage(filename) создает bigimage объект от большого файла изображения с именем filename.

bigimg = bigimage(dirname) создает bigimage объект из директории с именем dirname содержа файлы с большими данными изображения.

bigimg = bigimage(varname) создает bigimage объект от переменной varname в рабочей области.

bigimg = bigimage(spatialReferencing,channels,classUnderlying) создает bigimage объект и наборы SpatialReferencing, Channels, и ClassUnderlying свойства, не инициализируя данные изображения.

bigimg = bigimage(levelSizes,channels,classUnderlying) создает bigimage объект и наборы LevelSizes, Channels, и ClassUnderlying свойства, не инициализируя данные изображения.

bigimg = bigimage(___,Name,Value) пары "имя-значение" использования, чтобы установить один или несколько из BlockSize, UnloadedValue, и SpatialReferencing свойства. Можно задать несколько пар "имя-значение". Заключите каждое имя свойства в кавычки.

Например, bigimage(bigfile,'BlockSize',[256 256],'UnloadedValue',128) создает большое изображение из файла bigfile это имеет размер блока 256 256 пикселей и пиксельное значение по умолчанию 128.

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

развернуть все

Имя большого файла изображения, заданного как вектор символов или скаляр строки. Поддерживаемыми форматами файлов является TIFF и BigTIFF. Этот аргумент устанавливает DataSource свойство.

Имя большого каталога образов, заданного как вектор символов или скаляр строки. Этот аргумент устанавливает DataSource свойство.

Большая переменная изображений в рабочей области, заданной как числовой массив размера m-by-n для одноканального изображения или m-by-n-by-c для изображения с цветовыми каналами c.

Свойства

развернуть все

Свойства файла изображения

Местоположение данных, поддерживающих большое изображение, заданное как вектор символов. Поддерживаемыми форматами файлов является TIFF и BigTIFF.

Если вы создаете bigimage объект, не задавая имя большого файла изображения, затем значение DataSource ''. Если вы создаете bigimage объект от переменной в рабочей области, затем значение DataSource 'variable'.

Типы данных: string

Это свойство доступно только для чтения.

Исходные метаданные, заданные как struct такой, как возвращено imfinfo.

Свойства данных изображения

Это свойство доступно только для чтения.

Тип данных пикселей изображения, заданных как одна из следующих строк.

"uint8""int8""double"
"uint16""int16""single"
"uint32""int32""logical"

Типы данных: char | string

Это свойство доступно только для чтения.

Количество цвета или многоспектральных каналов, заданных как положительное целое число.

Типы данных: double

Размер блока, заданный как вектор-строка с 2 элементами из положительных целых чисел формы [numrows numcols]. Размер блока является самой маленькой единицей информации что bigimage объект может читать или записать.

Типы данных: double

Размеры изображения на каждом уровне разрешения, заданном как r-by-2 матрица положительных целых чисел. Каждая строка задает [numrows numcols] размеры изображения на одном из уровней разрешения r.

Типы данных: double

Пиксельные местоположения и размеры, заданные как скалярный imref2d объект для одно разрешения большое изображение или r-by-1 вектор imref2d объекты для мультиразрешения большое изображение. Каждый элемент задает размер пикселя, размер изображения и мировые пределы на одном из уровней разрешения r.

Это свойство доступно только для чтения.

Самый грубый уровень разрешения, заданный как положительное целое число. Для изображений одно разрешения, CoarsestResolutionLevel 1.

Типы данных: double

Это свойство доступно только для чтения.

Самый прекрасный уровень разрешения, заданный как положительное целое число. Для изображений одно разрешения, FinestResolutionLevel 1.

Типы данных: double

Пиксельное значение по умолчанию для разгруженных блоков, заданных в виде числа или числового массива размера 1 1 Channels. Тип данных UnloadedValue должен совпадать с типом данных, заданным ClassUnderlying.

Функции объекта

applyБлоки процесса большого изображения
isequalСравните два bigimages для равенства
getBlockСчитайте блок большого изображения
getFullLevelПолучите все данные на одном уровне большого изображения
getRegionСчитайте произвольную область большого изображения
setBlockПоместите данные в определенный блок большого изображения
writeЗапишите bigimage содержимое в новый файл

Примеры

свернуть все

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

bim = bigimage('tumor_091R.tif');

Отобразите целый bigimage на самом прекрасном уровне разрешения. Отобразите сетку контуров блока.

bshow = bigimageshow(bim,'GridVisible','on','GridLevel',1);

Определите самый грубый уровень разрешения и пространственную ссылку bigimage на том уровне.

clevel = bim.CoarsestResolutionLevel;
clevelLims = bim.SpatialReferencing(clevel);

Создайте маску самого грубого уровня разрешения путем выполнения этих шагов:

  1. Получите изображение одно разрешения самого грубого уровня разрешения.

  2. Преобразуйте изображение в шкалу полутонов.

  3. Binarize изображение. В двоичном изображении предмет интереса является черным, и фон является белым.

  4. Возьмите дополнение двоичного изображения. Получившаяся маска следует соглашению, в котором предмет интереса является белым, и фон является черным.

imcoarse = getFullLevel(bim,clevel);
graycoarse = rgb2gray(imcoarse);
bwcoarse = imbinarize(graycoarse);
mask = imcomplement(bwcoarse);

Создайте bigimage содержа маску. Используйте ту же пространственную ссылку в качестве исходного большого изображения.

bmask = bigimage(mask,'SpatialReferencing',clevelLims);

Отобразите маску.

figure
bigimageshow(bmask);

Наложите маску на исходном bigimage. Чтобы подсветить все блоки, которые содержат по крайней мере один ненулевой пиксель маски, задайте порог включения 0.

showmask(bshow,bmask,'InclusionThreshold',0);

Смотрите также

|

Введенный в R2019b