Interaction Handle for one Fiducial connected to a Model

I connected the PointModifiedEvent of a fiducial list to a function to update a transform that is applied to a model so that the model’s origin is the position of the first fiducial point on the list. In other words, I made the model follow the 1st fiducial point position.

I have seen the Interaction handles on the display collapsable botton of the Markups module.
And I’d like to use it but only to move the 1st fiducial of the list, not all the fiducials on the list (I’d like the interaction handles to be positioned over the 1st fiducial of the list, not over the gravity center of the list). Also I’d like to use the rotation handles to rotate the model around the 1st fiducial on the list.
Can all these things be done? I suspect there is signal send by the interaction handles that I could use

We’ll add a transform widget that will support the features that you describe, probably within a few months. Until then, I would recommend to use a markups plane node to specify position/orientation using the interaction handles (you can hide the plane itself). You can get the transform corresponding to the position/orientation of the plane using GetPlaneToWorldMatrix method.

It’s a good workaround but at last the interaction handles didn’t give me the fine adjustment I was looking for. So I’ll have to wait for the new widget to come

What kind of fine adjustment were you looking for?

I have to ask for permission to upload a video to show you Andras

A widget like the one with arrows in the video would be great. It is good because every touch just makes a small movement to the model

I’m not sure what of that is shown in the video looks appealing to you. Pushbuttons that make the object position small amount may be OK on a touchscreen (because it may be hard to slide the finger in gloves and the finger may also occlude the image), but it would be terrible to use with a mouse. If you mean translation/rotation along world axis (instead of object axis), we plan to have that option in the transform widget.

Your points are very valid Andras. I forgot to mention that I found somewhat of a bug in the Interaction Handle: If you make very small movements very slowly it recoils and incorporates unacceptable errors to the intended translation/rotation. You can place a fiducial, turn on the interaction handles and recreate this bug very easely.

Andras were you able to reproduce the bug?

Yes, I know about this bug (markups jumps when translated using the arrows in the interaction widget), it is a minor thing but still annoying.

@Sunderlandkyl do you know about this problem? I think somebody reported this before, but I could not find an issue on github. It would be nice if you could fix it. Thank you!

Sure, the issue tracking the bug is here: https://github.com/Slicer/Slicer/issues/5257

2 Likes

Is SetHandlesInteractive for Models implemented yet?

Is there an easier way of enabling interactive handles for models?

thank you

For now you could just put the model in a transform.

1 Like