Slicer IGT providing Stylus tool-tip as input in Fiducial Registation Wizard under "To fiducials"

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

If you place StylusTipToStylus under the StylusToReference transform in the transform hierarchy (without hardening), you should then be able to place points at the StylusTip position in the Fiducial Registration Wizard.

Resolved. Indeed you are right. I only realized this after submitting this post and before it was approved by the moderator :blush: Had I paid closer attention to the tutorials (, I might have noticed my erroneous ways.

1 Like