exponenta event banner

bigimageshow

Показать 2-D blockedImage объект

Описание

A bigimageshow объект отображает данные из blockedImage объект. bigimageshow объект постепенно загружает данные изображения на основе границ изображения и разрешения экрана.

Создание

Описание

bigimageshow(bim) отображает 2-D заблокированное изображение bim.

Для категориальных данных, bigimageshow задает для карты цветов оси значение parula. Для числовых данных, gray является картой цветов по умолчанию.

bigimageshow(hax,bim) отображает заблокированное изображение, bim, в осях, указанных hax.

b = bigimageshow(___) возвращает значение bigimageshow объект b. Использовать b для изменения параметров отображения после отображения заблокированного изображения.

пример

b = bigimageshow(___,Name,Value) задает начальные графические свойства, используя пары «имя-значение». Можно указать несколько пар имя-значение. Заключите каждый аргумент или имя свойства в кавычки.

Например, bigimageshow(bim,'GridVisible','on','GridLineStyle',':') отображает заблокированное изображение, bimи накладывает пунктирные линии сетки.

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

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

Заблокированное изображение, указанное как blockedImage объект.

Родительские оси bigimageshow , заданный как объект оси.

Свойства

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

Родительские оси bigimageshow объект, указанный как axes объект. Если родительский элемент не указан, bigimageshow использует маркер перемещения к текущей фигуре, gca. Если фигура не существует, bigimageshow создает новую фигуру.

2-D blockedImage объект для отображения, указанный как blockedImage объект.

Метод отображения данных цвета, указанный как 'direct' или 'scaled'. Это свойство используется для управления отображением значений цветовых данных в CData в карту цвета. CData должен быть вектором или матрицей, определяющей индексированные цвета. Это свойство не действует, если CData является массивом 3-D, определяющим цвета RGB.

Методы имеют следующие эффекты:

  • 'direct' - интерпретировать значения как индексы в текущей карте цветов. Значения с десятичной частью фиксируются ближайшим нижним целым числом.

    • Если значения имеют тип double или single, значения 1 или меньше сопоставить с первым цветом в карте цветов. Значения, равные или превышающие длину карты цветов до последнего цвета в карте цветов.

    • Если значения имеют тип uint8, uint16, uint32, uint64 , int8, int16, int32, или int64, значения 0 или меньше сопоставить с первым цветом в карте цветов. Значения, равные или превышающие длину карты цветности до последнего цвета в карте цветности (или до пределов диапазона типа).

    • Если значения имеют тип logical, значения 0 сопоставить с первым цветом в карте цветов и значениями 1 сопоставить со вторым цветом в карте цветов.

  • 'scaled' - Масштабировать значения в диапазоне между минимальным и максимальным пределами цвета. CLim свойство осей содержит пределы цвета.

Данные прозрачности, указанные в одной из следующих форм:

  • Числовой скаляр - использовать согласованную прозрачность по всему изображению.

  • 2-D blockedImage object - данные прозрачности должны иметь те же строки и столбцы, что и CData 2-D blockedImage объект. Заблокированное изображение может иметь несколько уровней разрешения, в этом случае bigimageshow выбирает уровень, ближайший к текущему ResolutionLevel для отображения.

AlphaDataMapping свойство управляет тем, как MATLAB ® интерпретирует значения прозрачности альфа-данных.

Пример: 0.5

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

Интерпретация AlphaData значения, указанные как одно из следующих значений:

  • 'none' - интерпретировать значения как значения прозрачности. Значение 1 или более является полностью непрозрачным, значение 0 или менее является полностью прозрачным, а значение от 0 до 1 является полупрозрачным.

  • 'scaled' - Сопоставьте значения с буквенной картой рисунка. Минимальный и максимальный альфа-пределы осей определяют значения альфа-данных, которые соответствуют первому и последнему элементам в alphamap соответственно. Например, если альфа-пределы [3 5], значения альфа-данных меньше или равны 3 сопоставить с первым элементом в alphamap. Значения альфа-данных больше или равны 5 сопоставить с последним элементом в alphamap. ALim свойство осей содержит альфа-пределы. Alphamap свойство фигуры содержит alphamap.

  • 'direct' - Интерпретировать значения как индексы в буквенной карте рисунка. Значения с десятичной частью фиксируются ближайшим нижним целым числом:

    • Если значения имеют тип double или single, значения 1 или менее сопоставляются с первым элементом в alphamap. Значения, равные или превышающие длину сопоставления alphamap с последним элементом в alphamap.

    • Если значения имеют тип integer, то значения 0 или менее сопоставляются с первым элементом в буквенной карте. Значения, равные или превышающие длину сопоставления alphamap с последним элементом в alphamap (или до пределов диапазона типа). Целочисленные типы: uint8, uint16, uint32, uint64, int8, int16, int32, и int64.

    • Если значения имеют тип logical, значения 0 сопоставить с первым элементом в alphamap и значения 1 сопоставить со вторым элементом в alphamap.

Уровень разрешения 2-D blockedImage отображаемый объект, заданный как положительное целое число, определяющее уровень разрешения 2-D blockedImage в свойстве CData. Уровень разрешения также может быть указан как 'fine' или 'coarse' соответствующие этим двум пределам. Значение по умолчанию вычисляется на основе доступного экранного пространства и разрешения.

Режим выбора уровня разрешения, указанный как одно из следующих значений:

  • 'auto' - Автоматический выбор уровня разрешения на основе родительских осей и доступного размера экрана.

  • 'manual' - Вручную укажите уровень разрешения, установив ResolutionLevel собственность.

Видимость сетки, указанная как 'off' или 'on'. bigimageshow помещает сетку в мировые единицы, чтобы включить столько пикселов, сколько определено CData.BlockSize при текущем GridResolutionLevel.

Уровень разрешения заблокированного изображения, на котором отображается сетка, указанный как одно из следующих значений:

  • положительное целое число - отображает сетку, заданную как числовой скаляр, определяющий уровень разрешения 2-D blockedImage объект в свойстве CData. Значение находится в диапазоне от 1 до значения NumLevels свойства заблокированного изображения в bigimageshow CData собственность.

  • 'fine' - Отображение сетки на самом высоком уровне разрешения.

  • 'coarse' - Отображение сетки на самом высоком уровне разрешения.

По умолчанию GridLevel имеет то же значение, что и ResolutionLevel собственность.

Режим выбора для уровня сетки, указанный как одно из следующих значений:

  • 'auto' - Выберите уровень разрешения сетки, соответствующий уровню разрешения данных изображения ResolutionLevel.

  • 'manual' - Вручную укажите уровень разрешения сетки, установив GridLevel собственность.

Цвет линии сетки, указанный как триплет RGB, шестнадцатеричный код цвета, имя цвета или короткое имя цвета. Для отображения линий сетки установите GridVisible свойство для 'on'.

Для пользовательского цвета укажите триплет RGB или шестнадцатеричный цветовой код.

  • Триплет RGB - это трехэлементный вектор строки, элементы которого задают интенсивности красной, зеленой и синей составляющих цвета. Интенсивности должны находиться в диапазоне [0,1]; например, [0.4 0.6 0.7].

  • Шестнадцатеричный цветовой код - это символьный вектор или строковый скаляр, начинающийся с хэш-символа (#), за которыми следуют три или шесть шестнадцатеричных цифр, которые могут варьироваться от 0 кому F. Значения не чувствительны к регистру. Таким образом, цветовые коды '#FF8800', '#ff8800', '#F80', и '#f80' эквивалентны.

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

Имя цветаКраткое имяТриплет RGBШестнадцатеричный цветовой кодВнешность
'red''r'[1 0 0]'#FF0000'

'green''g'[0 1 0]'#00FF00'

'blue''b'[0 0 1]'#0000FF'

'cyan' 'c'[0 1 1]'#00FFFF'

'magenta''m'[1 0 1]'#FF00FF'

'yellow''y'[1 1 0]'#FFFF00'

'black''k'[0 0 0]'#000000'

'white''w'[1 1 1]'#FFFFFF'

Вот триплеты RGB и шестнадцатеричные цветовые коды для цветов по умолчанию MATLAB, используемых на многих типах графиков.

Триплет RGBШестнадцатеричный цветовой кодВнешность
[0 0.4470 0.7410]'#0072BD'

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

Пример: b.GridColor = [1 0 0]

Пример: b.GridColor = 'r'

Пример: b.GridColor = 'red'

Пример: b.GridColor = '#FF0000'

Прозрачность линий сетки, заданная как значение в диапазоне [0, 1]. Значение 1 означает полностью непрозрачный и значение 0 означает полностью прозрачный. Для отображения линий сетки установите GridVisible свойство для 'on'.

Пример: b.GridAlpha = 0.5

Ширина линии сетки, заданная как положительное числовое значение, измеряется в точках. Для отображения линий сетки установите GridVisible свойство для 'on'.

Стиль линий сетки, указанный в этой таблице в качестве одного из стилей линий.

Стиль линииОписаниеРезультирующая линия
'-'Сплошная линия

'--'Пунктирная линия

':'Пунктирная линия

'-.'Черточно-точечная линия

Для отображения линий сетки установите GridVisible свойство для 'on'.

Пример: b.GridLineStyle = '--'

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

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

В системах Windows с программной версией OpenGL единственным поддерживаемым вариантом интерполяции является 'nearest'.

Управление видимостью изображения, указанное как одно из следующих значений:

  • 'on' - Отображение bigimageshow объект.

  • 'off' - Скрыть объект, не удаляя его. По-прежнему можно получить доступ к свойствам невидимого объекта.

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

showmaskПоказать наложение маски при указанном пороге включения
hidemaskСкрыть наложение маски в bigimageshow объект

Примеры

свернуть все

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

bim = blockedImage('tumor_091R.tif');

Отображение заблокированного изображения.

h = bigimageshow(bim);

Увеличьте изображение области на изображении.

xlim([2100, 2600])
ylim([1800 2300])

Для просмотра изображения на различных уровнях разрешения укажите новое значение свойства ResolityLevel. Пределы оси остаются прежними, но bigimageshow обеспечивает правильный размер изображений с других уровней. При установке ResolutionLevel, ResolutionLevelMode изменение значения на 'manual' автоматически.

h.ResolutionLevel = 3;
pause(1);
h.ResolutionLevel = 2;
pause(1);
h.ResolutionLevel = 1;
pause(1);

Создание заблокированного изображения из образца изображения, включенного в панель инструментов.

bim = blockedImage('tumor_091R.tif','BlockSize', [128 128]);

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

 h = bigimageshow(bim,...
      'GridVisible','on', 'GridLevel', 1,...
      'GridLineWidth', 2, 'GridColor','k','GridAlpha',0.3);

Figure contains an axes. The axes contains an object of type bigimageshow.

bim = blockedImage('tumor_091R.tif');

Создайте грубую маску.

bmask = apply(bim, @(im)im2gray(im.Data)<120, "Level", 3);

Наложение маски как альфа-слоя.

ha1 = subplot(1,2,1);
h = bigimageshow(bim);
h.AlphaData = bmask;
h.AlphaDataMapping = 'direct';
alphamap([0.4 1])
h.Parent.Color = 'r';

Независимо визуализируйте маску.

ha2 = subplot(1,2,2);
bigimageshow(bmask);

linkaxes([ha1, ha2]);

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

bim = blockedImage('tumor_091R.tif');

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

bmask = apply(bim, @(im)im2gray(im.Data)<120, "Level", 3);

Отображение заблокированного изображения с маской.

h = bigimageshow(bim);
showmask(h, bmask);

Экспериментируйте с различными порогами включения и размерами блоков, чтобы получить лучшее прилегание маски к окрашенной области. По умолчанию порог включения равен 0,5.

showmask(h, bmask, 'InclusionThreshold', 0.2);
showmask(h, bmask, 'InclusionThreshold', 0);
showmask(h, bmask, 'InclusionThreshold', 0.06);

Измените размер блока, чтобы получить более плотную посадку.

showmask(h, bmask, 'InclusionThreshold', 0.06, 'BlockSize', [256 256]);
showmask(h, bmask, 'InclusionThreshold', 0.14, 'BlockSize', [256 256]);

Когда маска вас устраивает, используйте ее для сегментации лимфатического узла.

bls = selectBlockLocations(bim,'BlockSize', [256 256],...
                                'Mask', bmask, 'InclusionThreshold', 0.14);
bregion = apply(bim, @(im)im.Data, 'BlockLocationSet', bls);
figure
bigimageshow(bregion);

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

bim = blockedImage('tumor_091R.tif');

Создание изображения метки на грубом уровне.

cim = gather(bim);
cgim = im2gray(cim);
numClasses = 4;
thresh = multithresh(cgim, numClasses-1);
labels = imquantize(cgim, thresh);
imagesc(labels)
axis square
title('Coarse label image');

Преобразуйте изображение меток обратно в blockedImage, используя ту же пространственную ссылку, что и исходное изображение.

blabels = blockedImage(labels,'WorldStart',bim.WorldStart(3,1:2),...
    'WorldEnd', bim.WorldEnd(3,1:2));

Отображение исходного blockedImage.

figure
hB = bigimageshow(bim);

Наложение изображения меток на исходное заблокированное изображение на новой оси. Интерполяция используется для обеспечения четкости границ меток и свойства AlphaData для управления прозрачностью слоя меток. Отключите видимость осей, чтобы нижележащее изображение отображалось насквозь. Укажите уникальные цвета для каждой метки.

hLa = axes;
hL = bigimageshow(blabels, 'Parent', hLa);
hL.Interpolation = 'nearest';
hL.AlphaData = 0.3;
hLa.Visible = 'off';
hLa.CLim = [1 numClasses];
colormap(hLa,hsv(numClasses));

Ссылки

[1] Бейнорди, Бабак Эхтешами, Митко Вета, Пол Йоханнес ван Диест, Брэм ван Гиннекен, Нико Карссемайер, Герт Литьенс, Йерун А. В. ван дер Лаак, и др. «Диагностическая оценка алгоритмов глубокого обучения для выявления метастазов в лимфатические узлы у женщин с раком молочной железы». JAMA 318, № 22 (12 декабря 2017): 2199-2210. https://doi.org/10.1001/jama.2017.14585.

См. также

|

Внешние веб-сайты

Представлен в R2019b