From: Zaki on
Hi all

i have a set of CT scans of the shoulder area that was scanned after a shoulder dislocation and am intersted to build a simple 3D model of the shoulder area

what i actually have is many series of images, each series represents a scan from another angle , and am intersted in using one series in order to build my model

till now i managed to read the dicom files into matlab by series , means that i could read the set of images that am intersted in to the matlab using the DICOMDIR

how do i procced now ? what direction should i go ?

thanks in advance for any help
From: Matt J on
"Zaki " <zaki.natsheh(a)gmail.com> wrote in message <hp301q$ai5$1(a)fred.mathworks.com>...
> Hi all
>
> i have a set of CT scans of the shoulder area that was scanned after a shoulder dislocation and am intersted to build a simple 3D model of the shoulder area
========

What kind of CT orbit? helical? circular conebeam?

In any case, MATLAB doesn't have much in the way of 3D tomographic reconstruction algorithms, but you might find some useful things here:

http://www.eecs.umich.edu/~fessler/code/index.html
From: Sean on
"Matt J " <mattjacREMOVE(a)THISieee.spam> wrote in message <hp30s0$na9$1(a)fred.mathworks.com>...
> "Zaki " <zaki.natsheh(a)gmail.com> wrote in message <hp301q$ai5$1(a)fred.mathworks.com>...
> > Hi all
> >
> > i have a set of CT scans of the shoulder area that was scanned after a shoulder dislocation and am intersted to build a simple 3D model of the shoulder area
> ========
>
> What kind of CT orbit? helical? circular conebeam?
>
> In any case, MATLAB doesn't have much in the way of 3D tomographic reconstruction algorithms, but you might find some useful things here:
>
> http://www.eecs.umich.edu/~fessler/code/index.html

ifanbeam() and iradon() are the two MATLAB built in tomographic reconstruction algorithms.

For parallel beam data:
It sounds like you need to first create "sinograms". To do this
-Build a 3d volume of all of your projections at different angles.
i.e. I(:,:,1) = angle1;
I(:,:,2) = angle2;
I(:,:,n) = anglen;
Then a sinogram is horizontal slice of this through the depth
sino0001 = squeeze(I(1,:,:)); %squeeze makes 2 dimensional
sino0002 = squeeze(I(2,:,:));
sino000m = squeeze(I(m,:,:); %m is the size(I,1)

Then Islice0001 = iradon(I, theta) %theta = vector of strided angles.

I don't know anything about fan beam data but you could use fan2para() then the above.

Or you could listen to Matt J since his code and expertise is probably far superior!