MATLAB Answers


How to visualize a volume with isosurfaces

Asked by Alessandro Russo on 18 Mar 2016
Latest activity Answered by James Ryland on 11 May 2017
Hi all. I have a 3d array of a TC scan, of 512x512x125, and i want to obtain a 3d visualization to rotate and see from different angles. I used vol3d but it seems it's impossible to use the original grayscale, so i'd like to use other tools like the in built function isosurface (i tried slice but it's too heavy for my pc and it freezes). However i don't understand the correct syntax, because just with
i get a white box, with nothing represented. How do i correctly use it? Thanks in advance.


Show 1 older comment
yes it is a TC scan with contrast medium, in DICOM format; but it actually should be grayscale, because read with dicomread i get uint16 images with no negative values. However if it was as you say, what should i do?
I tried vol3d with uint16 images. The only difficulty I had was in not giving it the right syntax, and not doing the view(3) after
vol3d('CData', YourTCMatrix);
If i use this syntax i still get a coloured image and not the wanted grayscale original image!

Sign in to comment.

1 Answer

Answer by James Ryland on 11 May 2017

Isosurface is incredibly expensive, you probably do not want to use it for densely sampled data like structural mri scans. I know because I tried exactly that method years ago when I was trying to develop 3D visualization techniques in matlab. Lucky for you there are matlab programs that could help.
Solution 1: Volumetric 3 is a full matlab application for visualizing layered 3D density matrices. It was designed to work with fmri and mri but it can handle arbitrary 3D arrays stored as .mat files.
Solution 2: A much simpler tool is Vol3D. But with a lot of programming on your end you can get it to do pretty much anything volumetric 3 does, in that they use highly similar (though distinct) techniques for generating visualizations.


Sign in to comment.