From 5e6e840fdf20ce64c41a5fc2493724e7d0ee6abd Mon Sep 17 00:00:00 2001 From: Renan Date: Wed, 16 Aug 2017 15:54:30 -0300 Subject: [PATCH] Fix dynamic ref (#112) --- invesalius/data/coordinates.py | 25 +++++++++++++------------ invesalius/data/trackers.py | 4 ++-- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/invesalius/data/coordinates.py b/invesalius/data/coordinates.py index 5d7f32e..b6ca22c 100644 --- a/invesalius/data/coordinates.py +++ b/invesalius/data/coordinates.py @@ -60,16 +60,17 @@ def ClaronCoord(trck_init, trck_id, ref_mode): while k < 20: try: trck.Run() - probe = np.array([trck.PositionTooltipX1 * scale[0], trck.PositionTooltipY1 * scale[1], - trck.PositionTooltipZ1 * scale[2], trck.AngleX1, trck.AngleY1, trck.AngleZ1]) - reference = np.array([trck.PositionTooltipX2 * scale[0], trck.PositionTooltipY2 * scale[1], - trck.PositionTooltipZ2 * scale[2], trck.AngleX2, trck.AngleY2, trck.AngleZ2]) + probe = np.array([trck.PositionTooltipX1, trck.PositionTooltipY1, + trck.PositionTooltipZ1, trck.AngleX1, trck.AngleY1, trck.AngleZ1]) + reference = np.array([trck.PositionTooltipX2, trck.PositionTooltipY2, + trck.PositionTooltipZ2, trck.AngleZ2, trck.AngleY2, trck.AngleX2]) k = 30 except AttributeError: k += 1 print "wait, collecting coordinates ..." if k == 30: coord = dynamic_reference(probe, reference) + coord = (coord[0] * scale[0], coord[1] * scale[1], coord[2] * scale[2], coord[3], coord[4], coord[5]) else: while k < 20: try: @@ -108,15 +109,16 @@ def PolhemusWrapperCoord(trck, trck_id, ref_mode): if ref_mode: trck.Run() - probe = np.array([float(trck.PositionTooltipX1) * scale[0], float(trck.PositionTooltipY1) * scale[1], - float(trck.PositionTooltipZ1) * scale[2], float(trck.AngleX1), float(trck.AngleY1), + probe = np.array([float(trck.PositionTooltipX1), float(trck.PositionTooltipY1), + float(trck.PositionTooltipZ1), float(trck.AngleX1), float(trck.AngleY1), float(trck.AngleZ1)]) - reference = np.array([float(trck.PositionTooltipX2) * scale[0], float(trck.PositionTooltipY2) * scale[1], - float(trck.PositionTooltipZ2) * scale[2], float(trck.AngleX2), float(trck.AngleY2), + reference = np.array([float(trck.PositionTooltipX2), float(trck.PositionTooltipY2), + float(trck.PositionTooltipZ2), float(trck.AngleX2), float(trck.AngleY2), float(trck.AngleZ2)]) if probe.all() and reference.all(): coord = dynamic_reference(probe, reference) + coord = (coord[0] * scale[0], coord[1] * scale[1], coord[2] * scale[2], coord[3], coord[4], coord[5]) else: trck.Run() @@ -148,13 +150,12 @@ def PolhemusUSBCoord(trck, trck_id, ref_mode): # six coordinates of first and second sensor: x, y, z and alfa, beta and gama # jump one element for reference to avoid the sensor ID returned by Polhemus - probe = data[0] * scale[0], data[1] * scale[1], data[2] * scale[2], \ - data[3], data[4], data[5], data[6] - reference = data[7] * scale[0], data[8] * scale[1], data[9] * scale[2], data[10], \ - data[11], data[12], data[13] + probe = data[0], data[1], data[2], data[3], data[4], data[5], data[6] + reference = data[7], data[8], data[9], data[10], data[11], data[12], data[13] if probe.all() and reference.all(): coord = dynamic_reference(probe, reference) + coord = (coord[0] * scale[0], coord[1] * scale[1], coord[2] * scale[2], coord[3], coord[4], coord[5]) return coord diff --git a/invesalius/data/trackers.py b/invesalius/data/trackers.py index f866fe2..3f0b709 100644 --- a/invesalius/data/trackers.py +++ b/invesalius/data/trackers.py @@ -67,8 +67,8 @@ def ClaronTracker(tracker_id): lib_mode = 'wrapper' trck_init = pyclaron.pyclaron() - trck_init.CalibrationDir = const.CAL_DIR - trck_init.MarkerDir = const.MAR_DIR + trck_init.CalibrationDir = const.CAL_DIR.encode(const.FS_ENCODE) + trck_init.MarkerDir = const.MAR_DIR.encode(const.FS_ENCODE) trck_init.NumberFramesProcessed = 10 trck_init.FramesExtrapolated = 0 trck_init.PROBE_NAME = "1Probe" -- libgit2 0.21.2