File Exchange

image thumbnail

GUI for Visualizing 3D Volumetric Data

version 1.0 (9.57 KB) by

This is a GUI for visualizing volume data. Includes rendering volumes, displaying isosurfaces.

10 Downloads

Updated

View License

Includes different types of visualization of three-dimensional array (volumetric data):

1. Orthogonal slices - each slice individually, as well as three orthogonal slices on one plot

2. Rendered volume through showing series of z-slices. Enter the number of slices to display: ('1' - all, '2' - every second, etc.)

3. Isosurfaces:
- one for a single value
- multiple for multiple values of interest on one figure (each with different color)

Options to change for orthogonal slices (1) and volumes (2):
- transparency;
- color scheme.

Options to changes for all three types of visualization (1-3):
- top/bottom, left/right
- aspect ratio.

To run type:
>>volumization (data,'n')
for example: volumization (data,'1')
NOT: volumization (data,1)

where data are of format [n x m x p] and 'n' - which slice to display:
'1'- all, '2' - every second, '3' - every third, etc.

For users with PLS_Toolbox 3.5 can type
>> volumization
and then load data interactively using lddlgpls routine.

To display isosurface on top of rendered volume or orthogonal slices, use controls to display desired view and then use Multiple isosurface slider to display the isosurface of value of interest. (Single isosurface slider clears the figure on execution).

Comments and Ratings (9)

SHERRY

SHERRY (view profile)

good.but failed to smooth the data cuz incorrect kernel value (actually have no idea about it)

SHERRY

SHERRY (view profile)

Jules Ray

Try JPG format.

akash kumar

I have to stack 70 images to form the tomography but i am not able to run this program.My images are in gray scale in bmp format. Can any body help me.
Thanks in advance

Peter Maday

with MATLAB 7.0.4 the use of str2double in

volumization.m
line 102 step=str2double(display);

results in an error, as str2double returns NaN

However display already contains the desired value, so by removing this line the program starts working.

Another issue is that the volume data must not be homogenous(e.g. ones(10,10,10)), as it results in an error.

I tried it with

[X,Y,Z]=meshgrid(-10:10,-10:10,-10:10);
U=exp(-(X.^2+Y.^2+Z.^2));
volumization(U,5)

and the slice plot part worked, but the more interesting contour plot didnt, while I was getting GUI callback errors all over the time.

The multiple contour option works on an absolute scale, so you can separate subvolumes by their given value (e.g. you can have 10 slices if the range of your fcn is 1-10) If the values are localized in a small range, then you have to strech. It would be better to separate by percentage value instead of function value.

The transparency setting part seems to be buggy.

In conclusion this app seems to have potential in it but implementational issues (bugs) decrease its usability.

jichao zhao

It is an excellent one. I am wondering whether you know how to filter one the background when you do volume rendering. Say the blue is the background color of a 3D volume graph.How can I filter out the blue color and leave other colors unchanged? It is not the issue of colormap. I am doing this
for I want to better visualize 3D transparent graph. Apparent alpha is already very small. But the background color blue makes less lights into it. Thanks for your inputs, hopefully I make my question clear enough.
or you can see the following link to see what I mean by
filtering out the blue background:

http://cmiss.bioeng.auckland.ac.nz/development/examples/a/volume_render/index.html

I want to do the same thing using matlab.

Dhiraj Arora

Same errors as above. Can you please provide a sample example with synthetic data?

Arjun Ghoshdastidar

These are the errors I get when I run it:

?? Subscript indices must either be real positive integers or logicals.

Error in ==> interp3>linear at 369
F = (( arg4(ndx).*(1-t) + arg4(ndx+1).*t ).*(1-s) + ...

Error in ==> interp3 at 209
vi = linear(x,y,z,v,xi,yi,zi,ExtrapVal);

Error in ==> slice at 124
vi = interp3(x,y,z,v,xi,yi,zi,method);

Error in ==> volumization>volumization_OpeningFcn at 101
hz=slice(s,[],[],[1:step:p]);

Error in ==> gui_mainfcn at 153
feval(gui_State.gui_OpeningFcn, gui_hFigure, [], guidata(gui_hFigure), varargin{:});

Error in ==> volumization at 62
gui_mainfcn(gui_State, varargin{:});

Keita Teranishi

MATLAB Release
MATLAB 7 (R14)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video