Как эффективно построить воксельную сетку с цветовым кодированием меток?

Мне нужно визуализировать сетку вокселей, где каждому вокселю назначено некоторое значение метки (0:11), которое должно отражать его цвет.

Я нашел этот ответ, но он действительно медленный для моего входного объема размером [60x36x60] (возможно, из-за циклов Matlab).

Есть ли более эффективное решение?

Мне нужно, чтобы изображение выглядело хорошо с настоящим 3D-эффектом, поэтому я не могу использовать 2D-проекции, как это делалось до сих пор:

[X,Y,Z] = meshgrid(1:size(A,1),1:size(A,2),1:size(A,3));
xyz=[X(:) Y(:) Z(:)];
idx = A~=0;
pcshow(xyz(idx,:),A(idx),'MarkerSize',100)
xlabel('X')
ylabel('Y')
zlabel('Z')

az = -16.3701;
el  =  51.2305;
view(az,el);

A представляет собой целочисленный массив размером [60x60x36] с метками 0:11, метка "0" игнорируется:

0 ответов

Другие вопросы по тегам