How to plot surf for 3D images.

14 vues (au cours des 30 derniers jours)
mohd akmal masud
mohd akmal masud le 27 Juin 2022
Réponse apportée : KSSV le 27 Juin 2022
Dear all, I have 3D image as attached. How to plot it using surf fucntion? so that i can get the graph as below.
>> h = dicomread('h.dcm');
>> h = squeeze(h);
>> surf(h);
Error using matlab.graphics.chart.primitive.Surface
Value must be a scalar, vector or array of numeric type.
Error in surf (line 145)
hh = matlab.graphics.chart.primitive.Surface(allargs{:});

Réponse acceptée

KSSV
KSSV le 27 Juin 2022
dicom will be a 3D matrix..you cannot use surf straight away.
h = dicomread('h.dcm');
[m,n,p] = size(h) ;
figure
hold on
for i = 1:p
surf(h(:,:,i))
end
Have a look on slice

Plus de réponses (1)

Voss
Voss le 27 Juin 2022
unzip('h.zip')
h = dicomread('./h/h.dcm');
whos h
Name Size Bytes Class Attributes h 130x130x1x74 2501200 uint16
h = squeeze(h);
whos h
Name Size Bytes Class Attributes h 130x130x74 2501200 uint16
figure();
surf(h(:,:,1))
title('First Slice')
colormap(jet());
colorbar();
figure();
surf(h(:,:,end))
title('Last Slice')
colormap(jet());
colorbar();
figure();
surf(sum(h,3));
title('Sum of All Slices')
colormap(jet());
colorbar();

Catégories

En savoir plus sur Modify Image Colors dans Help Center et File Exchange

Produits


Version

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by