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.

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

| | | |

Введенный в R2018b