Объемная визуализация и трехмерное наложение Matlab - PullRequest
5 голосов
/ 31 мая 2010

Вопрос в значительной степени название.

У меня есть 3D-том, загруженный как необработанные данные [256, 256, 256] = size(A). Он содержит только значения нулей и единиц, где 1 представляет структуру, а 0 - "воздух".

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

Итак, чтобы быть более точным:

  1. Как мне визуализировать 3D-объем. 0 прозрачно, 1 полупрозрачно?
  2. Построить линию в 3d-визуализации как наложение?

Я уже читал учебники MathWorks, и они не помогли. Я попытался использовать команду set, но она не дает полного результата, говоря, что для каждого свойства я пытаюсь "недопустимое корневое свойство".

Ответы [ 2 ]

6 голосов
/ 31 мая 2010

Я не уверен, что понимаю вторую часть вопроса, но вот как вы визуализируете трехмерный том, используя изоповерхности (я использую данные о потоке жидкости в качестве примера )

%# get a sample data with 0 for empty, 1 for solid
[~,~,~,v] = flow;
v = double( v<-3 );

%# visualize the volume
p = patch( isosurface(v,0) );                 %# create isosurface patch
isonormals(v, p)                              %# compute and set normals
set(p, 'FaceColor','r', 'EdgeColor','none')   %# set surface props
daspect([1 1 1])                              %# axes aspect ratio
view(3), axis vis3d tight, box on, grid on    %# set axes props
camproj perspective                           %# use perspective projection
camlight, lighting phong, alpha(.5)           %# enable light, set transparency

flow_volume

Чтобы узнать больше о визуализации объема в MATLAB, обратитесь к этой превосходной серии видеоуроков , размещенной в блоге Дуга

1 голос
/ 13 июня 2010

Есть отличная утилита под названием vol3d от сотрудника mathworks Джо Конти. Я думаю, что он точно отвечает вашим потребностям в визуализации - попробуйте.

Обновление (11/2012) : Файл, на который есть ссылка выше, больше не существует. Здесь есть новая версия .

...