Plotting volumetric data in MATLAB

What you really have is Volumetric data.

I guess that you have is a value of C for every X,Y,Z.
And it actually depends a lot in what type of data you have. You’d need to give more information for an specific answer.

In general have a look to Volumetric data visualization techniques, but there is not just one way of doing this. Following i will leave you some examples you may want to try.


Slideomatic

One option is to use the Sliceomatic from FE:

enter image description here


Plotting slices

If you have medical data (or data on a big range)
you may want to use the typical approach of plotting just some of the slices. You can do that using subplot() and imshow(squeeze(:,:, slice)), or by just concatenating all slices together as img=[squeeze(:,:, slice1)) squeeze(:,:, slice2)); squeeze(:,:, slice3)) squeeze(:,:, slice4))], for example.

enter image description here


Isosurfaces

You may also just want to plot some equipotential surfaces of your data. You can create some surfaces and plot them using isosurface:

enter image description here


Vold3D for indexed images

Or if your image is indexed image you may want to use vol3D

enter image description here


Pcolor3

A useful tool if you have “smooth” 3D data is pcolor3, as it fills the 3D volume with semi-transparent surfaces that give the a nice visual 3D perception of “color clouds”

enter image description here


Disclaimer: I have no relation to any of the toolboxes presented here and I chose them by my own opinion. There are probably more, tools for this and if you think you want to add some, please edit the question freely.

Leave a Comment