I need to calibrate an O-arm imaging system to obtain an “OArmImageToOArmTransform” with an Optitrack tri-ocular camera. This is something we expect to perform infrequently hence I am trying to do this task using various module UIs instead of coding for now. We built a registration x-ray phantom with 20 divots for this task.
We are creating a fiducial for each divot seen in a 3D image and/or orthogonal 2D image planes of the phantom using the “IGT”->“Fiducial Registration Wizard” under “From Fiducial”. We wish to create fiducials using an instrumented Stylus (Medtronic) using the “IGT”->“Fiducial Registration Wizard” under “To Fiducial”.
I am having issues passing the position of the navigated stylus tip when touching the phantom divots in the same order as I did for the 3D image. The Wizard allows fiducials to be populated via the current value of a transform, a feature that seems promising for my use. However, my StylusToReference transform is not the correct transform to populate the “To fiducials” because it is not centered on the tip. I think I need the transform StylusToReference . StylusToStylusTip. One might think that hardening might provide the desired information but as soon as I do that my resulting transform is a snapshot i.e. is not live anymore.
Looking for advice on how to do this via the UI but if not possible I am not adverse to writing a module and/or running some code in the Python interactor. Regards