Connect Plus to the Polaris vicra

Hello,
I am trying to connect the Polaris Vicra to 3D slicer to be able to read the position of the tip of an instrument, but every time I try to connect the Polaris Vicra with Plus I got the following errors:

|WARNING|2784.624000|SERVER> vtkPlusChannel::GetTrackedFrameListSampled: Frames in the buffer are not available any more at time: 0.672000. Skipping 0.113000 seconds from the recording to catch up. Increase the buffer size or decrease the acquisition rate to avoid this situation.| in :\D\PSNPb\PlusLib\src\PlusDataCollection\vtkPlusChannel.cxx(1089)

|ERROR|2784.825000|SERVER> Unable to retrieve number of scalar components.| in :\D\PSNPb\PlusLib\src\PlusCommon\IO\vtkPlusNrrdSequenceIO.cxx(585)

|ERROR|2784.841000|SERVER> Unable to prepare header| in :\D\PSNPb\PlusLib\src\PlusDataCollection\VirtualDevices\vtkPlusVirtualCapture.cxx(614)

I also attach my config file:

<PlusConfiguration version="2.1">

  <DataCollection StartupDelaySec="1.0" >
    <DeviceSet 
      Name="PlusServer: NDI Polaris tracker with passive markers" 
      Description="Broadcasting tool tracking data through OpenIGTLink
For NDI Polaris passive marker starting kit: Reference (8700339), Stylus (8700340)" />
    <Device
      Id="TrackerDevice"
      Type="PolarisTracker"
      ToolReferenceFrame="Tracker" >
      <DataSources>
        <DataSource Type="Tool" Id="Reference" RomFile="NdiToolDefinitions/8700339.rom"  />
        <DataSource Type="Tool" Id="Stylus" RomFile="NdiToolDefinitions/8700340.rom"  />
      </DataSources>
      <OutputChannels>
        <OutputChannel Id="TrackerStream" >
		  <DataSource Id="Reference"/>
          <DataSource Id="Stylus"/>
        </OutputChannel>
      </OutputChannels>
    </Device>
    <Device
      Id="CaptureDevice"
      Type="VirtualCapture"
      BaseFilename="RecordingTest.igs.nrrd"
      EnableFileCompression="TRUE"
      EnableCapturingOnStart="TRUE" >
      <InputChannels>
        <InputChannel Id="TrackerStream" />
      </InputChannels>
    </Device>    
  </DataCollection>

  <CoordinateDefinitions>
    <Transform From="StylusTip" To="Stylus"
      Matrix="
        1	0	0.000203823	0.0180449
        3.31529e-09	-1	-1.62655e-05	-0.00144002
        0.000203823	1.62655e-05	-1	-88.5321
        0	0	0	1"
       Error="0.554951" Date="012617_105449" />
  </CoordinateDefinitions>

  <PlusOpenIGTLinkServer 
    MaxNumberOfIgtlMessagesToSend="1"
    MaxTimeSpentWithProcessingMs="50"
    ListeningPort="18944"
    SendValidTransformsOnly="true"
    OutputChannelId="TrackerStream" >
    <DefaultClientInfo>
      <MessageTypes>
        <Message Type="TRANSFORM" />
      </MessageTypes>
      <TransformNames>
        <Transform Name="StylusToReference" />
      </TransformNames>
    </DefaultClientInfo>
  </PlusOpenIGTLinkServer>

</PlusConfiguration>

Hope anybody can help!

You can remove the capture device for now (you’ll still be able to record at the client side) and see if you still get errors.

Now the error is gone but when I go to 3D slicer nothing happen.
These are the steps that I did in 3D slicer:

  1. I created a tranform and named it “StylusToReference” as in the config file
  2. I created a needle model that I put as a child of the “StylusToReference” transform
  3. I followed the tutorial and I set up OpenIGTLinkIF module as it was described

Now if I am not wrong, when I move the probe seen by the polaris vicra I should also see the needle model move in 3D slicer, right? or I am missing something?

I installed:
PlusApp-2.8.0.20190617-Win32.exe and I have 3D slicer 4.11
Are they ok?

Please use the latest Slicer Preview Release and latest Plus Toolkit release.

Excuse me,I am also conducting a similar experiment,and I have the same problem with you.May I ask if your problem has been solved?If so,could you please reply me how to solve this problem?Thanks so much!!

See the post that was mark as solution (remove the capture device section from the file).

@Sunderlandkyl @adamrankin If latest Plus version cannot record a tracking-data-only stream then it is a regression that should be fixed. Not urgent, but at least a bug report should be filed.

Just tested recording a tracking-data-only data stream (from a data replay device) in the latest release, and it recorded fine.

1 Like