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 свойство изменяет точку, с которой вы просматриваете том. Для рисунка смотрите Camera Graphics Terminology. Интерактивный поворот объема изменяет значение этого свойства.

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

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

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

Цветовая карта содержимого тома, заданная как числовой массив 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);

Просмотр тома с помощью пользовательских палитры и альфа-карты

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

Совет

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

Введенный в R2018b