volshow

Отобразите объемные данные

Описание

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

Создание

Синтаксис

volshow(V)
volshow(V,Name,Value)
h = volshow(___)

Описание

пример

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

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

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

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

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

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

Свойства

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

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

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

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

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

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

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

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

| | |

Введенный в R2019a