Отобразите 2D blockedImage
объект
bigimageshow
данные об отображениях объекта из blockedImage
объект. bigimageshow
возразите прогрессивно загружает данные изображения на основе степеней изображений и разрешения экрана.
bigimageshow(
отображает 2D блокированное изображение bim
)bim
.
Для категориальных данных, bigimageshow
устанавливает палитру оси на parula
. Для числовых данных, gray
палитра по умолчанию.
b = bigimageshow(___)
возвращает bigimageshow
объект b
. Используйте b
изменить настройки отображения после того, как вы отображаете блокированное изображение.
начальная буква наборов отображает свойства с помощью пар "имя-значение". Можно задать несколько пар "имя-значение". Заключите каждый аргумент или имя свойства в кавычках.b
= bigimageshow(___,Name,Value
)
Например, bigimageshow(bim,'GridVisible','on','GridLineStyle',':')
отображает блокированное изображение, bim
, и оверлейные программы отметили точкой линии сетки.
bim
— Блокированное изображениеblockedImage
объектБлокированное изображение в виде blockedImage
объект.
hax
— Родительские осиРодительские оси bigimageshow
объект в виде объекта осей.
Parent
— Родительские оси bigimageshow
объектgca
(значение по умолчанию) | axes
объектРодительские оси bigimageshow
объект в виде axes
объект. Если вы не задаете родительский элемент, bigimageshow
использует указатель на текущую фигуру, gca
. Если фигура не существует, bigimageshow
создает новую фигуру.
CData
— 2D blockedImage
возразите, чтобы отобразитьсяblockedImage
объект2D blockedImage
возразите, чтобы отобразиться в виде blockedImage
объект.
CDataMapping
— Цветной метод отображения данных'direct'
(значение по умолчанию) | 'scaled'
Цветной метод отображения данных в виде 'direct'
или 'scaled'
. Используйте это свойство управлять отображением цветных значений данных в CData
в палитру. CData
должен быть вектор или матрица, задающая индексированные цвета. Это свойство не оказывает влияния если CData
трехмерный массив, задающий цвета RGB.
Методы оказывают эти влияния:
'direct'
— Интерпретируйте значения как индексы в текущую палитру. Значения с десятичным фрагментом фиксируются до самого близкого более низкого целого числа.
Если значения имеют тип double
или single
, значения 1
или меньше карты к первому раскрашивает палитру. Значения, равные или больше, чем длина палитры, сопоставляют с последним цветом в палитре.
Если значения имеют тип uint8
uint16
uint32
uint64
int8
int16
int32
, или int64
, значения 0
или меньше карты к первому раскрашивает палитру. Значения, равные или больше, чем длина палитры, сопоставляют с последним цветом в палитре (или до пределов области значений типа).
Если значения имеют тип logical
, значения 0
карта к первому раскрашивает палитру и значения 1
сопоставьте со вторым цветом в палитре.
'scaled'
— Масштабируйте значения, чтобы расположиться между минимальными и максимальными цветными пределами. CLim
свойство осей содержит цветные пределы.
AlphaData
— Данные о прозрачности
(значение по умолчанию) | числовой скаляр |
blockedImage
объектДанные о прозрачности, заданные в одной из следующих форм:
Числовой скаляр — Использование сопоставимая прозрачность через целое изображение.
2D blockedImage
объект — данные о Прозрачности должны иметь ту же степень строк и столбцов как CData
2D blockedImage
объект. Блокированное изображение может иметь несколько уровней разрешения, в этом случае, bigimageshow
выбирает уровень, самый близкий к текущему ResolutionLevel
для отображения.
AlphaDataMapping
свойство управляет как MATLAB® интерпретирует альфа-значения прозрачности данных.
Пример: 0.5
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
AlphaDataMapping
— Интерпретация AlphaData
значения 'none'
(значение по умолчанию) | 'scaled'
| 'direct'
Интерпретация 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 (или до пределов области значений типа). Целочисленными типами является uint8
uint16
uint32
uint64
int8
int16
int32
, и int64
.
Если значения имеют тип logical
, значения 0
сопоставьте с первым элементом в alphamap и значениях 1
сопоставьте со вторым элементом в alphamap.
ResolutionLevel
— Уровень разрешения'fine'
| 'coarse'
Уровень разрешения 2D blockedImage
возразите, чтобы отобразиться в виде положительного целого числа, которое идентифицирует уровень разрешения 2D blockedImage
объект в свойстве CData. Уровень разрешения может также быть задан как 'fine'
или 'coarse'
соответствие этим двум пределам. Значение по умолчанию вычисляется на основе доступного экранного пробела и разрешения.
ResolutionLevelMode
— Режим выбора для уровня разрешения'auto'
(значение по умолчанию) | 'manual'
Режим выбора для уровня разрешения в виде одного из этих значений:
'auto'
— Автоматически выберите уровень разрешения на основе родительских осей и доступного размера экрана.
'manual'
— Вручную задайте уровень разрешения путем установки ResolutionLevel
свойство.
GridVisible
— Видимость сетки'off'
(значение по умолчанию) | 'on'
Видимость сетки в виде 'off'
или 'on'
. bigimageshow
располагает сетку с интервалами в мировых единицах измерения, чтобы включать столько же пикселей, сколько задано CData
.BlockSize
в текущем GridResolutionLevel
.
GridLevel
— Уровень разрешения блокированного изображения, в котором можно показать сетку'fine'
| 'coarse'
Уровень разрешения блокированного изображения, в котором можно показать сетку в виде одного из этих значений:
положительное целое число — Отображение сетка, заданная в виде числа, которое идентифицирует уровень разрешения 2D blockedImage
объект в свойстве CData. Значение между 1 и значение NumLevels
свойство блокированного изображения в bigimageshow
CData
свойство.
'fine'
— Отобразите сетку на самом прекрасном уровне разрешения.
'coarse'
— Отобразите сетку на самом грубом уровне разрешения.
По умолчанию, GridLevel
имеет то же значение как ResolutionLevel
свойство.
GridLevelMode
— Режим выбора для уровня сети'auto'
(значение по умолчанию) | 'manual'
Режим выбора для уровня сети в виде одного из этих значений:
'auto'
— Выберите уровень разрешения сетки, чтобы совпадать с уровнем разрешения данных изображения ResolutionLevel
.
'manual'
— Вручную задайте уровень разрешения сетки путем установки GridLevel
свойство.
GridColor
— Цвет линий сетки'blue'
(значение по умолчанию) | триплет RGB | шестнадцатеричный цветовой код | название цвета | короткое название цветаЦвет линий сетки в виде триплета 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'
GridAlpha
— Прозрачность линии сетки
(значение по умолчанию) | значение в области значений [0,1]Прозрачность линии сетки в виде значения в области значений [0, 1]. Значение 1
означает абсолютно непрозрачный и значение 0
абсолютно прозрачные средние значения. Чтобы отобразить линии сетки, установите GridVisible
свойство к 'on'
.
GridLineWidth
— Ширина линии сетки
(значение по умолчанию) | положительное числовое значениеШирина линии сетки в виде положительного числового значения, измеренного в точках. Чтобы отобразить линии сетки, установите GridVisible
свойство к 'on'
.
GridLineStyle
— Стиль линии сетки'-'
(значение по умолчанию) | '--'
| ':'
| '-.'
Стиль линии сетки в виде одного из стилей линии в этой таблице.
Стиль линии | Описание | Получившаяся линия |
---|---|---|
'-' | Сплошная линия |
|
'--' | Пунктирная линия |
|
':' | Пунктирная линия |
|
'-.' | Штрихпунктирная линия |
|
Чтобы отобразить линии сетки, установите GridVisible
свойство к 'on'
.
Interpolation
метод интерполяции'linear'
(значение по умолчанию) | 'nearest'
Метод интерполяции раньше передискретизировал пиксели в виде 'linear'
для билинейной интерполяции или 'nearest'
для самой близкой соседней интерполяции.
Для категориальных данных, bigimageshow
поддержки только самая близкая соседняя интерполяция. Для логических данных значением по умолчанию является 'nearest'
.
В системах Windows с версией программного обеспечения OpenGL единственной поддерживаемой опцией интерполяции является 'nearest'
.
Visible
— Управляйте видимостью изображений'on'
(значение по умолчанию) | 'off'
Управляйте видимостью изображений в виде одного из этих значений:
'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);
Создайте блокированное изображение из демонстрационного изображения 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/.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.