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

From NAMIC Wiki
Jump to: navigation, search
 
(17 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=
 
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.
 
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==
 +
 +
{| border="1" cellpadding="5" cellspacing="0" align="center"
 +
|-
 +
| align="left style="background:#e0e0e0;" | Data
 +
| align="left style="background:#e0e0e0;" | Type
 +
| align="left style="background:#e0e0e0;" | Description
 +
|-
 +
| align="left" | R11
 +
| align="left" | 32-bit float
 +
| align="left" | Element (1, 1) in 4-by-4 linear transformation matrix
 +
|-
 +
| align="left" | R21
 +
| align="left" | 32-bit float
 +
| align="left" | Element (2, 1) in 4-by-4 linear transformation matrix
 +
|-
 +
| align="left" | R31
 +
| align="left" | 32-bit float
 +
| 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==
 +
{| border="1" cellpadding="5" cellspacing="0" align="center"
 +
|-
 +
| align="left style="background:#e0e0e0;" | Data
 +
| align="left style="background:#e0e0e0;" | Type
 +
| align="left style="background:#e0e0e0;" | Description
 +
|-
 +
|}
 +
 +
==STT_TRANS==
 +
 +
{| border="1" cellpadding="5" cellspacing="0" align="center"
 +
|-
 +
| align="left style="background:#e0e0e0;" | Data
 +
| align="left style="background:#e0e0e0;" | Type
 +
| align="left style="background:#e0e0e0;" | Description
 +
|-
 +
 +
|}
 +
 +
==STP_TRANS==
 +
 +
{| border="1" cellpadding="5" cellspacing="0" align="center"
 +
|-
 +
| align="left style="background:#e0e0e0;" | Data
 +
| align="left style="background:#e0e0e0;" | Type
 +
| align="left style="background:#e0e0e0;" | Description
 +
|-
 +
|}
 +
 +
==RTS_TRANS==
 +
 +
{| border="1" cellpadding="5" cellspacing="0" align="center"
 +
|-
 +
| align="left style="background:#e0e0e0;" | Data
 +
| align="left style="background:#e0e0e0;" | Type
 +
| align="left style="background:#e0e0e0;" | Description
 +
|-
 +
| align="left" | Status
 +
| align="left" | 8 bit unsigned
 +
| align="left" | 0: Success 1: Error
 +
|-
 +
|}
 +
 +
=Implementations=
 +
IMAGE type is implemented in the following files:
 +
*[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]
 +
 +
=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