Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problem with downloading image from stealthstation (StealthLink) #1106

Open
FaizanSiddiqui91 opened this issue Aug 17, 2023 · 14 comments
Open

Comments

@FaizanSiddiqui91
Copy link

Hello,
I am working with stealthstation and trying to establish a link with Slicer. I managed to get the tool transforms "StylusToTracker" and others. However, I am not able to download the image from the strealthlink.
I am using OpenIGTLink remote and using ht command:

PlusServerRemoteControl.exe --command=GET_EXAM_DATA --device=SLD --dicom-directory="C:\StealthLinkDicomOutput" --volumeEmbeddedTransformToFrame="Ras" --keepReceivedDicomFiles

However, I am getting this response from the server:

Command ID: 1692268493
Status: FAIL
Error:
Message: vtkPlusStealthLinkCommand::Execute: failed, failed to receive image

The tracking works fine, the problem is just with the image data. Do I need to do anything else as well?

@Sunderlandkyl
Copy link
Contributor

Has the patient registration been completed?

It's been a while since I've used the StealthStation, but if I recall correctly the image could not be downloaded unless registration was complete.

@FaizanSiddiqui91
Copy link
Author

Yes it has been completed. I am getting the following message / response:

image

On the plus server log, it says:

image

Am I missing something?
I am getting the transforms, but what I need is StylustoRAS which will only be available when the image is downloaded. Are there any other ways to get the required transform? Thanks for the response.

@Sunderlandkyl
Copy link
Contributor

This is using a custom module in Slicer?

Can you try using the OpenIGTLink Remote module in SlicerOpenIGTLink to query for the image?

@FaizanSiddiqui91
Copy link
Author

This is not the custom module, I am using OpenIFTLink Remote module.

image

@FaizanSiddiqui91
Copy link
Author

FaizanSiddiqui91 commented Aug 17, 2023

Btw this is my config file.

  <DataCollection StartupDelaySec="1">
    <DeviceSet Name="StreamStealth" Description="Broadcasting tool tracking data through OpenIGTLink Tools: Stylus (Passive Planar, Blunt) , Reference (Small Passive Cranial Frame) hahah" />
    <Device
      Id="SLD"
      Type="StealthLinkTracker"
      ServerAddress="192.168.1.2"
      ServerPort="6996"
      RegistrationUpdatePeriod="0.0"
      ToolReferenceFrame="Tracker">
      <DataSources>
        <DataSource Type="Tool" Id="Stylus" PortName="Passive Planar, Blunt" BufferSize="150">
          <CustomProperties>
            <AlwaysTrack>
              FALSE
            </AlwaysTrack>
          </CustomProperties>
        </DataSource>
        <DataSource Type="Tool" Id="Reference" PortName="Small Passive Cranial Frame" BufferSize="150">
          <CustomProperties>
            <AlwaysTrack>
              FALSE
            </AlwaysTrack>
          </CustomProperties>
        </DataSource>
        <DataSource Type="Tool" Id="Ras" PortName="RasRegistration" BufferSize="150">
          <CustomProperties>
            <AlwaysTrack>
              FALSE
            </AlwaysTrack>
          </CustomProperties>
        </DataSource>
      </DataSources>
      <OutputChannels>
        <OutputChannel Id="TrackerStream">
          <DataSource Id="Stylus" />
          <DataSource Id="Reference" />
          <DataSource Id="Ras" />
        </OutputChannel>
      </OutputChannels>
    </Device>
    <Device
      Id="CaptureDevice"
      Type="VirtualCapture"
      BaseFilename="RecordingTest.igs.mha"
      EnableCapturingOnStart="FALSE"
      EnableCapturing="FALSE"
      EnableFileCompression="FALSE"
      EnableCaptureOnStart="FALSE"
      RequestedFrameRate="15">
      <InputChannels>
        <InputChannel Id="TrackerStream" />
      </InputChannels>
    </Device>
  </DataCollection>
  <CoordinateDefinitions>
    <Transform From="Ras" To="Lps"
      Matrix="
        -1	0	0	0
        0	-1	0	0
        0	0	1	0
        0	0	0	1"
       Date="2022.05.12 16:01:47" />
  </CoordinateDefinitions>
  <PlusOpenIGTLinkServer MaxNumberOfIgtlMessagesToSend="1" MaxTimeSpentWithProcessingMs="50" ListeningPort="18944" OutputChannelId="TrackerStream">
    <DefaultClientInfo>
      <MessageTypes>
        <Message Type="TRANSFORM" />
      </MessageTypes>
      <TransformNames>
        <Transform Name="StylusToTracker" />
        <Transform Name="ReferenceToTracker" />
        <Transform Name="RasToReference" />
        <Transform Name="StylusToReference" />
        <Transform Name="StylusToRas" />
      </TransformNames>
    </DefaultClientInfo>
  </PlusOpenIGTLinkServer>
</PlusConfiguration>

@Sunderlandkyl
Copy link
Contributor

Ah, sorry. I didn't recognize the module from the image.

Have you tried the "Query Data" section?

@FaizanSiddiqui91
Copy link
Author

Yes, I did. The list is empty.

image

@FaizanSiddiqui91
Copy link
Author

Now I am also getting this message on plus server log:

|ERROR|16584.296000| Failed to acquire the current exam: Buffer underflow: not enough data
|INFO|16584.297000|SERVER> There are currently no images on the devices that are connected through plus.

Its a bit strange. Thanks a lot for helping me out

@FaizanSiddiqui91
Copy link
Author

An update:

I re-did the registration in stealthstation. the behavior is different now. I am still able to get the transformation but as soon as I query the images from the dataQuery section of IGTLink Remote. Slicer crashes.

@Sunderlandkyl
Copy link
Contributor

Sunderlandkyl commented Aug 17, 2023

Do you know what software version the StealthStation is using? Plus is currently built using StealthLink 2.1.0.

Can you upload the full Plus and Slicer logs somewhere and post a link?

@FaizanSiddiqui91
Copy link
Author

The current version of Stealth is 2.0.1-7. Btw, I was able to get the image data last year with the same method. The problem just arises.

Here is the complete log

https://docs.google.com/document/d/1YGMpZY2GfZQGFlcnCl6DLbnIaCjZxt25gukcGu0NUwQ/edit?usp=sharing

@FaizanSiddiqui91
Copy link
Author

Hi, are there any updates on this? Thanks

@lassoan
Copy link
Contributor

lassoan commented Aug 20, 2023

Buffer underflow error may indicate incompatibility between StealthStation software version and StealthLink version in PLUS. You can try rebuilding PLUS with the StealthLink SDK you received from Medtronic for your current StealthStation software version.

@FaizanSiddiqui91
Copy link
Author

Hi Lassoan,

Thanks for the reply. I managed to get the tool transforms "StylusToTracker" and others. In this case, do you think it is still the incompatibility issue? Moreover, my colleague has managed to get the "Exam_Data" with the same version of Stealthstation and PLUS. Can it be the issue on the PLUS side?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants