Difference between revisions of "OpenIGTLink/ProtocolV2/Type/Transform"

From NAMIC Wiki
Jump to: navigation, search
 
(15 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[OpenIGTLink/ProtocolV2/Proposals | << Version 2 Draft Page]]
+
[[OpenIGTLink/ProtocolV2/Index | << Version 2 Index Page]]
  
 
=Summary=
 
=Summary=
Line 5: Line 5:
  
 
=Message Types=
 
=Message Types=
==POSITION==
+
==TRANSFORM==
  
 
{| border="1" cellpadding="5" cellspacing="0" align="center"
 
{| border="1" cellpadding="5" cellspacing="0" align="center"
Line 13: Line 13:
 
| align="left style="background:#e0e0e0;" | Description
 
| align="left style="background:#e0e0e0;" | Description
 
|-
 
|-
| align="left" | V1
+
| align="left" | R11
| align="left" | unsigned short
+
| align="left" | 32-bit float
| align="left" | Value 1
+
| align="left" | Element (1, 1) in 4-by-4 linear transformation matrix
 
|-
 
|-
| align="left" | V2
+
| align="left" | R21
| align="left" | 8bit unsigned int
+
| align="left" | 32-bit float
| align="left" | Value 2
+
| align="left" | Element (2, 1) in 4-by-4 linear transformation matrix
 
|-
 
|-
| align="left" | ...
+
| align="left" | R31
| align="left" | ...
+
| align="left" | 32-bit float
| align="left" | ...
+
| align="left" | Element (3, 1) in 4-by-4 linear transformation matrix
 +
|-
 +
| align="left" | R12
 +
| align="left" | 32-bit float
 +
| align="left" | Element (1, 2) in 4-by-4 linear transformation matrix
 +
|-
 +
| align="left" | R22
 +
| align="left" | 32-bit float
 +
| align="left" | Element (2, 2) in 4-by-4 linear transformation matrix
 +
|-
 +
| align="left" | R32
 +
| align="left" | 32-bit float
 +
| align="left" | Element (3, 2) in 4-by-4 linear transformation matrix
 +
|-
 +
| align="left" | R13
 +
| align="left" | 32-bit float
 +
| align="left" | Element (1, 3) in 4-by-4 linear transformation matrix
 +
|-
 +
| align="left" | R23
 +
| align="left" | 32-bit float
 +
| align="left" | Element (2, 3) in 4-by-4 linear transformation matrix
 +
|-
 +
| align="left" | R33
 +
| align="left" | 32-bit float
 +
| align="left" | Element (3, 3) in 4-by-4 linear transformation matrix
 +
|-
 +
| align="left" | TX
 +
| align="left" | 32-bit float
 +
| align="left" | Element (1, 4) in 4-by-4 linear transformation matrix (translation along x-axis in millimeter)
 +
|-
 +
| align="left" | TY
 +
| align="left" | 32-bit float
 +
| align="left" | Element (2, 4) in 4-by-4 linear transformation matrix (translation along y-axis in millimeter)
 +
|-
 +
| align="left" | TZ
 +
| align="left" | 32-bit float
 +
| align="left" | Element (3, 4) in 4-by-4 linear transformation matrix (translation along z-axisin millimeter)
 
|-
 
|-
 
|}
 
|}
  
 
+
==GET_TRANS==
==GET_POSITION==
 
 
{| border="1" cellpadding="5" cellspacing="0" align="center"
 
{| border="1" cellpadding="5" cellspacing="0" align="center"
 
|-
 
|-
Line 35: Line 70:
 
| align="left style="background:#e0e0e0;" | Description
 
| align="left style="background:#e0e0e0;" | Description
 
|-
 
|-
| align="left" | V1
+
|}
| align="left" | unsigned short
+
 
| align="left" | Value 1
+
==STT_TRANS==
 +
 
 +
{| border="1" cellpadding="5" cellspacing="0" align="center"
 
|-
 
|-
| align="left" | V2
+
| align="left style="background:#e0e0e0;" | Data
| align="left" | 8bit unsigned int
+
| align="left style="background:#e0e0e0;" | Type
| align="left" | Value 2
+
| align="left style="background:#e0e0e0;" | Description
|-
 
| align="left" | ...
 
| align="left" | ...
 
| align="left" | ...
 
 
|-
 
|-
 +
 
|}
 
|}
  
 
+
==STP_TRANS==
==STT_POSITION==
 
  
 
{| border="1" cellpadding="5" cellspacing="0" align="center"
 
{| border="1" cellpadding="5" cellspacing="0" align="center"
Line 57: Line 90:
 
| align="left style="background:#e0e0e0;" | Type
 
| align="left style="background:#e0e0e0;" | Type
 
| align="left style="background:#e0e0e0;" | Description
 
| align="left style="background:#e0e0e0;" | Description
|-
 
| align="left" | V1
 
| align="left" | unsigned short
 
| align="left" | Value 1
 
|-
 
| align="left" | V2
 
| align="left" | 8bit unsigned int
 
| align="left" | Value 2
 
|-
 
| align="left" | ...
 
| align="left" | ...
 
| align="left" | ...
 
 
|-
 
|-
 
|}
 
|}
  
==STP_POSITION==
+
==RTS_TRANS==
 
 
  
 
{| border="1" cellpadding="5" cellspacing="0" align="center"
 
{| border="1" cellpadding="5" cellspacing="0" align="center"
Line 81: Line 101:
 
| align="left style="background:#e0e0e0;" | Description
 
| align="left style="background:#e0e0e0;" | Description
 
|-
 
|-
| align="left" | V1
+
| align="left" | Status
| align="left" | unsigned short
+
| align="left" | 8 bit unsigned  
| align="left" | Value 1
+
| align="left" | 0: Success 1: Error
|-
 
| align="left" | V2
 
| align="left" | 8bit unsigned int
 
| align="left" | Value 2
 
|-
 
| align="left" | ...
 
| align="left" | ...
 
| align="left" | ...
 
 
|-
 
|-
 
|}
 
|}
Line 99: Line 111:
 
*[http://svn.na-mic.org/NAMICSandBox/trunk/OpenIGTLink/Source/igtlTransformMessage.h igtlTransformMessage.h]
 
*[http://svn.na-mic.org/NAMICSandBox/trunk/OpenIGTLink/Source/igtlTransformMessage.h igtlTransformMessage.h]
 
*[http://svn.na-mic.org/NAMICSandBox/trunk/OpenIGTLink/Source/igtlTransformMessage.cxx igtlTransformMessage.cxx]
 
*[http://svn.na-mic.org/NAMICSandBox/trunk/OpenIGTLink/Source/igtlTransformMessage.cxx igtlTransformMessage.cxx]
 +
 +
=Implementations=
 +
XXX message type is implemented in the following source code.
 +
*igtlXXXXMessage.h (link to the file in subversion repository, if available)
 +
*igtlXXXXMessage.cxx (link to the file in subversion repository, if available)
 +
 +
=Contributors=
 +
This is part of original OpenIGTLink Protocol Version 1.
 +
 +
=Comments=

Latest revision as of 04:40, 30 November 2011

Home < OpenIGTLink < ProtocolV2 < Type < Transform

<< Version 2 Index Page

Summary

The TRANSFORM data type is used to transfer a homogeneous linear transformation in 4-by-4 matrix form. One such matrix was shown earlier in equation (1). Note that if a device is sending only translation and rotation, then TRANSFORM is equivalent to POSITION. But TRANSFORM can also be used to transfer affine transformations or simple scaling. Like IMAGE and POSITION, TRANSFORM carries information about the coordinate system used.

Message Types

TRANSFORM

Data Type Description
R11 32-bit float Element (1, 1) in 4-by-4 linear transformation matrix
R21 32-bit float Element (2, 1) in 4-by-4 linear transformation matrix
R31 32-bit float Element (3, 1) in 4-by-4 linear transformation matrix
R12 32-bit float Element (1, 2) in 4-by-4 linear transformation matrix
R22 32-bit float Element (2, 2) in 4-by-4 linear transformation matrix
R32 32-bit float Element (3, 2) in 4-by-4 linear transformation matrix
R13 32-bit float Element (1, 3) in 4-by-4 linear transformation matrix
R23 32-bit float Element (2, 3) in 4-by-4 linear transformation matrix
R33 32-bit float Element (3, 3) in 4-by-4 linear transformation matrix
TX 32-bit float Element (1, 4) in 4-by-4 linear transformation matrix (translation along x-axis in millimeter)
TY 32-bit float Element (2, 4) in 4-by-4 linear transformation matrix (translation along y-axis in millimeter)
TZ 32-bit float Element (3, 4) in 4-by-4 linear transformation matrix (translation along z-axisin millimeter)

GET_TRANS

Data Type Description

STT_TRANS

Data Type Description

STP_TRANS

Data Type Description

RTS_TRANS

Data Type Description
Status 8 bit unsigned 0: Success 1: Error

Implementations

IMAGE type is implemented in the following files:

Implementations

XXX message type is implemented in the following source code.

  • igtlXXXXMessage.h (link to the file in subversion repository, if available)
  • igtlXXXXMessage.cxx (link to the file in subversion repository, if available)

Contributors

This is part of original OpenIGTLink Protocol Version 1.

Comments