How can I build a 3D volume from Dicom files ?

This question has indeed been asked several time, but i never managed to find an appropriate answer to my case.
I have 3 types of images :
SLX+0.dcm, SLX+1.dcm, SLX+2.dcm...
SLX-1.dcm, SLX-2.dcm, SLX-3.dcm... %without number 0
%%and the same scheme with SLY and SLZ.
I thought first i would need to pile them or even imbricate them into an array but it seems irrelevant to me since it has "3" plans...
What logic should I use in that case to rebuild the volume ?
thank you

回答(3 个)

My answer here may interest you:
If it doesn't answer your question, please be specific about what you have and what you need.
ocelote
ocelote 2012-10-19
编辑:ocelote 2012-10-19
Thank you for your prompt answer. I actually would like to build a 3D volume from my DICOM file. My issue here is to understand how in practice it should be done : how to create a relevant array which will represent my volume.
I will try to explain myself :
I have slices in the direction X, Y and Z (my dicom files). Slices are separated each other by a tiny distance when they are in the same direction (data acquisition)
But this doest fit with the structure of an array [X, Y, Z] because i can only stack one direction and build a 3D array of X plan, another 3D array for Y and another for Z whilst i wish to be able to visualize this 3D dicom.
it seems i need to mix "three" 3D array in one :x but i must have forgotten smth since other ppl managed to see 3D dicom object...
ocelote
ocelote 2012-10-19
I just made a better image to explain/show my issue.
Orange = X axis green = Y axis Purple = Z axis
The spaces between each layer represent the spaces made by the data aquisition. every block represents a voxel.
When i superpose X, Y and Z there are still holes inside my volume (scroll a bit on the right to see)...
So even if i manage to set up a loop which fill an array this way, i ll still not have a complete volume :/
Am I going wrong to rebuild a 3D volume ?

3 个评论

Well if you don't have data available at these spots, you could interp3 or griddedInterpolant to fill in the voids or to produce a uniform stride of your data.
So you suggest me to work pixel by pixel (is there a function at least ?) ? It wont be too much to process smth like 500*500 pixel of my .dcm file? :/
im a matlab beginner and feel completely lost, sry for asking that much.
thank you by the way.
You're welcome!
I am suggesting that your interpolate to an even grid, at least in two dimensions, so that you can work on this array like any other 3d array.

请先登录,再进行评论。

类别

在 帮助中心 和 File Exchange 中查找有关 DICOM Format 的更多信息

标签

提问:

2012-10-17

Community Treasure Hunt

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

Start Hunting!

Translated by