sliceViewer

Просмотрите фрагменты изображения

Описание

sliceViewer объект открывает средство просмотра для исследования объемы RGB и шкала полутонов.

Используйте sliceViewer смотреть на отдельные срезы в объемах. Когда средство просмотра открывается, оно отображает среднее изображение в стеке в направлении, заданном SliceDirection свойство. Используйте ползунок, чтобы перейти через объем и просмотреть отдельные срезы.

sliceViewer свойства поддержки объектов, объектные функции и события, которые можно использовать, чтобы настроить его внешний вид и поведение. sliceViewer может отправить уведомления, когда определенные события, такие как перемещение ползунка, имеют место. Для получения дополнительной информации смотрите События.

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

Создание

Описание

пример

sliceViewer(S) отображает шкалу полутонов или объем RGB S в фигуре. Фигура включает ползунок, который можно использовать, чтобы просмотреть отдельные срезы объема.

sliceViewer(S,Name,Value) свойства наборов с помощью пар "имя-значение". Например, sliceViewer(S,'Colormap',cmap) создает sliceViewer объект, задающий палитру раньше, отображал объем. Можно задать несколько пар "имя-значение". Заключите каждое имя свойства в одинарные кавычки.

sv = sliceViewer(___) возвращает sliceViewer объект, sv, со свойствами, которые могут использоваться, чтобы управлять визуализацией объема. Используйте входные параметры от любого из предыдущих синтаксисов.

Входные параметры

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

Введите объем, заданный как m-by-n-by-p-by-c числовой массив. Для полутоновых объемов, c 1. Для объемов RGB c равняется 3. Объемы RGB могут иметь только класс uint8uint16единственный, или double.

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

Свойства

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

Палитра стека изображений, заданного как m-by-3 числовой массив со значениями в области значений [0 1]. Когда S стек изображений RGB, Colormap не оказывает влияния.

Отобразите область значений стека изображений, заданного как двухэлементный числовой вектор формы [low high]. Значение low (и любое значение меньше, чем low) отображения как черные. Значение high (и любое значение, больше, чем high) отображения как белые. Значения в области значений [low high] отображение как промежуточные оттенки серого, с помощью количества по умолчанию уровней серого. Если вы задаете пустой матричный ([]), sliceViewer возразите использует значение по умолчанию. Когда вы задаете стек изображений RGB, DisplayRange не оказывает влияния.

Включите интерактивное управление диапазона отображения, указанного как одно из значений в этой таблице. Чтобы узнать больше об интерактивном поведении, смотрите раздел Creation.

ЗначениеОписание
'on' (значение по умолчанию)Управляйте областью значений отображения стека полутонового изображения путем щелчка левой кнопкой по мыши и перетаскивания его на осях.
'off'Отключите интерактивность области значений отображения.

Родительский элемент sliceViewer объект, заданный как указатель на uipanel или фигура создается с figure или uifigure команды. Если вы не задаете родительский элемент, родительский элемент sliceViewer объектом является gcf.

Масштабные коэффициенты раньше повторно масштабировали объем, заданный как 1 3 положительный числовой вектор. Значения в массиве соответствуют масштабному коэффициенту, примененному в x, y и направлениях z.

Направление, в котором можно просмотреть стек изображений, заданный как 1 3 логический вектор или один из векторов символов в этой таблице.

Символьный векторЛогический векторОписание
'X' [1 0 0]Просмотрите в направлении X
'Y'[0 1 0]Просмотрите в направлении Y
'Z' (значение по умолчанию)[0 0 1]Просмотрите в направлении Z

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

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

addlistenerСоздайте прослушиватель события, связанный с источником события
getAxesHandleПолучите указатель на оси в средстве просмотра среза

Примеры

свернуть все

Загрузите данные MRI в рабочую область.

load mristack

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

cmap = parula(256);
s = sliceViewer(mristack,'Colormap',cmap);

Загрузите данные MRI в рабочую область.

load mristack

Просмотрите данные в Средстве просмотра Среза.

s = sliceViewer(mristack);

Получите указатель осей, содержащих срез.

hAx = getAxesHandle(s);

Задайте имя файла GIF, который вы хотите создать.

filename = 'animatedSlice.gif';

Создайте массив чисел среза.

sliceNums = 1:21;

Цикл через и создает изображение в положении среза.

for idx = sliceNums
    % Update slice number.
    s.SliceNumber = idx;
    % Use getframe to capture image.
    I = getframe(hAx);
    [indI,cm] = rgb2ind(I.cdata,256);
    % Write frame to the GIF file.
    if idx == 1
        imwrite(indI,cm,filename,'gif','Loopcount',inf,'DelayTime', 0.05);
    else
        imwrite(indI,cm,filename,'gif','WriteMode','append','DelayTime', 0.05);
    end
end

Загрузите стек изображений.

load mristack

Задайте пользовательскую палитру для просмотра срезов.

cmap = parula(256);

Просмотрите стек изображений в Средстве просмотра Среза.

s = sliceViewer(mristack,'Colormap',cmap);

Настройте прослушиватели для двух ползунков Средства просмотра Среза движущиеся события. Когда вы перемещаете ползунок, Средство просмотра Среза отправляет уведомления об этих событиях и выполняет функцию обратного вызова, которую вы задаете.

addlistener(s,'SliderValueChanging',@allevents);
addlistener(s,'SliderValueChanged',@allevents);

allevents функция обратного вызова только отображает имя каждого события и текущее положение ползунка.

function allevents(src,evt)
    evname = evt.EventName;
    switch(evname)
        case{'SliderValueChanging'}
            disp(['Slider value changing event: ' mat2str(evt.CurrentValue)]);
        case{'SliderValueChanged'}
            disp(['Slider value changed event: ' mat2str(evt.CurrentValue)]);
    end
end

Больше о

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

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

| | |

Введенный в R2019b