[Rtk-users] Simple FDK reconstruction using SimpleRTK does not work

Simon Rit simon.rit at creatis.insa-lyon.fr
Thu Oct 26 11:23:17 EDT 2017


Dear Mathis,
Sorry to hear about your difficulties. You use AddProjection with a matrix
which, internally, converts your projection matrix to parameters that are
used in the FDK reconstruction. After writing down the produced geometry,
it turns out that you rotate around Z where RTK works in FDK if you rotate
around Y (see geometry.pdf) <http://www.openrtk.org/Doxygen/geometry.pdf>.
Two solutions:
- start with an iterative algorithm (conjugate gradient) for which there is
no geometry constraint,
- change the projection matrix to rotate around Y.
I have done the second thing and reconstructed one slice only (on my
laptop). I noticed that there is a projection offset in the geometry, so it
seems that your projection matrix assumes that the coordinate (0,0) is at
the corner of the projection. You don't need to set the origin then. Your
reconstructed volume was also off-centered. Maybe you need to check the ITK
software guide to understand the origin concept.
I obtained a more decent results with the enclosed scripts but I let you do
some checks on a large volume. In particular, if the object size is not
right, it might be because your projection matrix converts 3D positions in
mm to 2D positions in pixel instead of mm. In this case, you need to
multiply the projection matrix m by a 3x3 scaling matrix s (m=s*m) to
convert pixel coordinates to mm coordinates.
I hope this helps,
Simon

PS: if you want to make FDK work with any circular trajectory, I'm
interested but this is a lot more work.

On Thu, Oct 26, 2017 at 12:24 PM, <mathis.hoffmann at fau.de> wrote:

> Hello,
>
> we currently try to set up a simple FDK reconstruction pipeline using
> SimpleRTK for research purposes. We have projections from a simulated
> Forbild phantom and the corresponding projection matrices. We can
> reconstruct the same data trouble-free using our internal tools. However,
> we fail to do so using SimpleRTK. We provide the data including a minimal
> example that demonstrates the problem here: https://www.dropbox.com/sh/8fq
> hyvcnzb5u8zd/AAAYLQ50_3GIoTSMli5nmtYca?dl=0
>
> Could someone please have a look on the problem? We have tried for a long
> time now. The relevant geometry parameters (which are also set in the
> script) are:
> Detector offset in u/v direction: 255.5/255.5
> Pixel sizes u/v: 0.8/0.8
> Size of projections: 512x512
> Size of volume: 512x512x512
> Voxel sizes x/y/z: 0.5/0.5/0.5
> Midpoint of volume: 0/0/0
>
> Thank you in advance for any help!
>
> Mathis Hoffmann
> _______________________________________________
> Rtk-users mailing list
> Rtk-users at public.kitware.com
> http://public.kitware.com/mailman/listinfo/rtk-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/rtk-users/attachments/20171026/df68307d/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: minimal.py
Type: text/x-python-script
Size: 1207 bytes
Desc: not available
URL: <http://public.kitware.com/pipermail/rtk-users/attachments/20171026/df68307d/attachment-0001.bin>


More information about the Rtk-users mailing list