bigimageshow

Отобразите 2D blockedImage объект

Описание

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

Создание

Описание

bigimageshow(bim) отображает 2D блокированное изображение 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 создает новую фигуру.

2D blockedImage возразите, чтобы отобразиться в виде blockedImage объект.

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

Методы оказывают эти влияния:

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

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

    • Если значения имеют тип uint8uint16uint32uint64 int8int16int32, или int64, значения 0 или меньше карты к первому раскрашивает палитру. Значения, равные или больше, чем длина палитры, сопоставляют с последним цветом в палитре (или до пределов области значений типа).

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

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

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

  • Числовой скаляр — Использование сопоставимая прозрачность через целое изображение.

  • 2D blockedImage объект — данные о Прозрачности должны иметь ту же степень строк и столбцов как CData 2D 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 фигуры. Минимальные и максимальные альфа-пределы осей определяют альфа-значения данных, которые сопоставляют с первыми и последними элементами в alphamap, соответственно. Например, если альфа-пределами является [3 5], альфа-значения данных, меньше чем или равные 3 сопоставьте с первым элементом в alphamap. Альфа-значения данных, больше, чем или равный 5 сопоставьте с последним элементом в alphamap. ALim свойство осей содержит альфа-пределы. Alphamap свойство фигуры содержит alphamap.

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

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

    • Если значения имеют целое число типа, то значения 0 или меньше карт к первому элементу в alphamap. Значения, равные или больше, чем длина alphamap, сопоставляют с последним элементом в alphamap (или до пределов области значений типа). Целочисленными типами является uint8uint16uint32uint64int8int16int32, и int64.

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

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

Режим выбора для уровня разрешения в виде одного из этих значений:

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

  • 'manual' — Вручную задайте уровень разрешения путем установки ResolutionLevel свойство.

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

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

  • положительное целое число — Отображение сетка, заданная в виде числа, которое идентифицирует уровень разрешения 2D 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'

Sample of the color red

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

Sample of the color green

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

Sample of the color blue

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

Sample of the color cyan

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

Sample of the color magenta

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

Sample of the color yellow

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

Sample of the color black

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

Sample of the color white

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

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

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]'#D95319'

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]'#EDB120'

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]'#7E2F8E'

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]'#77AC30'

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]'#4DBEEE'

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]'#A2142F'

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

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

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

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

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

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

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

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

Стиль линииОписаниеПолучившаяся линия
'-'Сплошная линия

Solid line

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

Dashed line

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

Dotted line

'-.'Штрихпунктирная линия

Line with alternating dashes and dots

Чтобы отобразить линии сетки, установите GridVisible свойство к 'on'.

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

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

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

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

  • 'on' — Отобразите bigimageshow объект.

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

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

showmaskПокажите наложение маски в заданном пороге включения
hidemaskСкройте наложение маски в bigimageshow объект
showlabelsОтобразите наложение метки на bigimageshow объект
hidelabelsСкройте наложение метки на bigimageshow объект

Примеры

свернуть все

Этот пример использует модифицированную версию учебного изображения лимфатического узла, содержащего ткань опухоли (tumor_091.tif) от набора данных CAMELYON16. Модифицированное изображение имеет три крупных уровня разрешения и было настроено, чтобы осуществить сопоставимое соотношение сторон и указать функции на каждом уровне.

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

bim = blockedImage('tumor_091R.tif');

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

h = bigimageshow(bim);

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

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

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

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

Создайте блокированное изображение из демонстрационного изображения tumor_091R.tif. Это демонстрационное изображение является учебным изображением лимфатического узла, содержащего ткань опухоли от набора данных CAMELYON16. Изображение было изменено, чтобы иметь три крупных уровня разрешения и было настроено, чтобы осуществить сопоставимое соотношение сторон и указать функции на каждом уровне.

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

Отобразите блокированное изображение с bigimageshow. Укажите, что вы хотите, чтобы сетка отобразилась на самом прекрасном уровне разрешения (уровень 1). Также задайте цвет, ширину и прозрачность линий сетки.

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

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

Создайте блокированное изображение из демонстрационного изображения tumor_091R.tif. Это демонстрационное изображение является учебным изображением лимфатического узла, содержащего ткань опухоли от набора данных CAMELYON16. Изображение было изменено, чтобы иметь три крупных уровня разрешения и было настроено, чтобы осуществить сопоставимое соотношение сторон и указать функции на каждом уровне.

bim = blockedImage('tumor_091R.tif');

Создайте крупную маску с помощью blockedImage apply объектная функция.

bmask = apply(bim, @(bs)im2gray(bs.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_091R.tif. Это демонстрационное изображение является учебным изображением лимфатического узла, содержащего ткань опухоли от набора данных CAMELYON16. Изображение было изменено, чтобы иметь три крупных уровня разрешения и было настроено, чтобы осуществить сопоставимое соотношение сторон и указать функции на каждом уровне.

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);

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

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, @(bs)bs.Data, 'BlockLocationSet', bls);
figure
bigimageshow(bregion);
%

Создайте блокированное изображение из демонстрационного изображения tumor_091R.tif. Это демонстрационное изображение является учебным изображением лимфатического узла, содержащего ткань опухоли от набора данных CAMELYON16. Изображение было изменено, чтобы иметь три крупных уровня разрешения и было настроено, чтобы осуществить сопоставимое соотношение сторон и указать функции на каждом уровне.

bim = blockedImage("tumor_091R.tif");

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

Сначала получите изображение одно разрешения. По умолчанию, gather получает данные из самого грубого уровня разрешения.

cim = gather(bim);

Преобразуйте изображение в шкалу полутонов. Используйте multithresh вычислить три пороговых значения, чтобы преобразовать изображение в четырехуровневое изображение.

cgim = im2gray(cim);
numClasses = 4;
thresh = multithresh(cgim,numClasses-1);

Сегментируйте изображение на четыре области с помощью imquantize, определение пороговых уровней, возвращенных multithresh.

labels = imquantize(cgim,thresh);
imagesc(labels)
axis square
title("Coarse Label Image")

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

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

Отобразите исходное блокированное изображение.

figure
hB = bigimageshow(bim);

Наложите labels отобразите на исходном блокированном изображении.

showlabels(hB,blabels)

Ссылки

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

[2] Главная проблема. https://camelyon17.grand-challenge.org/Data/.

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

|

Введенный в R2019b