Plus Server error when connecting NDI Aurora tracker to Slicer

Hi,

I have been trying to connect a NDI Aurora tracker to Slicer. Initially I just want to visualize the points coming in from the tracker in 3D space. I have couple of issues I am running into.

  1. The Plus Server launched and the connection was successful. But the indicator did not turn green. Upon inspection of the log file (attached), I found the error: |ERROR|008.162000| Unable to start data sending. OutputChannelId not found: TrackerStream| in E:\D\PSNP64b\PlusLib\src\PlusServer\vtkPlusOpenIGTLinkServer.cxx(328)

The OutputChanneld used in the config file was taken from example config files. I did not find documentation to what OutputChannelIds can be used.

  1. In OpenIGTLinkIF, after adding a connector and changing status to Active, Status changes to ON. But in I/O configuration I do not see a visualize option for IN. Also I do not see any transforms. Could anyone advice on what I might be doing wrong? I am following the instruction to visualize tracked tools here

I am guessing 2 might be related to the error in 1. But cannot figure out where things are going wrong.

Config File:

<PlusConfiguration version="2.1">
  <DataCollection StartupDelaySec="1.0">
    <DeviceSet 
      Name="PlusServer: NDI Aurora"
      Description="Broadcasting tool tracking data through OpenIGTLink
      Tracking a single EM pointer and an optical pointer and reference." />
    <Device
      Id="EmTracker" 
      Type="AuroraTracker"
      SerialPort="3"
      BaudRate="115200"
      AcquisitionRate="20"
      LocalTimeOffsetSec="0.0"
      ToolReferenceFrame="EmTracker" >
      <DataSources>
        <DataSource Type="Tool" Id="Pointer" PortName="0" />
      </DataSources>
      <OutputChannels>
        <OutputChannel Id="EmTrackerStream">
          <DataSource Id="Pointer" />
        </OutputChannel>
      </OutputChannels>
    </Device>
    
  </DataCollection>
  <PlusOpenIGTLinkServer 
    MaxNumberOfIgtlMessagesToSend="1" 
    MaxTimeSpentWithProcessingMs="50" 
    ListeningPort="18944" 
    SendValidTransformsOnly="TRUE" 
    OutputChannelId="TrackerStream" > 
    <DefaultClientInfo> 
      <MessageTypes> 
        <Message Type="TRANSFORM" />
      </MessageTypes>
      <TransformNames> 
        <Transform Name="StylusToReference" />
        <!-- <Transform Name="ReferenceToOpticalTracker" />
        <Transform Name="StylusToOpticalTracker" />
        <Transform Name="PointerToEmTracker" />         -->
      </TransformNames>
    </DefaultClientInfo>
  </PlusOpenIGTLinkServer>
  
</PlusConfiguration>

The output channel in the AuroraTracker device is EmTrackerStream, not TrackerStream.

So in PlusOpenIGTLinkServer:

OutputChannelId="TrackerStream"

should be

OutputChannelId="EmTrackerStream"
1 Like