Problem with downloading image from stealthstation (StealthLink)
FaizanSiddiqui91 opened this issue · 14 comments
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?
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.
Yes it has been completed. I am getting the following message / response:
On the plus server log, it says:
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.
This is using a custom module in Slicer?
Can you try using the OpenIGTLink Remote module in SlicerOpenIGTLink to query for the image?
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>
Ah, sorry. I didn't recognize the module from the image.
Have you tried the "Query Data" section?
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
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.
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?
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
Hi, are there any updates on this? Thanks
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.
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?