Построение объемных данных в MATLAB

Я работаю в Matlab, и у меня есть 3D-матрица с размерами 384x512x160, которая выполнена из 384x512 срезов.

Как я могу построить такие данные?

1 ответов


то, что у вас действительно есть объемных данных.

Я думаю, что у вас есть значение C для каждого X, Y, Z. И это на самом деле зависит от того, какие данные у вас есть. Вам нужно дать больше информации для конкретного ответа.

в общем, посмотрите на Методы визуализации объемных данных, но есть не только один способ сделать это. После я оставлю вам несколько примеров, которые вы, возможно, захотите пытаться.


Slideomatic

один из вариантов-использовать Sliceomatic от FE:

enter image description here


построение срезов

если у вас есть медицинские данные (или данные о большом диапазоне) возможно, вы захотите использовать типичный подход построения только некоторых срезов. Вы можете сделать это с помощью subplot() и imshow(squeeze(:,:, slice)), или просто объединяя все срезы вместе как img=[squeeze(:,:, slice1)) squeeze(:,:, slice2)); squeeze(:,:, slice3)) squeeze(:,:, slice4))], для образец.

enter image description here


Isosurfaces

вы также можете просто построить некоторые эквипотенциальные поверхности ваших данных. Вы можете создать некоторые поверхности и построить их с помощью isosurface:

enter image description here


Vold3D для индексированных изображений

или если ваше изображение индексируется, вы можете использовать vol3D

enter image description here


Pcolor3

полезный инструмент, если у вас есть "гладкие" 3D-данные pcolor3, поскольку он заполняет объем 3D полупрозрачными поверхностями, которые дают хорошее визуальное 3D-восприятие "цветных облаков"

enter image description here


отказ от ответственности: я не имею никакого отношения к любому из представленных здесь наборов инструментов, и я выбрал их по своему собственному мнению. Вероятно, есть еще инструменты для этого, и если вы думаете, что хотите добавить некоторые, пожалуйста, отредактируйте вопрос свободно.