File: position.md

package info (click to toggle)
openigtlink 3.0.0-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 3,080 kB
  • sloc: cpp: 20,076; ansic: 6,704; sh: 227; perl: 74; makefile: 46
file content (112 lines) | stat: -rwxr-xr-x 3,049 bytes parent folder | download
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
---
layout: page
title: Specification > Position
header: Pages
---
{% include JB/setup %}

## Summary

The POSITION data type is used to transfer position and orientation information. The data are a combination of 3-dimensional vector for the position and quaternion for the orientation. Although equivalent position and orientation can be described with the TRANSFORM data type, the POSITION data type has the advantage of smaller data size (19%). It is therefore more suitable for pushing high frame-rate data from tracking devices.

## Message Types

### POSITION

<table border="1" cellpadding="5" cellspacing="0" align="center">
<tr>
<td style="background:#e0e0e0;"> Data
</td><td style="background:#e0e0e0;"> Type
</td><td style="background:#e0e0e0;"> Description
</td></tr>
<tr>
<td align="left"> X
</td><td align="left"> 32-bit float
</td><td align="left"> X position in millimeter
</td></tr>
<tr>
<td align="left"> Y
</td><td align="left"> 32-bit float
</td><td align="left"> Y position in millimeter
</td></tr>
<tr>
<td align="left"> Z
</td><td align="left"> 32-bit float
</td><td align="left"> Z position in millimeter
</td></tr>
<tr>
<td align="left"> OX
</td><td align="left"> 32-bit float
</td><td align="left"> X element in quaternion
</td></tr>
<tr>
<td align="left"> OY
</td><td align="left"> 32-bit float
</td><td align="left"> Y element in quaternion
</td></tr>
<tr>
<td align="left"> OZ
</td><td align="left"> 32-bit float
</td><td align="left"> Z element in quaternion
</td></tr>
<tr>
<td align="left"> W
</td><td align="left"> 32-bit float
</td><td align="left"> W element in quaternion
</td></tr>
</table>

### GET_POSITION

<table border="1" cellpadding="5" cellspacing="0" align="center">
<tr>
<td style="background:#e0e0e0;"> Data
</td><td style="background:#e0e0e0;"> Type
</td><td style="background:#e0e0e0;"> Description
</td></tr>
</table>

### STT_POSITION

<table border="1" cellpadding="5" cellspacing="0" align="center">
<tr>
<td style="background:#e0e0e0;"> Data
</td><td style="background:#e0e0e0;"> Type
</td><td style="background:#e0e0e0;"> Description
</td></tr>
</table>

### STP_POSITION

<table border="1" cellpadding="5" cellspacing="0" align="center">
<tr>
<td style="background:#e0e0e0;"> Data
</td><td style="background:#e0e0e0;"> Type
</td><td style="background:#e0e0e0;"> Description
</td></tr>
</table>

### RTS_POSITION

<table border="1" cellpadding="5" cellspacing="0" align="center">
<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>
</table>

## Implementations

POSITION type is implemented in the following files:
* [igtlPositionMessage.h](https://github.com/openigtlink/OpenIGTLink/blob/master/Source/igtlPositionMessage.h)
* [igtlPositionMessage.cxx](https://github.com/openigtlink/OpenIGTLink/blob/master/Source/igtlPositionMessage.cxx)

## Contributors

* Junichi Tokuda