Fraxinus  17.12-rc1
An IGT application
cx::PlusProtocol Class Reference

The PlusDialect class contains the knowhow on the packages sent from a PlusServer. For this class to function correctly, the Plus configuration file used by the PlusServer needs to set up correctly. More...

#include <cxPlusProtocol.h>

Inheritance diagram for cx::PlusProtocol:
cx::OpenIGTLinkProtocol cx::Protocol

Public Member Functions

 PlusProtocol ()
 
virtual QString getName () const
 
virtual void translate (const igtl::TransformMessage::Pointer body)
 
virtual void translate (const igtl::ImageMessage::Pointer body)
 
virtual void translate (const igtl::StringMessage::Pointer body)
 
- Public Member Functions inherited from cx::Protocol
 Protocol (QObject *parent=0)
 
virtual EncodedPackagePtr getPack ()
 
virtual void setSynchronizeRemoteClock (bool on)
 

Additional Inherited Members

- Signals inherited from cx::Protocol
void transform (QString devicename, Transform3D transform, double timestamp)
 
void calibration (QString devicename, Transform3D calibration)
 
void image (ImagePtr image)
 
void mesh (MeshPtr mesh)
 
void probedefinition (QString devicename, ProbeDefinitionPtr definition)
 
- Protected Slots inherited from cx::Protocol
virtual void processPack ()=0
 
- Protected Attributes inherited from cx::Protocol
EncodedPackagePtr mPack
 
StreamedTimestampSynchronizerPtr mStreamSynchronizer
 

Detailed Description

The PlusDialect class contains the knowhow on the packages sent from a PlusServer. For this class to function correctly, the Plus configuration file used by the PlusServer needs to set up correctly.

ASSUMPTIONS:

  • connected probes are linear
  • incoming images does not contain padding (sector == imagesize)
  • all images comes from a probe
  • the datasource with the us must be named Probe
  • the transformation from the probe to the tracker must be named ProbeToTracker
  • all calibrations are transformation packages named CalibrationTo<Name>X

Example configuration used with the Ultrasonix L14-5 gps probe:

<PlusConfiguration version="2.1" plusrevision="Plus-2.1.2.4115 - Win32"> <DataCollection startupdelaysec="1"> <DeviceSet name="CustusX PlusServer: Ultrasonix ultrasound imaging and tracking device" description="Broadcasting ultrasound images and tracking data acquired from the Ultrasonix system through OpenIGTLink. If PlusServer does not run on the Ultrasonix PC then update the IP attribute in the Device element with the Ultrasonix PC&apos;s IP address."> <Device id="VideoDevice" type="SonixVideo" acquisitionrate="30" ip="127.0.0.1" sharedmemorystatus="1" enableautoclip="TRUE" autoclipenabled="TRUE" localtimeoffsetsec="-0.145" imagegeometryoutputenabled="TRUE" imagetotransducertransformname="ImageToTransducer"> <DataSources> <DataSource type="Video" id="Video" portname="B" portusimageorientation="MF"> </DataSources> <OutputChannels> <OutputChannel id="VideoStream" videodatasourceid="Video"> </OutputChannels> </Device> <Device id="TrackerDevice" type="Ascension3DG" filteracwidenotch="1" toolreferenceframe="Tracker"> <DataSources> <DataSource type="Tool" id="Probe" portname="0"> <DataSource type="Tool" id="Needle" portname="2"> </DataSources> <OutputChannels> <OutputChannel id="TrackerStream"> <DataSource id="Probe"> <DataSource id="Needle"> </OutputChannel> </OutputChannels> </Device> <Device id="TrackedVideoDevice" type="VirtualMixer"> <InputChannels> <InputChannel id="TrackerStream"> <InputChannel id="VideoStream"> </InputChannels> <OutputChannels> <OutputChannel id="TrackedVideoStream"> </OutputChannels> </Device> </DataCollection> <CoordinateDefinitions>

<Transform from="Calibration" to="NeedleX" matrix=" 0 1 0 8 -1 0 0 0 0 0 1 0 0 0 0 1">

<Transform from="Calibration" to="ProbeX" matrix=" 0.0018 0.9477 -0.0175 14.8449 -1.0000 0.0016 -0.0052 15.0061 -0.0052 0.0166 0.9998 0.1638 0 0 0 1.0000"> </CoordinateDefinitions> <PlusOpenIGTLinkServer maxnumberofigtlmessagestosend="100" maxtimespentwithprocessingms="50" listeningport="18944" sendvalidtransformsonly="true" outputchannelid="TrackedVideoStream"> <DefaultClientInfo> <MessageTypes> <Message type="TRANSFORM"> <Message type="IMAGE"> </MessageTypes> <TransformNames> <Transform name="ProbeToTracker"> <Transform name="NeedleToTracker">

<Transform name="CalibrationToNeedleX"> <Transform name="CalibrationToProbeX">

</TransformNames> <ImageNames> <Image name="Image" embeddedtransformtoframe="Transducer"> </ImageNames> </DefaultClientInfo> </PlusOpenIGTLinkServer> </PlusConfiguration>

Definition at line 162 of file cxPlusProtocol.h.

Constructor & Destructor Documentation

cx::PlusProtocol::PlusProtocol ( )

Definition at line 10 of file cxPlusProtocol.cpp.

Member Function Documentation

QString cx::PlusProtocol::getName ( ) const
virtual

Reimplemented from cx::Protocol.

Definition at line 31 of file cxPlusProtocol.cpp.

void cx::PlusProtocol::translate ( const igtl::TransformMessage::Pointer  body)
virtual

Reimplemented from cx::OpenIGTLinkProtocol.

Definition at line 36 of file cxPlusProtocol.cpp.

void cx::PlusProtocol::translate ( const igtl::ImageMessage::Pointer  body)
virtual

Reimplemented from cx::OpenIGTLinkProtocol.

Definition at line 66 of file cxPlusProtocol.cpp.

void cx::PlusProtocol::translate ( const igtl::StringMessage::Pointer  body)
virtual

Reimplemented from cx::OpenIGTLinkProtocol.

Definition at line 120 of file cxPlusProtocol.cpp.


The documentation for this class was generated from the following files: