Difference between revisions of "OpenIGTLink/ProtocolV2/Type/Transform"
From NAMIC Wiki
(16 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | [[OpenIGTLink/ProtocolV2/ | + | [[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= | =Implementations= | ||
Line 8: | 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 < TransformContents
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.