Skip to content

Commit c2dc9b0

Browse files
author
Adam Rankin
committed
re #1010 changing behavior to more closely match that of image message embedded transform extraction
1 parent 1b62651 commit c2dc9b0

4 files changed

Lines changed: 10 additions & 7 deletions

File tree

PlusLib/src/PlusDataCollection/OpenIGTLink/vtkPlusOpenIGTLinkVideoSource.cxx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,6 @@ PlusStatus vtkPlusOpenIGTLinkVideoSource::InternalUpdate()
6262
double unfilteredTimestamp = vtkPlusAccurateTimer::GetSystemTime();
6363

6464
PlusTrackedFrame trackedFrame;
65-
vtkSmartPointer<vtkMatrix4x4> embeddedImageTransform;
6665
igtl::MessageBase::Pointer bodyMsg = IgtlMessageFactory->CreateReceiveMessage( headerMsg );
6766

6867
if ( typeid( *bodyMsg ) == typeid( igtl::ImageMessage ) )
@@ -75,7 +74,7 @@ PlusStatus vtkPlusOpenIGTLinkVideoSource::InternalUpdate()
7574
}
7675
else if ( typeid( *bodyMsg ) == typeid( igtl::PlusTrackedFrameMessage ) )
7776
{
78-
if ( vtkPlusIgtlMessageCommon::UnpackTrackedFrameMessage( bodyMsg, this->ClientSocket, trackedFrame, embeddedImageTransform, this->IgtlMessageCrcCheckEnabled ) != PLUS_SUCCESS )
77+
if ( vtkPlusIgtlMessageCommon::UnpackTrackedFrameMessage( bodyMsg, this->ClientSocket, trackedFrame, this->ImageMessageEmbeddedTransformName, this->IgtlMessageCrcCheckEnabled ) != PLUS_SUCCESS )
7978
{
8079
LOG_ERROR( "Couldn't get tracked frame from OpenIGTLink server!" );
8180
return PLUS_FAIL;

PlusLib/src/PlusOpenIGTLink/vtkPlusIgtlMessageCommon.cxx

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ PlusStatus vtkPlusIgtlMessageCommon::PackTrackedFrameMessage( igtl::PlusTrackedF
103103

104104
//----------------------------------------------------------------------------
105105
// static
106-
PlusStatus vtkPlusIgtlMessageCommon::UnpackTrackedFrameMessage( igtl::MessageHeader::Pointer headerMsg, igtl::Socket* socket, PlusTrackedFrame& trackedFrame, vtkSmartPointer<vtkMatrix4x4>& embeddedImageTransform, int crccheck )
106+
PlusStatus vtkPlusIgtlMessageCommon::UnpackTrackedFrameMessage( igtl::MessageHeader::Pointer headerMsg, igtl::Socket* socket, PlusTrackedFrame& trackedFrame, const PlusTransformName& embeddedTransformName, int crccheck )
107107
{
108108
if ( headerMsg.IsNull() )
109109
{
@@ -136,7 +136,12 @@ PlusStatus vtkPlusIgtlMessageCommon::UnpackTrackedFrameMessage( igtl::MessageHea
136136

137137
// if CRC check is OK. get tracked frame data.
138138
trackedFrame = trackedFrameMsg->GetTrackedFrame();
139-
embeddedImageTransform = trackedFrameMsg->GetEmbeddedImageTransform();
139+
140+
if ( embeddedTransformName.IsValid() )
141+
{
142+
// Save the transform that is embedded in the TRACKEDFRAME message into the tracked frame
143+
trackedFrame.SetCustomFrameTransform( embeddedTransformName, trackedFrameMsg->GetEmbeddedImageTransform() );
144+
}
140145

141146
return PLUS_SUCCESS;
142147
}

PlusLib/src/PlusOpenIGTLink/vtkPlusIgtlMessageCommon.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ class vtkPlusOpenIGTLinkExport vtkPlusIgtlMessageCommon: public vtkObject
4747
static PlusStatus PackTrackedFrameMessage( igtl::PlusTrackedFrameMessage::Pointer trackedFrameMessage, PlusTrackedFrame& trackedFrame, vtkSmartPointer<vtkMatrix4x4> embeddedImageTransform );
4848

4949
/*! Unpack tracked frame message to tracked frame */
50-
static PlusStatus UnpackTrackedFrameMessage( igtl::MessageHeader::Pointer headerMsg, igtl::Socket* socket, PlusTrackedFrame& trackedFrame, vtkSmartPointer<vtkMatrix4x4>& embeddedImageTransform, int crccheck );
50+
static PlusStatus UnpackTrackedFrameMessage( igtl::MessageHeader::Pointer headerMsg, igtl::Socket* socket, PlusTrackedFrame& trackedFrame, const PlusTransformName& embeddedTransformName, int crccheck );
5151

5252
/*! Pack US message from tracked frame */
5353
static PlusStatus PackUsMessage( igtl::PlusUsMessage::Pointer usMessage, PlusTrackedFrame& trackedFrame );

PlusLib/src/PlusServer/Tools/PlusServer.cxx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,6 @@ int main( int argc, char** argv )
155155

156156
// This is a PlusServer tag, let's create it
157157
vtkSmartPointer<vtkPlusOpenIGTLinkServer> server = vtkSmartPointer<vtkPlusOpenIGTLinkServer>::New();
158-
// Create Plus OpenIGTLink server.
159158
LOG_DEBUG( "Initializing Plus OpenIGTLink server... " );
160159
if ( server->Start( dataCollector, transformRepository, serverElement, configFilePath ) != PLUS_SUCCESS )
161160
{
@@ -176,7 +175,7 @@ int main( int argc, char** argv )
176175
std::vector< vtkSmartPointer<vtkPlusOpenIGTLinkVideoSource> > testClientList;
177176
if ( !testingConfigFileName.empty() )
178177
{
179-
// During testing, there is only one instance of PlusServer, so we can acess serverList[0] directly
178+
// During testing, there is only one instance of PlusServer, so we can access serverList[0] directly
180179

181180
vtkSmartPointer<vtkXMLDataElement> configRootElement = vtkSmartPointer<vtkXMLDataElement>::New();
182181
if ( PlusXmlUtils::ReadDeviceSetConfigurationFromFile( configRootElement, testingConfigFileName.c_str() ) == PLUS_FAIL )

0 commit comments

Comments
 (0)