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

New to MATLAB?

how to convert 2D image into 3D ??

Asked by maha mohy

maha mohy (view profile)

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

maha mohy (view profile)

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

sorena mirzaie (view profile)

on 5 Jun 2013

try gray2rgb

Bhoomika Ghosh

Bhoomika Ghosh (view profile)

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

maha mohy (view profile)

Products

No products are associated with this question.

2 Answers

Answer by Image Analyst

Image Analyst (view profile)

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

George (view profile)

on 28 Nov 2012

How can i use this..? Thanks.

Image Analyst

Image Analyst (view profile)

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

George (view profile)

on 5 Jun 2013

thanks

Image Analyst

Image Analyst (view profile)

Answer by Walter Roberson

Walter Roberson (view profile)

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

Image Analyst (view profile)

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

Walter Roberson (view profile)

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

Image Analyst (view profile)

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

Walter Roberson (view profile)

Contact us