I am writing an User Interface with Python Qt and SlicerDesigner and I am using OpenIGTLink for communication with external device.
I send the whole Fiducial List with :
connectorNode.RegisterOutgoingMRMLNode(FiducialList), but can I send only one fiducial of the list?
I don’t know how to access the position of the single fiducial and send it as VTK object.
Which version of Slicer are you using?
In Slicer <= 4.8.1 OpenIGTLinkIF had the ability to send/receive points using a vtkMRMLMarkupsFiducialNode.
The current version of OpenIGTLink in Slicer does not currently support point messages.
I noticed this problem with Slicer 4.10.
In 4.8 I can send points with OpenigtlinkIF but all the points of the markupsList. For example if I have a fiducialList with three points: p0,p1,p2 how can I send only p2?
Looking at the implementation of the old OpenIGTLinkIF, it doesn’t look like it’s possible.
You could implement a workaround by attaching an observer to the fiducial node and sending the position as a transform message for the time being.
I see you’ve already commented on it but for the sake of others, here is the SlicerOpenIGTLink issue on GitHub:
I have solved putting each fiducial in a new list where there is only that point.