<div dir="ltr">Hoi Thibault,<div><br></div><div><div>Source offset appearing several times is because of a different view of one kind of detector rotation. A detector can have three kinds of rotations: the in-plane rotation defined in RTK is about z axis, the out-of-plane rotation defined in RTK is about x axis, and there should be another out-of-plane rotation about y axis. Assuming a zero out-of-plane rotation about x, Fig 1 gives an common example of the rotation about y together with definitions of sid and sdd in some systems. I guess this figure may be more familiar and straightforward to some people.</div><div><br></div><div>However RTK sees this differently. Since this out-of-plane rotation about y can be in fact merged into the gantry angle, it is ignored in RTK. On the other hand, parameters should be defined differently than that in Fig 1 to represent this detector change, as shown in Fig 2: an “ideal” source is positioned at B, sid is BE instead of AE, sdd is BD or AC instead of AF, and AB is the size of the source offset. The origin of the detector is not at the intersection F with the oblique ray AEF, but at the intersection D with the perpendicular ray BED from the “ideal” source B. The perpendicular ray AC from the real source A intersects the detector at C differing from D by CD or AB, the source offset, which is the reason that you see the source offset appears again in the projection translation matrix. If the in-plane rotation of the detector is zero, this source offset only has x element, otherwise it contains both x and y elements. lastly, the size of projection offset is the distance between the origin of the projection image and the origin of the detector (point D). For many “normal” 2D image format the origin of the image is just at the first pixel (one corner), so the size of the projection offset is just the distance from the corner to D and has nothing to do with things like “detector half size”.</div><div><br></div><div>In fact the out-of-plane rotation about x has a similar effect in RTK (causing shifts of source and detector origin, and changes of sid and sdd, etc. compared with the point of view of the Fig 1 style), although this angle itself is also needed for rotating the world coordinates.</div><div><br></div><div>I hope I did not make any mistake in this long description…</div><div><br></div><div>Regards,</div><div>Chao</div></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">2014-12-03 15:27 GMT+01:00 Notargiacomo Thibault <span dir="ltr"><<a href="mailto:gnthibault@gmail.com" target="_blank">gnthibault@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Dear all,<div><br></div><div>I am currently trying to import data generated with a custom tomographic system into RTK, and I am facing issues whith this task.</div><div><br></div><div>The system projection matrix is transparently calibrated, and the calibration process give a 3*4 projection matrix for each acquisition position.</div><div>Each calibration matrix is a direct 3D world to 2D buffer index matrix.</div><div><br></div><div>Using the pinhole model, I tried to factorize this matrix as the product of various submatrix, including a 3D centered Euler transform, using <a href="http://staff.city.ac.uk/~sbbh653/publications/euler.pdf" target="_blank">this note</a> as stated in rtkReg23Geometry.cxx.</div><div>The pinhole camera model I used could be find <a href="http://cauchois.iut-amiens.fr/Recherche/Publi/DEA.pdf" target="_blank">here</a> at p18 of the pdf.</div><div>I think that the way I factorized the matrix is correct, and match the GantryAngle/InPlanAngle/OutOfPlanAngle model described <a href="http://www.openrtk.org/Doxygen/geometry.pdf" target="_blank">here</a> .</div><div><br></div><div>My problem arise when I try to model the x/z tilt of the detector: when decomposing my projection matrix into different matrix, each modelling a system coordinate change, I have:</div><div>    - a world coordinate system to source centered system matrix (modeling euler 3D rotation and also translation from isocenter to source)</div><div>    - a source centered system to 2D buffer index matrix modeling source to detector and pixel size scaling and then detector translation (U0,V0) </div><div><br></div><div>As I understand, the pinhole model should allow a perfect fit with the RTK geometry model in the following sense:</div><div>Extrinsinc parameters matrix correspond to the SourceTranslationM and RotationM in RTK, assuming that the order of the rotation follows RTK reference. And the translation in z should be replaced by zero, as it correspond to source-isocenter distance, and is taken into accounts in the magnification step.</div><div>So I think it is easy to find all the rotation angle, and the sid distance as well</div><div><br></div><div>Intrinsics parameters matrix could be decomposed in order to find the focal (or source detector distance) and the projection offset, from the U0, V0 parameters, substracting the detector half size in each direction.</div><div><br></div><div>What I do not understand is:</div><div>-In the rtk documentation, it is stated that "The detector position is defined with respect to the source" but the ProjectionTranslationM in rtk contains a term in sourceOffsetX-projOffsetX although sourceOffset has already been taken into account earlier.</div><div>-Why reconstruction aren't working at all</div><div><br></div><div>I enclosed you a sample of geometry file I have generated that provide some acceptable result when used for phantom projection, but provide totally wrong reconstruction when reconstructing my image data with sart (sample image taken from a reconstructed volume).</div><div><br></div><div>Thank you in advance for you help, and sorry for the long mail<img src="cid:ii_i38sgelz0_14a108c1aab5efa5" width="256" height="256"><br></div><div><br></div><div><br></div></div>
<br>_______________________________________________<br>
Rtk-users mailing list<br>
<a href="mailto:Rtk-users@public.kitware.com">Rtk-users@public.kitware.com</a><br>
<a href="http://public.kitware.com/mailman/listinfo/rtk-users" target="_blank">http://public.kitware.com/mailman/listinfo/rtk-users</a><br>
<br></blockquote></div><br></div>