volshow

Описание

volshow объем отображений объекта и позволяет вам изменить внешний вид отображения.

Создание

Описание

пример

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

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

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

Пример: volshow(V,'BackgroundColor','w') отображает 3-D полутоновый объем V на рисунке с белым цветом фона.

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]. Картой прозрачности по умолчанию является векторный linspace(0,1,256)'.

Цвет фона в виде триплета RGB, названия цвета или короткого названия цвета.

Можно задать любой цвет с помощью триплета RGB. Триплет RGB является вектором-строкой с 3 элементами, элементы которого задают интенсивность красных, зеленых, и синих компонентов цвета. Интенсивность должна быть в области значений [0,1].

Можно задать некоторые простые цвета по наименованию как строковый скаляр или вектор символов. Эта таблица приводит опции именованного цвета и эквивалентные триплеты RGB.

Название цветаКраткое названиеТриплет RGBВнешний вид
'red''r'[1 0 0]

A rectangle colored pure red

'green''g'[0 1 0]

A rectangle colored pure green

'blue''b'[0 0 1]

A rectangle colored pure blue

'cyan' 'c'[0 1 1]

A rectangle colored pure cyan

'magenta''m'[1 0 1]

A rectangle colored pure magenta

'yellow''y'[1 1 0]

A rectangle colored pure yellow

'black''k'[0 0 0]

A rectangle colored black

'white''w'[1 1 1]

A rectangle colored white

Вот триплеты RGB для цветов по умолчанию что MATLAB® использование во многих типах графиков.

Триплет RGBВнешний вид
[0 0.4470 0.7410]

A rectangle colored medium blue

[0.8500 0.3250 0.0980]

A rectangle colored reddish-orange

[0.9290 0.6940 0.1250]

A rectangle colored dark yellow

[0.4940 0.1840 0.5560]

A rectangle colored dark purple

[0.4660 0.6740 0.1880]

A rectangle colored light green

[0.3010 0.7450 0.9330]

A rectangle colored light blue

[0.6350 0.0780 0.1840]

A rectangle colored dark red

Пример: 'BackgroundColor','r'

Пример: 'BackgroundColor','green'

Пример: 'BackgroundColor',[0 0.4470 0.7410]

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

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

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

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

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

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

Цвет изоповерхности в виде триплета RGB, названия цвета или короткого названия цвета. Это свойство задает цвет объема когда Renderer свойство установлено в 'Isosurface'.

Можно задать любой цвет с помощью триплета RGB. Триплет RGB является вектором-строкой с 3 элементами, элементы которого задают интенсивность красных, зеленых, и синих компонентов цвета. Интенсивность должна быть в области значений [0,1].

Можно задать некоторые простые цвета по наименованию как строковый скаляр или вектор символов. Эта таблица приводит опции именованного цвета и эквивалентные триплеты RGB.

Название цветаКраткое названиеТриплет RGBВнешний вид
'red''r'[1 0 0]

A rectangle colored pure red

'green''g'[0 1 0]

A rectangle colored pure green

'blue''b'[0 0 1]

A rectangle colored pure blue

'cyan' 'c'[0 1 1]

A rectangle colored pure cyan

'magenta''m'[1 0 1]

A rectangle colored pure magenta

'yellow''y'[1 1 0]

A rectangle colored pure yellow

'black''k'[0 0 0]

A rectangle colored black

'white''w'[1 1 1]

A rectangle colored white

Вот триплеты RGB для цветов по умолчанию, которые MATLAB использует во многих типах графиков.

Триплет RGBВнешний вид
[0 0.4470 0.7410]

A rectangle colored medium blue

[0.8500 0.3250 0.0980]

A rectangle colored reddish-orange

[0.9290 0.6940 0.1250]

A rectangle colored dark yellow

[0.4940 0.1840 0.5560]

A rectangle colored dark purple

[0.4660 0.6740 0.1880]

A rectangle colored light green

[0.3010 0.7450 0.9330]

A rectangle colored light blue

[0.6350 0.0780 0.1840]

A rectangle colored dark red

Пример: 'IsosurfaceColor','r'

Пример: 'IsosurfaceColor','green'

Пример: 'IsosurfaceColor',[0 0.4470 0.7410]

Значение, которое задает поверхность объема, чертившую когда 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

Загрузите данные 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);

Просмотрите объем с пользовательской палитрой и alphamap

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

Советы

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

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

| | | |

Введенный в R2018b