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
позиции и повторите выше для следующего среза.