exponenta event banner

volshow

Описание

Показать объем, создание volshow со свойствами, управляющими внешним видом экрана.

Создание

Описание

пример

volshow(V) отображает 3-D объем в градациях серого V на рисунке. С помощью мыши можно поворачивать и уменьшать изображение экрана в интерактивном режиме.

volshow(V,config) отображает 3-D объем в градациях серого V. config - структура, экспортированная из приложения «Просмотр томов». config struct управляет визуализацией тома, содержащего значения для volshow свойства объекта.

volshow(V,Name,Value) отображает объем, используя одну или несколько пар имя-значение для задания свойств, управляющих визуализацией тома. Список пар имя-значение см. в разделе Свойства. Заключите каждое свойство в кавычки. Например, 'BackgroundColor'.

vs = volshow(___) возвращает volshow со свойствами, которые можно использовать для управления визуализацией тома.

Входные аргументы

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

3-D том в градациях серого, заданный как числовой массив.

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

Сведения о тонировании, экспортированные средством просмотра томов, указаны как структура.

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

Свойства

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

Сопоставление прозрачности для содержимого тома, заданного как числовой массив 256 на 1, со значениями в диапазоне [0 1].

Цвет фона, заданный как MATLAB ®ColorSpec. Интенсивности должны находиться в диапазоне [0,1].

Расположение камеры или точки обзора, заданной как трехэлементный вектор формы [x y z]. Этот вектор определяет координаты осей расположения камеры, которая является точкой просмотра осей. Камера ориентирована вдоль оси обзора, которая является прямой линией, соединяющей положение камеры и цель камеры. Изменение CameraPosition свойство изменяет точку, с которой просматривается объем. Иллюстрацию см. в разделе Терминология графики камеры. Интерактивное вращение тома изменяет значение этого свойства.

Точка, используемая в качестве цели камеры, заданная как трехэлементный вектор формы [x y z]. Камера ориентирована вдоль оси обзора, которая является прямой линией, соединяющей положение камеры и цель камеры. Иллюстрацию см. в разделе Терминология графики камеры.

Вектор, определяющий направление вверх, заданный как трехэлементный вектор направления формы [x y z]. По умолчанию volshow определяет ось Z как направление вверх ([0 0 1]). Иллюстрацию см. в разделе Терминология графики камеры. Интерактивное вращение тома изменяет значение этого свойства.

Поле зрения, указанное как скалярный угол в диапазоне [0, 180). Чем больше угол, тем больше поле зрения. Кроме того, по мере увеличения угла объекты становятся меньше в сцене. Иллюстрацию см. в разделе Терминология графики камеры.

Цветовая карта содержимого тома, заданная как числовой массив 256 на 3 со значениями в диапазоне [0, 1].

Интерактивность тома, указанного как true или false. Когда true, можно увеличить с помощью колесика прокрутки мыши и повернуть, щелкнув и перетащив объем. Поворот и зумирование выполняются относительно значения, заданного параметром CameraTarget собственность. Когда false, невозможно взаимодействовать с томом.

Цвет изоповерхности, заданный как MATLAB ColorSpec, со значениями в диапазоне [0 1]. Это свойство задает цвет громкости при Renderer свойство имеет значение 'Isosurface'.

Значение, определяющее объемную поверхность, нарисованную при Renderer свойство имеет значение 'Isosurface', указанное как неотрицательное число в диапазоне [0, 1].

Включить источник света в рендеринг, указанный как логический скаляр.

Родитель volshow объект, заданный в качестве дескриптора для uipanel или figure. Если родительский элемент не указан, то родительский элемент volshow объект - gcf.

Стиль визуализации, указанный как одно из значений в этой таблице. Когда том logical, стиль визуализации по умолчанию: 'Isosurface', в противном случае стилем визуализации по умолчанию является 'VolumeRendering'.

СтоимостьОписание
'VolumeRendering'Просмотр объема на основе заданного цвета и прозрачности для каждого вокселя.
'MaximumIntensityProjection'Просмотрите воксель с наибольшим значением интенсивности для каждого луча, проецируемого через данные.
'Isosurface'Просмотр изоповерхности объема, указанного значением в Isovalue.

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

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

setVolumeЗадать новый том

Примеры

свернуть все

Загрузите и просмотрите объем.

load('spiralVol.mat');
h = volshow(spiralVol);

Укажите имя GIF-файла.

filename = 'animatedSpiral.gif';

Создайте массив положений камеры вокруг единичной окружности.

vec = linspace(0,2*pi(),120)';
myPosition = [cos(vec) sin(vec) ones(size(vec))];

Выполните закольцовывание и создайте изображение в каждом положении камеры.

for idx = 1:120
    % Update current view.
    h.CameraPosition = myPosition(idx,:);
    % Use getframe to capture image.
    I = getframe(gcf);
    [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 mri
V = squeeze(D);

Создайте цветную карту и карту прозрачности (альфа), подходящую для изображений МРТ.

intensity = [0 20 40 120 220 1024];
alpha = [0 0 0.15 0.3 0.38 0.5];
color = ([0 0 0; 43 0 0; 103 37 20; 199 155 97; 216 213 201; 255 255 255]) ./ 255;
queryPoints = linspace(min(intensity),max(intensity),256);
alphamap = interp1(intensity,alpha,queryPoints)';
colormap = interp1(intensity,color,queryPoints);

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

vol = volshow(V,'Colormap',colormap,'Alphamap',alphamap);

Загрузить данные.

load mri
V = squeeze(D);

Создайте карту цветов и альфа-карту, которые идеально подходят для визуализации изображений КТ.

intensity = [-3024,-16.45,641.38,3071];
alpha = [0, 0, 0.72, 0.72];
color = ([0 0 0; 186 65 77; 231 208 141; 255 255 255]) ./ 255;
queryPoints = linspace(min(intensity),max(intensity),256);
alphamap = interp1(intensity,alpha,queryPoints)';
colormap = interp1(intensity,color,queryPoints);

Просмотр тома с помощью пользовательской карты цветов и alphamap

volshow(V,'Colormap',colormap,'Alphamap',alphamap);

Совет

  • volshow функция создает uipanel объект в указанной родительской фигуре. Панели представляют собой контейнеры, объединяющие компоненты пользовательского интерфейса. volshow отображает объемные данные в uipanel. Напротив, imshow отображает изображения в Axes. При звонке imshow для отображения изображения на рисунке, на котором volshow вывел том, затем imshow не перезаписывает том, отображаемый volshow. Axes создано imshow отображается позади uipanel.

Представлен в R2018b