<div dir="ltr"><div>Hi,</div><div>With 9 degrees of freedom, you can define any position and orientation of the source / detector with the current parametrization. What you are showing is a different GantryAngle with a SourceOffset. It's not always obvious how these should be set but there is a simpler solution: provide the source position, detector position and coordinates of the two axes of the detector:</div><div><a href="http://www.openrtk.org/Doxygen/classrtk_1_1ThreeDCircularProjectionGeometry.html#a0fb1475ed76a28cde24fac85eae18e1e">http://www.openrtk.org/Doxygen/classrtk_1_1ThreeDCircularProjectionGeometry.html#a0fb1475ed76a28cde24fac85eae18e1e</a></div><div>I hope it helps,</div><div>Simon<br></div><div> <br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jul 10, 2024 at 8:13 AM Nikolay Filatov <<a href="mailto:filatovna83@gmail.com" target="_blank">filatovna83@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hello RTK users. I've got a question about geometry. I want to rotate the detector for all orientations around itself and InPlaneAngle, OutOfPlaneAngle perform two rotations, but GantryAngle is not exactly what I need (<a href="https://imgur.com/a/kDpfk5G" target="_blank">https://imgur.com/a/kDpfk5G</a>)<br>Thanks to geometry invariant I can specify this angle through source_x, detector_x offset, but source_x affects InPlaneAngle and OutOfPlaneAngle. IMHO one of the possible solutions is to change RTK geometry final matrix - swap Mrotation and Mtranslation, so source_x shouldn't affect InPlaneAngle and OutOfPlaneAngle.<br><br>Here<br>rtkThreeDCircularProjectionGeometry.cxx<br>void rtk::ThreeDCircularProjectionGeometry::AddProjectionInRadians(...)<br>{<br>...<br> matrix = this->GetProjectionTranslationMatrices().back().GetVnlMatrix() *<br> this->GetMagnificationMatrices().back().GetVnlMatrix() *<br> this->GetSourceTranslationMatrices().back().GetVnlMatrix();<br> this->GetRotationMatrices().back().GetVnlMatrix();<br>---><br> matrix = this->GetProjectionTranslationMatrices().back().GetVnlMatrix() *<br> this->GetMagnificationMatrices().back().GetVnlMatrix() *<br> this->GetRotationMatrices().back().GetVnlMatrix();<br> this->GetSourceTranslationMatrices().back().GetVnlMatrix();<br>...<br>}<br>didn't give desired result.<br><br>So, is it somehow possible to specify this angle along with InPlaneAngle, OutOfPlaneAngle ?<br></div>
_______________________________________________<br>
Rtk-users mailing list<br>
<a href="mailto:rtk-users@openrtk.org" target="_blank">rtk-users@openrtk.org</a><br>
<a href="https://www.creatis.insa-lyon.fr/mailman/listinfo/rtk-users" rel="noreferrer" target="_blank">https://www.creatis.insa-lyon.fr/mailman/listinfo/rtk-users</a><br>
</blockquote></div>