[Castor-users] multiSiddon - projection lines lengths not updated before accessing
Thibaut Merlin
Thibaut.Merlin at univ-brest.fr
Thu Jan 3 19:25:11 CET 2019
Hi Simon,
Thank you for notifying this to us. Indeed the length of the line is
computed once before the call to the specific projection functions of the
child classes. This results in the use of wrong line lengths for
multi-lines projectors with the actual implementation, though the
differences should be small with standard detectors dimensions. Anyway your
suggestion does the trick.
There is still some work to do in this class, such as the management of ToF
and the support of geometries whose detectors have a non-zero axial
orientation (in the /GetRdmPositionsAndOrientations()/ function). I'll have
a look at it asap.
Thanks again,
Thibaut
Simon Laperle <Simon.Laperle at usherbrooke.ca> a écrit :
> While reading some code, I stumbled on a GetLength() function that
> wasn’t returning the length of the current projectionLine…
>
>
>
> The resulting image doesn’t change much. So I can’t say if it
makes
> the image better or worse.
>
>
>
>
>
>
>
>
>
> In detail:
>
>
>
>
>
>
>
>
>
> Source: \src\projector\iProjectorIncrementalSiddonMulti.cc
>
>
>
>
>
>
>
>
>
> (line:189) if (mp_Scanner->GetRdmPositionsAndOrientations(
> ap_ProjectionLine->GetIndex1(), ap_ProjectionLine->GetIndex2(),
>
>
>
>
>
ap_ProjectionLine->GetPosition1(),
> ap_ProjectionLine->GetPosition2(),
>
>
>
>
>
ap_ProjectionLine->GetOrientation1(),
ap_ProjectionLine->GetOrientation2()
> ))
>
>
>
> […]
>
>
>
> // **************************************
>
>
>
> // STEP 1: LOR length calculation
>
>
>
> // **************************************
>
>
>
> (line:213) HPFLTNB length_LOR = ap_ProjectionLine->GetLength();
>
>
>
>
>
>
>
>
>
> GetLength() does not take into account the length change caused by
> mp_Scanner->GetRdmPositionsAndOrientations
>
>
>
>
>
>
>
>
>
> If it wasn’t intentional, a simple solution would be to add a call
to
> ComputeLineLength():
>
>
>
> // **************************************
>
>
>
> // STEP 1: LOR length calculation
>
>
>
> // **************************************
>
>
>
> ap_ProjectionLine->ComputeLineLength();
>
>
>
> HPFLTNB length_LOR = ap_ProjectionLine->GetLength();
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> Hope that helps.
>
>
>
>
>
>
>
>
>
> SIMON LAPERLE
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.castor-project.org/pipermail/castor-users/attachments/20190103/e16022f6/attachment.html>
More information about the Castor-users
mailing list