How to visualize N-by-M-by-O matrix

6 views (last 30 days)
Konstantin
Konstantin on 3 Jul 2014
Edited: Konstantin on 3 Jul 2014
Hello,
I have a matrix M and each element M(x,y,z) has a real value. I want to visualize the value at each (x,y,z) point by a color/size ratio to value. I searched for other questions and tutorials, but it seems that what I found (scatter3, etc) requires me to have several different vectors X,Y,Z and V for the values, where X,Y,Z are column vectors corresponding to each spacial property of V (value). This is incredibly inefficient and I was thinking maybe there's a simpler way of visualizing this data. I don't want to restructure my code from scratch.
Basically, what I have is a scalar funtion C = F(x,y,z) and I want to represent that function in space. Something like this - http://mathematica.stackexchange.com/questions/19575/what-are-the-possible-ways-of-visualizing-a-4d-function-in-mathematica
Please help!
Thank you in advance!

Answers (1)

Image Analyst
Image Analyst on 3 Jul 2014
No you can't use scatter3. You have true 3D volumetric data, perhaps like a CT or MRI image or something like that. MATLAB does not have good 3D visualization methods. You are pretty much limited to isosurfaces and cutaway views. You can't do true 3D volume rendering. If you want isosurfaces and cutaway views, then you can look up functions for that in the 3D visualization section of the help. If you need volumetric rendering, you'll need a more powerful program such as
  1. Avizo: http://www.vsg3d.com/avizo/overview,
  2. Amira: http://www.vsg3d.com/amira/overview,
  3. Vis5D: http://www.ssec.wisc.edu/~billh/vis5d.html
  4. VolView: http://www.kitware.com/opensource/volview.html
  1 Comment
Konstantin
Konstantin on 3 Jul 2014
Hi,
Thanks for the quick answer, but maybe I mislead you.
I don't want to use scatter3, since it's not really for the job. I get that. I gave an example of what I found and didn't work.
Also, I don't have anything as complex as an MRI and so on. What I have is a 3D space mesh with a scalar field at each point. Essentially it's a representation of a function V = F(x,y,z).
I just don't know the equivalent in Matlab and if there is one.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!