Detect when OpenIGTlink streamed transform no longer updated

I stream tracking data to Slicer via OpenIGTlink, but I would like to be able to detect (i.e. emit an event) when tracking is no longer updated (e.g. the tracked object goes out of range).
I have looked at what methods are available for vtkMRMLLinearTransformNode, but found nothing conclusive.

You might want to look at the Watchdog module in SlicerIGT. It can monitor any number of nodes, and will trigger a ModifiedEvent on the Watchdog node if their status changes. The status of individual nodes can be checked with vtkMRMLWatchdogNode::GetWatchedNodeUpToDate().

If you’re using Plus, and SendValidTransformsOnly is “FALSE”, then you can check the TransformStatus attribute on the TransformNode which is sent over OpenIGTLink as metadata.


Since I am indeed using Plus, I opted for the second solution and it works like a charm, thanks !

1 Like