How can I visualize volume data as shown here, in MATLAB?

一个人想着一个人 提交于 2020-01-01 15:32:19

问题


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:

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.


回答1:


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).



来源:https://stackoverflow.com/questions/19363537/how-can-i-visualize-volume-data-as-shown-here-in-matlab

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!