[Rtk-users] Getting started with RTK - Problem with modifying First Reconstruction example
Simon Rit
simon.rit at creatis.insa-lyon.fr
Wed Jan 8 15:31:48 EST 2020
Hi Stefanie,
In the example, the projections are simulated and not read in from a file.
Anyhow, using the mha file format seems to be a good way too proceed and
what you've done sounds good (the rei part).
The geometry is a bit tricky to master in RTK (as in any recon package I
assume). The origin you've chosen does not seem right, if you check ITK's
documentation, itk::Image::m_Origin is the coordinate of the first voxel
and RTK uses the coordinate (0,0,0) (the origin of the coordinate system,
not to be mixed with the origin of the image...). So if you want to center
your image around the center of rotation (a typical choice), I would do here
origin.Fill( -0.5*(128-1)*0.2 ) such that the first pixel has coordinate
-12.7 and the last pixel has coordinate 12.7 (in each dimension).
Something else is wrong looking at your image. If you share the projections
and the code, we can probably help you to solve the other problem.
Cheers,
Simon
On Tue, Jan 7, 2020 at 5:41 PM Kaser, Stefanie <Stefanie.Kaser at oeaw.ac.at>
wrote:
> Hi,
>
>
> I am currently trying to get started with RTK by modifying the
> FirstReconstruction example. In fact, I tried to replace the given
> projections of a sphere by some projections I created myself with Geant4.
> However, the result is not really convincing and I am not sure if I messed
> with the geometry or if I got something else wrong.
>
>
> I have 90 projections (128x128 pixels, 2 deg rotation each time); from
> source to detector it's 46cm and 30cm from source to the object (simple
> small cylinder) centre, which lies in the centre of rotation:
>
>
> unsigned int numberOfProjections = 90;
>
> double firstAngle = 0.;
>
> double angularArc = 178.;
>
> unsigned int sid = 300.;
>
> unsigned int sdd = 460.;
>
>
> To read in the file, I used the ITK ImageFileReader, which works well. I
> am handing in my projections stacked in .mha format because it seemed that
> the sphere projections were generated and handed to the FDK reconstruction
> algorithm in a similar way (is that correct?). My projection values are
> double type and are of a range between 0 (air) and 1.
>
>
> For the FDK reconstruction I am choosing for my constant image source:
>
> sizeOutput.Fill(128); // output should be 3D image 128x128x128 pixels
>
> origin.Fill(0.); // I'm not entirely sure about this parameter? If my
> object is placed in the isocenter, this should work, right?
>
> spacing.Fill(0.2); // pixel length in each direction is 0.2mm
>
>
> For the reconstruction itself, I didn't really change the original code
> but instead of 'rei', I handed my projections as input and then wrote the
> result to an output file.
>
> I don't get any error when I run the program but the FDK gives some
> strange result (I am adding one screenshot of the first projection and the
> first slice of the reconstructed volume to my mail).
>
> Maybe someone is familiar with this problem or sees what I am doing wrong?
> Thank you very much in advance!
>
>
> Best regards,
>
> Stefanie
>
>
>
>
> _______________________________________________
> Rtk-users mailing list
> Rtk-users at public.kitware.com
> https://public.kitware.com/mailman/listinfo/rtk-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://public.kitware.com/pipermail/rtk-users/attachments/20200108/3801a109/attachment.html>
More information about the Rtk-users
mailing list