i need a guide how can i deal with 3d image in matlab R2010a

1 view (last 30 days)
i am a beginner in matalab and iam working in a project 3d image processing i need some guide to direct my how can i read ,display ,apply method ...etc for 3d image

Answers (2)

Walter Roberson
Walter Roberson on 9 Feb 2016
Edited: Walter Roberson on 9 Feb 2016
3D images require 4 dimensional plotting, which does not exist.
You can plot slices of 3D datasets using slice().
You can use selectors to choose a layer and plot it.
Sometimes it is appropriate to use voxel visualization routines such as
  2 Comments
maha alrasheed
maha alrasheed on 13 Feb 2016
i am using 3d image .wrl from gavab database and i want to display the image i need a command like imshow() to display the 3d image
Walter Roberson
Walter Roberson on 13 Feb 2016
There is no command like imshow() to display a 3D array as an image.
When you have a 3D array, each part of it designates a 4 dimensional point with coordinates (X(I), Y(J), Z(K), Value(I,J,K)) . There are no Mathworks-supplied tools to display in 4 dimensions.
If you use View4D that I linked to above, you can tell it to use X, Y, or Z as a time coordinate and display a series of 3 dimensional plots altering over time.
Consider a simple 3 x 3 x 3 cube of data, and suppose you encode data values as color (or brightness.) You could display a colorful cube, but how could you see what the center value is? Any direction you might turn the cube, there would be an element between your line of sight and the inside, so you would not be able to see the inside. If you extend this to (say) a 64 x 64 x 20 cuboid, then all you can see are the outside surfaces, two of which would be 64 x 64 and the other 4 of which would be 64 x 20. If I calculate correctly accounting for shared vertices, that would be 12728 locations out of 81920 that would be visible, slightly better than 1/7th of the locations. The general formula for a cuboid that is A * B * C is that the visible items would be ((2*B+2*C-4)*A+(2*(C-2))*(B-2)) out of (A*B*C)
How do you propose that the volume could potentially be displayed in such a way that you would be able to see any interior location with at most changing the viewing angle? Because that is what you are implicitly asking.
The tools I linked to above deal with the problem by allowing you to select what you want to look at and showing you that. This is not as convenient as some way of seeing inside at a glance would be, but until our visual systems evolve, we live with what we can do.

Sign in to comment.


Image Analyst
Image Analyst on 13 Feb 2016
MATLAB does not really have 3-D visualizations much beyond simple slices (cutaway views) and isosurfaces. For real 3D volumetric visualization you'll have to use a program like Avizo: http://www.fei.com/software/avizo3d/

Community Treasure Hunt

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

Start Hunting!