1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157
|
---
layout: page
title: Specification > QTrackingData
header: Pages
---
{% include JB/setup %}
## Summary
The QTDATA message type is intended for transferring 3D positions of surgical tools, markers etc. Its role is almost identical to TDATA, except that QTDATA describes orientation by using quaternion.
## Message Types
### QTDATA
<table border="1" cellpadding="5" cellspacing="0" align="center">
<tbody><tr>
<td style="background:#e0e0e0;"> Data
</td><td style="background:#e0e0e0;"> Type
</td><td style="background:#e0e0e0;"> Description
</td></tr>
<tr>
<td align="left"> NAME_1
</td><td align="left"> char[32]
</td><td align="left"> Name (=Id) of the instrument/tracker
</td></tr>
<tr>
<td align="left"> TYPE_1
</td><td align="left"> 8 bit unsigned
</td><td align="left"> 1: tracker, 2: 6D instrument (regular instrument), 3: 3D instrument (only tip of the instrument defined), 4: 5D instrument (tip and handle are defined, but not the normal vector)
</td></tr>
<tr>
<td align="left"> --
</td><td align="left"> 8 bit unsigned
</td><td align="left"> Reserved
</td></tr>
<tr>
<td align="left"> POSITION_1
</td><td align="left"> float32[3]
</td><td align="left"> (X, Y, Z)
</td></tr>
<tr>
<td align="left"> QUATERNION_1
</td><td align="left"> float32[4]
</td><td align="left"> Quaternion (QX, QY, QZ, W)
</td></tr>
<tr>
<td colspan="3" align="center" style="background:#f0f0f0;"> ...
</td></tr>
<tr>
<td align="left"> NAME_N
</td><td align="left"> char[32]
</td><td align="left"> Name (=Id) of the instrument/tracker
</td></tr>
<tr>
<td align="left"> TYPE_N
</td><td align="left"> 8 bit unsigned
</td><td align="left"> 1: tracker, 2: 6D instrument (regular instrument), 3: 3D instrument (only tip of the instrument defined), 4: 5D instrument (tip and handle are defined, but not the normal vector)
</td></tr>
<tr>
<td align="left"> --
</td><td align="left"> 8 bit unsigned
</td><td align="left"> Reserved
</td></tr>
<tr>
<td align="left"> POSITION_N
</td><td align="left"> float32[3]
</td><td align="left"> (X, Y, Z)
</td></tr>
<tr>
<td align="left"> QUATERNION_N
</td><td align="left"> float32[4]
</td><td align="left"> Quaternion (QX, QY, QZ, W)
</td></tr>
</tbody></table>
* Feb 2, 2011: The length of the coordinate system field was corrected. (It should be the same as TDATA.)
### GET_QTDATA
<table border="1" cellpadding="5" cellspacing="0" align="center">
<tbody><tr>
<td style="background:#e0e0e0;"> Data
</td><td style="background:#e0e0e0;"> Type
</td><td style="background:#e0e0e0;"> Description
</td></tr>
</tbody></table>
### STT_QTDATA
<table border="1" cellpadding="5" cellspacing="0" align="center">
<tbody><tr>
<td style="background:#e0e0e0;"> Data
</td><td style="background:#e0e0e0;"> Type
</td><td style="background:#e0e0e0;"> Description
</td></tr>
<tr>
<td align="left"> Resolution
</td><td align="left"> 32 bit unsigned
</td><td align="left"> Minimum time between two frames. Use 0 for as fast as possible. If e.g. 50 ms is specified, the maximum update rate will be 20 Hz.
</td></tr>
<tr>
<td align="left"> Coordinate system name
</td><td align="left"> char[32]
</td><td align="left"> Coordinate system to use. Can be empty for default coordinate system. (not included if action = 2)
</td></tr>
</tbody></table>
### STP_QTDATA
<table border="1" cellpadding="5" cellspacing="0" align="center">
<tbody><tr>
<td style="background:#e0e0e0;"> Data
</td><td style="background:#e0e0e0;"> Type
</td><td style="background:#e0e0e0;"> Description
</td></tr>
</tbody></table>
### RTS_QDATA
<table border="1" cellpadding="5" cellspacing="0" align="center">
<tbody><tr>
<td style="background:#e0e0e0;"> Data
</td><td style="background:#e0e0e0;"> Type
</td><td style="background:#e0e0e0;"> Description
</td></tr>
<tr>
<td align="left"> Status
</td><td align="left"> 8 bit unsigned
</td><td align="left"> 0: Success 1: Error
</td></tr>
</tbody></table>
## Implementations
* [igtlQuaternionTrackingDataMessage.h](https://github.com/openigtlink/OpenIGTLink/blob/master/Source/igtlQuaternionTrackingDataMessage.h)
* [igtlQuaternionTrackingDataMessage.cxx](https://github.com/openigtlink/OpenIGTLink/blob/master/Source/igtlQuaternionTrackingDataMessage.cxx)
## Contributors
* Alexander Schaal
|