[Rtk-users] question about rtkfdk

Andreas Andersen andreasga22 at gmail.com
Tue May 26 05:26:46 EDT 2020


RTK and ITK uses pipeline based calculation, so you build a pipeline and in
the end call ->Update() on the last filter (sometimes also on earlier
filter if some synchronisation is needed)
In the case of rtkfdk.cxx, update is called on the writer at the very end.
The Update call triggers certain functions in the image filters and in
particular GenerateData, which is where the actual computation usually will
take place.
For the CPU FDK filter, the GenerateData function is defined at:
https://github.com/SimonRit/RTK/blob/master/include/rtkFDKConeBeamReconstructionFilter.hxx#L117
Which internally calls update on the BackProjectionImageFilter, thus:
https://github.com/SimonRit/RTK/blob/master/include/rtkFDKBackProjectionImageFilter.hxx#L53

Input 1, pssf, is the Parker Short Scan Filter and pssf->GetOutput() will
return the processed projections.

Input 0, constantimagesource, is, as you correctly said, to get the output
image geometry (if you want to do some iterative FDK or online
reconstruction this can also be the output image of the previous iteration.)
I don't think constantimagesource needs it's image buffer to be allocated
before it's given as input, only the UpdateOutputInformation is necessary,
which asks ITK to propagate the geometry information to all the variables
used internally, i.e. in GetLargestPossibleRegion and the like.

I hope this is somewhat understandable. The pipeline system in ITK is
confusing in the beginning, but once you get it, it's easy to use (
Although probably still confusing when trying to write your own filters -
it is for me :p ).

/Andreas

__________________________________

Andreas Gravgaard Andersen

Danish Center for Particle Therapy,

Aarhus University Hospital

Palle Juul-Jensens Blvd. 99,

8200, Aarhus

Mail:     agravgaard at protonmail.com

Cell:      +45 3165 8140


On Tue, 26 May 2020 at 05:12, 나윤호 <yoonho94.na at gmail.com> wrote:

> Hi everyone.
>
> In the rtkfdk.cxx, feldkamp gets an two inputs constant image source and
> pssf.
>
> I want to know where the exact computing script part is.
>
> what I'm guessing is the empty constant image source only gives the output
> image size and the only pssf is used in reconstructing calculation.
>
> or does both inputs goes into the calculation process?
> if it is how does those two inputs with different array shape calculates?
>
> Best Regards.
>
> Yoonho.
> _______________________________________________
> 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/20200526/8710ac1d/attachment-0001.htm>


More information about the Rtk-users mailing list