bigimageshow

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

Описание

A bigimageshow объект отображает данные из blockedImage объект. The 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 является трехмерным массивом, определяющим цвета RGB.

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

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

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

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

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

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

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

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

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

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

Пример: 0.5

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

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

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

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

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

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

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

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

Уровень разрешения 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])

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

См. также

|

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

Введенный в R2019b