volshow

Описание

Отобразите объем, создав volshow объект со свойствами, которые управляют внешним видом отображения.

Создание

Описание

пример

volshow(V) отображает 3-D полутоновый объем V в фигуре. Можно вращать и увеличить и уменьшить масштаб на отображении в интерактивном режиме с помощью мыши.

volshow(V,config) отображает 3-D полутоновый объем V. config struct, экспортируемый из приложения Volume Viewer. config struct управляет визуализацией объема, содержа значения для volshow свойства объектов.

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

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

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

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

3-D полутоновый объем, заданный как числовой массив.

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

Рендеринг информации, экспортируемой Volume Viewer, заданным как struct.

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

Свойства

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

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

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

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

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

Вектор, задающий вверх направление, заданное как трехэлементный вектор направления формы [x y z]. По умолчанию, volshow задает z - ось как направление ([0 0 1]). Для рисунка смотрите Терминологию Графики Камеры (MATLAB). В интерактивном режиме вращение объема изменяет значение этого свойства.

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

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

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

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

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

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

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

Стиль рендеринга, заданный как одно из значений в этой таблице. Когда объемом является logical, Renderer по умолчанию 'Isosurface', в противном случае Renderer по умолчанию '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

Загрузите данные MRI и удалите одноэлементную размерность.

load mri
V = squeeze(D);

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

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

Сгенерируйте палитру и alphamap, которые идеальны для визуализации изображений CT.

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

Отображаемый объем с пользовательским Colormap и Alphamap

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

Советы

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

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

| | |

Введенный в R2019a