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'

'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])

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

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

|

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

Введенный в R2019b