Commit d2b69c976a0b9d0eb55549420cc670c9d14366c5
Committed by
Thiago Franco de Moraes
1 parent
5ad7deb8
Exists in
master
Support fastrak (#104)
* Supported polhemus fastrak * Fixed scale for fastrak
Showing
2 changed files
with
31 additions
and
5 deletions
Show diff stats
invesalius/data/coordinates.py
... | ... | @@ -102,10 +102,8 @@ def PolhemusCoord(trck, trck_id, ref_mode): |
102 | 102 | |
103 | 103 | |
104 | 104 | def PolhemusWrapperCoord(trck, trck_id, ref_mode): |
105 | - if trck_id == 2: | |
106 | - scale = 10. * np.array([1., 1.0, -1.0]) | |
107 | - else: | |
108 | - scale = 25.4 * np.array([1., 1.0, -1.0]) | |
105 | + | |
106 | + scale = 25.4 * np.array([1., 1.0, -1.0]) | |
109 | 107 | coord = None |
110 | 108 | |
111 | 109 | if ref_mode: | ... | ... |
invesalius/data/trackers.py
... | ... | @@ -32,7 +32,7 @@ def TrackerConnection(tracker_id, action): |
32 | 32 | |
33 | 33 | if action == 'connect': |
34 | 34 | trck_fcn = {1: ClaronTracker, |
35 | - 2: PolhemusTracker, # FASTRAK | |
35 | + 2: PolhemusTrackerFT, # FASTRAK | |
36 | 36 | 3: PolhemusTracker, # ISOTRAK |
37 | 37 | 4: PolhemusTracker, # PATRIOT |
38 | 38 | 5: DebugTracker} |
... | ... | @@ -87,6 +87,24 @@ def ClaronTracker(tracker_id): |
87 | 87 | |
88 | 88 | return trck_init, lib_mode |
89 | 89 | |
90 | +def PolhemusTrackerFT(tracker_id): | |
91 | + trck_init = None | |
92 | + lib_mode = 'wrapper' | |
93 | + try: | |
94 | + import polhemusFT | |
95 | + | |
96 | + trck_init = polhemusFT.polhemusFT() | |
97 | + trck_check = trck_init.Initialize() | |
98 | + | |
99 | + if trck_check: | |
100 | + # First run is necessary to discard the first coord collection | |
101 | + trck_init.Run() | |
102 | + else: | |
103 | + trck_init = trck_check | |
104 | + except: | |
105 | + print 'Could not connect to Polhemus via wrapper.' | |
106 | + | |
107 | + return trck_init, lib_mode | |
90 | 108 | |
91 | 109 | def PolhemusTracker(tracker_id): |
92 | 110 | trck_init = None |
... | ... | @@ -213,6 +231,16 @@ def DisconnectTracker(tracker_id): |
213 | 231 | lib_mode = 'error' |
214 | 232 | print 'The ClaronTracker library is not installed.' |
215 | 233 | |
234 | + elif tracker_id == 2: | |
235 | + try: | |
236 | + import polhemusFT | |
237 | + polhemusFT.polhemusFT().Close() | |
238 | + lib_mode = 'wrapper' | |
239 | + print 'Polhemus tracker disconnected.' | |
240 | + except ImportError: | |
241 | + lib_mode = 'error' | |
242 | + print 'The polhemus library is not installed.' | |
243 | + | |
216 | 244 | elif tracker_id == 4: |
217 | 245 | try: |
218 | 246 | import polhemus | ... | ... |