Commit 5e6e840fdf20ce64c41a5fc2493724e7d0ee6abd
Committed by
Thiago Franco de Moraes
1 parent
8a54181b
Exists in
master
Fix dynamic ref (#112)
* Fix dynamic Ref for polhemus and claron * fix unicode * Fix dynamic Ref for usb polhemus connection
Showing
2 changed files
with
15 additions
and
14 deletions
Show diff stats
invesalius/data/coordinates.py
... | ... | @@ -60,16 +60,17 @@ def ClaronCoord(trck_init, trck_id, ref_mode): |
60 | 60 | while k < 20: |
61 | 61 | try: |
62 | 62 | trck.Run() |
63 | - probe = np.array([trck.PositionTooltipX1 * scale[0], trck.PositionTooltipY1 * scale[1], | |
64 | - trck.PositionTooltipZ1 * scale[2], trck.AngleX1, trck.AngleY1, trck.AngleZ1]) | |
65 | - reference = np.array([trck.PositionTooltipX2 * scale[0], trck.PositionTooltipY2 * scale[1], | |
66 | - trck.PositionTooltipZ2 * scale[2], trck.AngleX2, trck.AngleY2, trck.AngleZ2]) | |
63 | + probe = np.array([trck.PositionTooltipX1, trck.PositionTooltipY1, | |
64 | + trck.PositionTooltipZ1, trck.AngleX1, trck.AngleY1, trck.AngleZ1]) | |
65 | + reference = np.array([trck.PositionTooltipX2, trck.PositionTooltipY2, | |
66 | + trck.PositionTooltipZ2, trck.AngleZ2, trck.AngleY2, trck.AngleX2]) | |
67 | 67 | k = 30 |
68 | 68 | except AttributeError: |
69 | 69 | k += 1 |
70 | 70 | print "wait, collecting coordinates ..." |
71 | 71 | if k == 30: |
72 | 72 | coord = dynamic_reference(probe, reference) |
73 | + coord = (coord[0] * scale[0], coord[1] * scale[1], coord[2] * scale[2], coord[3], coord[4], coord[5]) | |
73 | 74 | else: |
74 | 75 | while k < 20: |
75 | 76 | try: |
... | ... | @@ -108,15 +109,16 @@ def PolhemusWrapperCoord(trck, trck_id, ref_mode): |
108 | 109 | |
109 | 110 | if ref_mode: |
110 | 111 | trck.Run() |
111 | - probe = np.array([float(trck.PositionTooltipX1) * scale[0], float(trck.PositionTooltipY1) * scale[1], | |
112 | - float(trck.PositionTooltipZ1) * scale[2], float(trck.AngleX1), float(trck.AngleY1), | |
112 | + probe = np.array([float(trck.PositionTooltipX1), float(trck.PositionTooltipY1), | |
113 | + float(trck.PositionTooltipZ1), float(trck.AngleX1), float(trck.AngleY1), | |
113 | 114 | float(trck.AngleZ1)]) |
114 | - reference = np.array([float(trck.PositionTooltipX2) * scale[0], float(trck.PositionTooltipY2) * scale[1], | |
115 | - float(trck.PositionTooltipZ2) * scale[2], float(trck.AngleX2), float(trck.AngleY2), | |
115 | + reference = np.array([float(trck.PositionTooltipX2), float(trck.PositionTooltipY2), | |
116 | + float(trck.PositionTooltipZ2), float(trck.AngleX2), float(trck.AngleY2), | |
116 | 117 | float(trck.AngleZ2)]) |
117 | 118 | |
118 | 119 | if probe.all() and reference.all(): |
119 | 120 | coord = dynamic_reference(probe, reference) |
121 | + coord = (coord[0] * scale[0], coord[1] * scale[1], coord[2] * scale[2], coord[3], coord[4], coord[5]) | |
120 | 122 | |
121 | 123 | else: |
122 | 124 | trck.Run() |
... | ... | @@ -148,13 +150,12 @@ def PolhemusUSBCoord(trck, trck_id, ref_mode): |
148 | 150 | |
149 | 151 | # six coordinates of first and second sensor: x, y, z and alfa, beta and gama |
150 | 152 | # jump one element for reference to avoid the sensor ID returned by Polhemus |
151 | - probe = data[0] * scale[0], data[1] * scale[1], data[2] * scale[2], \ | |
152 | - data[3], data[4], data[5], data[6] | |
153 | - reference = data[7] * scale[0], data[8] * scale[1], data[9] * scale[2], data[10], \ | |
154 | - data[11], data[12], data[13] | |
153 | + probe = data[0], data[1], data[2], data[3], data[4], data[5], data[6] | |
154 | + reference = data[7], data[8], data[9], data[10], data[11], data[12], data[13] | |
155 | 155 | |
156 | 156 | if probe.all() and reference.all(): |
157 | 157 | coord = dynamic_reference(probe, reference) |
158 | + coord = (coord[0] * scale[0], coord[1] * scale[1], coord[2] * scale[2], coord[3], coord[4], coord[5]) | |
158 | 159 | |
159 | 160 | return coord |
160 | 161 | ... | ... |
invesalius/data/trackers.py
... | ... | @@ -67,8 +67,8 @@ def ClaronTracker(tracker_id): |
67 | 67 | |
68 | 68 | lib_mode = 'wrapper' |
69 | 69 | trck_init = pyclaron.pyclaron() |
70 | - trck_init.CalibrationDir = const.CAL_DIR | |
71 | - trck_init.MarkerDir = const.MAR_DIR | |
70 | + trck_init.CalibrationDir = const.CAL_DIR.encode(const.FS_ENCODE) | |
71 | + trck_init.MarkerDir = const.MAR_DIR.encode(const.FS_ENCODE) | |
72 | 72 | trck_init.NumberFramesProcessed = 10 |
73 | 73 | trck_init.FramesExtrapolated = 0 |
74 | 74 | trck_init.PROBE_NAME = "1Probe" | ... | ... |