Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

how to convert 2D image into 3D ??

Asked by maha mohy on 8 Mar 2012

Hello everybody,my graduation project is about 3D mri visualization ,I want to convert 2D images into 3D ...could anyone help me plz

8 Comments

maha mohy on 9 Mar 2012

thanks all,@ Mr Walter I don't think they are registered cuz I extracted them from reference ,so what will I do to register them

sorena mirzaie on 5 Jun 2013

try gray2rgb

Bhoomika Ghosh on 6 Aug 2013

@i have a similar project currently i have registered images from DICOM and need an algorithm / code to convert 64 slices into a 3D brain model.. can u plz help me! Walter Roberson

maha mohy

Products

No products are associated with this question.

2 Answers

Answer by Image Analyst on 8 Mar 2012
Accepted answer

try cat(3,...)

image3D = cat(3, slice1, slice2, slice3, slice4, slice5);

You could put it into a loop

for slice = 1 : totalNumberOfSlices
  thisSlice = GetSlice();  % Whatever you have to do to get one 2D image.
  if slice == 1
    image3D = thisSlice;
  else
    image3D = cat(3, image3D, thisSlice);
  end
end

3 Comments

George on 28 Nov 2012

How can i use this..? Thanks.

Image Analyst on 28 Nov 2012

You can use this very well, I would think. Or maybe I should say "you can use it in MATLAB in a script or a function." because I'm not sure what you are asking.

George on 5 Jun 2013

thanks

Image Analyst
Answer by Walter Roberson on 8 Mar 2012

The problem is not constructing the 3D array: the problem is displaying it. MATLAB does not have good voxel visualization routines. You could try http://www.mathworks.com/matlabcentral/fileexchange/3280-voxel

3 Comments

Image Analyst on 8 Mar 2012

How did you decide that? Displaying is converting a 3D volumetric image into a 2D projection image - the opposite of what he said.

Walter Roberson on 8 Mar 2012

At my workplace we often build 3D MRI images from 2D MRI slices. MATLAB is okay for displaying the resulting datasets if you just want a planar slice, but it is far far below the 3-space imaging capabilities of some other products.

For example see
http://www.vitalimages.com/App_Themes/VitalStandard/Images/Common/04-HPHOTO.jpg
and look at the lower-left image in the "screen" in the middle foreground. Textured, shaded, cut-ins, real-time transparency control based upon data ranges so that you can see (e.g.) tumors and peer inside them...

Image Analyst on 8 Mar 2012

I definitely agree that MATLAB doesn't have anywhere near the power of other programs in doing volumetric visualization.

Walter Roberson

Contact us