[Rtk-users] FirstReconstruction example

Simon Rit simon.rit at creatis.insa-lyon.fr
Tue Oct 16 04:23:17 EDT 2012


I agree, geometry is irritating! I'm sorry my comments were part of
this irritation... It seemed obvious to me that the origin and the
direction in itk::Image has to be accounted for but I'll add a comment
in the header to make it clearer. Bear in mind that this on-going work
so feel free to suggest improvements and clarifications.

Regarding geometry conversion, we had done a work with my colleagues
from the Université Catholique de Louvain to convert their geometry
parameterization to RTK parameterization using Maxima. That allowed us
to spare some hours spent on deriving the correct formulas... Would
you be interested in the script file?

Simon

On Tue, Oct 16, 2012 at 10:03 AM, Lars Friedrich Lars
<lars-friedrich at gmx.net> wrote:
> Hi Simon,
>
> thanks for your reply!
>
> I read the geometry-doc and played around with rtk::ThreeDCircularProjectionGeometry before I was writing the question in the last mail.
> Basically, the first sentence in section 6 of the doc
> "This class is meant to define a set of 2D projection images, acquired with a at panel along a circular trajectory, around a 3D tomography."
> along with another sentence in this section
> "9 parameters are used per projection to define the position of the source and the detector relatively to the fixed coordinate system."
> irritated me a bit. I thought that the 3DCircGeom's task is, in addition to defining the source position, to define the position and orientation of the 2D projection images, and the 3DCircGeom is defined in the IEC WCS (relates to it). I did not expect essential projection image metrics except dimension (pixel size) and spacing (because image size in physical units is not part of 3DCircGeom) having any influence on the position and orientation of it, since this is already defined with the 3DCircGeom object.
>
> My issue at the moment is simply that I have source position, detector position and detector row/column vectors defined in IEC WCS for each projection, and have to convert it somehow into your projection geometry format + (and that's news for me) adjust the image origin of the projection stack. Unfortunately, my geometry is not really a standard circular one (as in case of XVI, OBI etc.). Will try to derive an adaptor for conversion ...
>
> Thanks so far!
>
> LF
>
> -------- Original-Nachricht --------
>> Datum: Mon, 15 Oct 2012 22:17:59 +0200
>> Von: Simon Rit <simon.rit at creatis.insa-lyon.fr>
>> An: Lars Friedrich Lars <lars-friedrich at gmx.net>
>> CC: rtk-users at openrtk.org
>> Betreff: Re: [Rtk-users] FirstReconstruction example
>
>> Hi Lars,
>> The geometry is described in the document geometry.tex, I have added
>> links at the end of the user's wiki page
>> http://wiki.openrtk.org/index.php/RTK/Users. Briefly, the point with
>> coordinates 0,0,0 of your volume is the isocenter, the point with
>> coordinate 0,0 in projection images is the intersection of your flat
>> panel with the line going through the x-ray source and the isocenter.
>> The image origin is defined by ITK as the center of the pixel with
>> index 0 in memory (first pixel in memory).
>> I hope this helps,
>> Simon
>>
>> On Mon, Oct 15, 2012 at 7:53 PM, Lars Friedrich Lars
>> <lars-friedrich at gmx.net> wrote:
>> > Hello,
>> >
>> > I have questions concerning the FirstReconstruction example:
>> > Using the rtk::RayEllipsoidIntersectionImageFilter and
>> rtk::ConstantImageSource artificial projections of an ellipsoid are generated which are
>> packed in the form of an image stack. The geometry of the projections is
>> described by an rtk::ThreeDCircularProjectionGeometry object. Moreover, the
>> images' metrics are described by the image stack itself (spacing, size and
>> ORIGIN).
>> >
>> > How should I interpret the origin? As far as I could find out by minor
>> modifications of the example, the origin of the projeciton image stack plays
>> a role (if I change it to 0,0,0, and retain constantImageSource2's origin
>> at -127,-127,-127, just half of the ellipsoid is reconstructed). Why does
>> the origin of the image stack matter? Isn't the origin of a single
>> projection fully defined by the corresponding entry in the
>> rtk::ThreeDCircularProjectionGeometry object (I thought the projOffsetX,projOffsetY args define the
>> offset from the detector central axis crossing point)? Am I right that the
>> effective origin of a single projection image emerges basically from the
>> detector (x/y of origin of image stack) and from consecutive application of
>> the projOffsetX,projOffsetY args? Otherwise, deviating detector positions,
>> e.g. caused by gravity, wouldn't be simulatable.
>> >
>> > Morever, which point exactly does the image origin (x/y components) of
>> the projection stack describe? Is it the outer corner of the projection or
>> the center of the first voxel (as in DICOM). The size of a projection in the
>> example is 256.0x256.0 units. However, the stack's origin is at
>> -127.0,-127.0. If the origin should refer to the center of the first projection
>> pixel, it should be essentially -127.5,-127.5, right?
>> >
>> > Sorry for the detailed questions, I just would like to understand how
>> RTK is working.
>> >
>> > Thanks a lot!
>> >
>> > LF
>> > _______________________________________________
>> > Rtk-users mailing list
>> > Rtk-users at openrtk.org
>> > http://public.kitware.com/cgi-bin/mailman/listinfo/rtk-users



More information about the Rtk-users mailing list