Code covered by the BSD License  

Highlights from
3D Volume Visualization

4.5 | 2 ratings Rate this file 61 Downloads (last 30 days) File Size: 7.47 KB File ID: #37268 Version: 1.1
image thumbnail

3D Volume Visualization



22 Jun 2012 (Updated )

3D volume viz with interactive slice selection, colored ortho-planes, windowing, colormap selection.

| Watch this File

File Information

This tool provides an interactive 3D volume visualization. The function accepts as arguments any 3D matrix (of type double or uint8) and optional colormap, and displays a 2x2 figure of the 3 orthogonal planar views (neurological coordinate system) along with the built-in 'slice' visualization. Further, as you select slices through click and drag or scroll, the 3D view and color-coded orthogonal planes are updated accordingly. You may rotate the 3D view by manually selecting the 'Rotate 3D' figure button, and the 3D perspective (CameraPosition) is maintained as you continue changing slices.

This tool is more sparse than other volume visualizations out there, but it serves its purpose, and may offer an advantage with the added windowing and colormap selection capability.


Ortho View inspired this file.

This file inspired 4 D Volume Visualization and Pcolor3.

Required Products MATLAB
MATLAB release MATLAB 7.14 (R2012a)
Other requirements Tested in Linux FC14, Matlab R2012a
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (7)
08 Aug 2015 David

David (view profile)

Yes there are some problems in the recent version of Matlab. Specifically with handling cells

Here is a way to make it work. Patches for the errors that Matlab encounters:

for i=1:length(myx) myx_aux=myx{i}; end
set(gca, 'XTickLabel', flippedx(str2num(myx_aux)));

for i =1:max(size(handles))
if(handles{i}==gca) whichView =i;

Comment only
24 Apr 2015 Don Catanzaro

When opening an 512x512x190 uint16 I get the following error:

Error using str2num (line 32)
Requires string or character array input.

Error in vis3d (line 272)
set(gca, 'XTickLabel', flippedx(str2num(myx)));

Comment only
12 Dec 2014 Joao

Joao (view profile)

22 Aug 2014 Abeera Tariq

Can someone help me that how to use this function if i have MxLxN matrix
where N is number of slices and MxL are 2D image slices.

Comment only
31 Jul 2014 Richard McCulloch

I used this tool for visualizing a 3D matrix of radiation particles. It worked pretty well. My results were more meaningful using colormap(jet), but that is an easy adjustment. (Just enter 'colormap(jet)' in the command window after opening the gui). Thank you, Joshua!

06 Jul 2013 Joshua Stough

Response to Gustavo: My code doesn't care how you got the image. If it, say 'I', exists in matlab as a 3d array of any class (use size and class functions to determine this), then just try 'vis3d(double(I));' instead of whatever you were doing.

For loading nifti images, exchange #8797 seems popular:

Good luck,

Comment only
05 Jul 2013 Gustavo

Hi. I have started working with you toolboxes but i can't get any results. I have NIFTI images to work with. How can i adapt them to your toolbox?

Thanks in advance

Comment only
23 Apr 2013 1.1

-windowing capability
-changing colormap through popupmenu
-fixed slice number and 3d view misrepresentations
-neurological coordinate perspective

Contact us