Matlab - объединение ломтиков в трехмерный объем

Я измеряю расхождение кристаллитов в 3 зубах. Каждый зуб был физически разделен на 4 среза, и для каждого среза я создал сетку, используя Matlab. Я представил данные, как можно увидеть на картинке:

ломтики

Для каждого зуба я бы хотел сложить эти 4 среза в одну 3-мерную модель, используя matlab. Я хотел бы иметь возможность просматривать модель со всех трехмерных направлений. Пожалуйста, дайте мне знать, если моя идея осуществима и направьте меня в правильном направлении.

1 ответ

использование surf() функция

Если вы держите каждый кусочек как изображение, вы можете использовать surf() функция для отображения одного среза в виде плоской плоскости, окрашенной с изображением. Если изображение вашего слайса хранится в формате RGB в массиве sl с размерами [N,M,3] вы можете написать следующее:

% x, and y coordinates for each grid point
[x,y] = meshgrid(1:size(sl,2),1:size(sl,1));
% Position of slice in z-coordinate
z=0;
% Draw surface with slice projected onto
surf(x,y,repmat(z,size(sl)),sl,'edgecolor','none');

Чтобы добавить дополнительные ломтики выше или ниже, выдайте hold all командовать и размещать другие кусочки в разные z позиции и повторите выше для следующего среза.

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