how to convert 2D image into 3D ??

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

10 件のコメント

Doug Hull
Doug Hull 2012 年 3 月 8 日
What does it mean to convert a 2-d image to 3-d?
Sean de Wolski
Sean de Wolski 2012 年 3 月 8 日
@Doug, repmat() it!
Med_Imager
Med_Imager 2012 年 3 月 8 日
Do you just want to add a dimension?
MRI_3D=repmat(MRI, [1 1 64])
if there is a whole bunch of images you could run a for loop
Med_Imager
Med_Imager 2012 年 3 月 8 日
However, your question is confusing, if you say you have 2D IMAGES (plural)
that means it is something like a 3D
size(horizontal) x size(vert) x # of images
Walter Roberson
Walter Roberson 2012 年 3 月 8 日
Question for Maha: are your images already registered, or do you need to do the registration step?
If the source images are in DICOM format from a standard MRI machine, and are from a single scan, then you can assume they are registered relative to each other. It won't be completely true, but it should be close enough for brain imaging (but will _not_ be close enough for chest imaging!)
If the source images are averaged from multiple scans, or are from multiple modalities, then you will need to do image registration.
maha mohy
maha mohy 2012 年 3 月 9 日
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 2013 年 6 月 5 日
try gray2rgb
Bhoomika  Ghosh
Bhoomika Ghosh 2013 年 8 月 6 日
@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
zee falcon
zee falcon 2016 年 12 月 27 日
I also need help for 3d conversion of MRI images. Need code to convert it into 3d model. Kindly help me out.
Image Analyst
Image Analyst 2016 年 12 月 27 日
Explain why cat() did not work for you.

サインインしてコメントする。

 採用された回答

Image Analyst
Image Analyst 2012 年 3 月 8 日

3 投票

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

9 件のコメント

George
George 2012 年 11 月 28 日
How can i use this..? Thanks.
Image Analyst
Image Analyst 2012 年 11 月 28 日
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 2013 年 6 月 5 日
thanks
Charissa Enget
Charissa Enget 2016 年 5 月 31 日
how do you get the 3d image to display?
Image Analyst
Image Analyst 2016 年 5 月 31 日
MATLAB does not have powerful 3D visualization capabilities. For that you can use something like Amira. MATLAB has only basic slice views and isosurfaces.
Charissa Enget
Charissa Enget 2016 年 6 月 1 日
oh that makes sense, what if the number of slices is unknown?
Image Analyst
Image Analyst 2016 年 6 月 1 日
When is it unknown? Certainly when it's a 3-D variable in MATLAB the number of slices is known:
[rows, columns, numSlices] = size(array3D);
Stelios Fanourakis
Stelios Fanourakis 2018 年 5 月 7 日
Undefined Function GetSlice()
Image Analyst
Image Analyst 2018 年 5 月 7 日
Stelios, did you see the comment after it "% Whatever you have to do to get one 2D image."??? That means that you have to have some code to get the slice. You have to write it. I'm not writing it.

サインインしてコメントする。

その他の回答 (2 件)

Walter Roberson
Walter Roberson 2012 年 3 月 8 日

0 投票

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

5 件のコメント

Image Analyst
Image Analyst 2012 年 3 月 8 日
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 2012 年 3 月 8 日
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 2012 年 3 月 8 日
I definitely agree that MATLAB doesn't have anywhere near the power of other programs in doing volumetric visualization.
amine benhsina
amine benhsina 2021 年 8 月 18 日
can you propose a best programming language to for 3D image construction,and could you provide us with some sources that can help us in this
thank you
Image Analyst
Image Analyst 2021 年 8 月 19 日
Depends on what you mean by 3-D Image reconstruction. Usually instruments have this built-in. For example if you have a CT, MRI, or confocal instrument, those instruments have software to reconstruct the 3-D image.
If you want to do visualization on the reconstructed volume, we use Avizo:

サインインしてコメントする。

zahoor mosad
zahoor mosad 2018 年 11 月 20 日

0 投票

please code in matlab convert 2D image to 3D

カテゴリ

ヘルプ センター および File ExchangeBiomedical Imaging についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by