sliceViewer

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

Описание

sliceViewer срезы индивидуума отображений объекта шкалы полутонов и объемов RGB. Можно управлять который срез отобразиться при помощи ползунка.

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

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

Примечание

По умолчанию перетаскивание мыши в срезе, отображенном в интерактивном режиме, изменяет их яркость и контраст, метод под названием window/level. Перетаскивание мыши горизонтально от левого до права изменяет контраст. Перетаскивание мыши вертикально вверх и вниз по изменениям яркость. Удержание клавиши Ctrl при перетаскивании мыши ускоряет изменения. Удержание клавиши Shift при перетаскивании мыши замедляет скорость изменения. Нажмите эти клавиши перед перетаскиванием. Чтобы управлять этим поведением, используйте свойство DisplayRangeInteraction.

Создание

Описание

пример

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

sliceViewer(___,Name,Value) аргументы пары "имя-значение" использования свойств наборов. Можно задать несколько пар "имя-значение". Заключите каждое имя свойства в одинарные кавычки.

Пример: sliceViewer(V,'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]. Colormap свойство не оказывает влияния когда V стек изображений RGB.

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

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

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

Родительский элемент 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;

Цикл через числа среза и создает изображение каждого отображенного среза. Запишите изображения в файл GIF.

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

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

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