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 | ... | ... |