5

My question very simply: I have a bunch of matricies, all stacked up on each other, so that I have a volume of data. I want to visualize this data, as this example image shows below:

enter image description here

It seems to me that some degree of transparency is needed, perhaps linked to the value of each voxel. That is, the higher the value, the less 'transparent' the voxel is to things behind it. I am not sure how to even start with this.

Here is some simple code that makes my data volume, so all I would like now is to try and visualize it.

clear all

%Make the random volume
mat = rand(50,50,100);

%Place high values in particular parts of the volume
sigCoors.rows = [23:33];
sigCoors.columns = [40:45];
sigCoors.time = [55:85];
mat(sigCoors.rows, sigCoors.columns, sigCoors.time) = 10.*rand(length(sigCoors.rows),   length(sigCoors.columns), length(sigCoors.time));

%Visualize the volume:
% ?

That is basically it. How may I go about visualizing this data as above, or perhaps something similar? Thank you.

Spacey
  • 2,941
  • 10
  • 47
  • 63
  • why the same question again? There is an edit function and you can proclaim a bounty to adress more users with your question and to motivate them. Also there were already some useful comments in your previous question, which are now deleted. – Robert Seifert Oct 14 '13 at 15:37
  • @thewaywewalk I realized my old question was quite convoluted, so I started from scratch. Also, the comments really didn't go anywhere. – Spacey Oct 14 '13 at 15:42
  • Not sure if you can get the cloud that you've pasted, check out this [link](http://www.bu.edu/tech/about/research/training/online-tutorials/visualization-with-matlab/) for some ways to visualize 3D data (about 1/2 to 3/4 of the way down the page). – andy mcevoy Oct 14 '13 at 16:10
  • The `smooth3` documentation has a great example (http://www.mathworks.com/help/matlab/ref/smooth3.html) of how to use `patch`, `isocaps` and general tricks for 3D rendering (lighting, camera, action, etc.) – chappjc Oct 14 '13 at 16:33
  • @chappjc Thank you, this was actually my starting point, however it does not seem to allow me to visualize in the way that I would like, (as per above image). – Spacey Oct 14 '13 at 16:45
  • @Learnaholic - In that case, it would be helpful if you could articulate what you want that is different from the solutions you have tried. For example, I can only guess that you want to introduce some degree of transparency of the rendering? – chappjc Oct 14 '13 at 19:12
  • @chappjc Yes exactly, I would like to have some degree of transparency to the volume, (perhaps associated with the value of each voxel). I have edited the question to include this. – Spacey Oct 14 '13 at 19:15

1 Answers1

2

I strongly recommend to browse the MATLAB FileExchange. They have many user-contributed 3D volume visualization tools.

Personally I used the Volume Render some time ago (beware of known bug: changes with function colormap consume large amount of memory). Newer version from the same author seems more sophisticated (I did not use it yet). Sliceomatic may be also interesting for you.

Just a side note. I also did my first 3D visualization in MATLAB. But quite soon I realized that MATLAB is not strong enough in 3D volume visualization for big and complex data sets. Although I still process my data in MATLAB but for 3D volume visualization I use Voreen (you'll need a good GPU card for it to run, check its System Requirements).

anandr
  • 1,622
  • 1
  • 12
  • 10