From c3fdcee7d95c4f4a1bf3267c085bd19005f7ba47 Mon Sep 17 00:00:00 2001 From: rmatsuda Date: Thu, 24 Sep 2020 15:32:51 -0300 Subject: [PATCH] Fixed for new thread management --- invesalius/data/coregistration.py | 8 ++++---- invesalius/gui/dialogs.py | 6 +++--- invesalius/gui/task_navigator.py | 8 ++++---- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/invesalius/data/coregistration.py b/invesalius/data/coregistration.py index 0f1984e..5a40ef4 100644 --- a/invesalius/data/coregistration.py +++ b/invesalius/data/coregistration.py @@ -140,7 +140,7 @@ def compute_marker_transformation(coord_raw, obj_ref_mode): return m_probe -def corregistrate_dynamic(inp, coord_raw, ref_mode_id): +def corregistrate_dynamic(inp, coord_raw, ref_mode_id, icp): m_change, obj_ref_mode = inp @@ -157,8 +157,8 @@ def corregistrate_dynamic(inp, coord_raw, ref_mode_id): m_probe_ref[2, -1] = -m_probe_ref[2, -1] # corregistrate from tracker to image space m_img = m_change @ m_probe_ref - if self.icp: - m_img = bases.transform_icp(m_img, self.m_icp) + if icp[0]: + m_img = bases.transform_icp(m_img, icp[1]) # compute rotation angles _, _, angles, _, _ = tr.decompose_matrix(m_img) # create output coordiante list @@ -247,7 +247,7 @@ class CoordinateCorregistrateNoObject(threading.Thread): try: # print(f"Set the coordinate") coord_raw = dco.GetCoordinates(trck_init, trck_id, trck_mode) - coord, m_img = corregistrate_dynamic(coreg_data, coord_raw, self.ref_mode_id) + coord, m_img = corregistrate_dynamic(coreg_data, coord_raw, self.ref_mode_id, [self.icp, self.m_icp]) # print("Coord: ", coord) m_img_flip = m_img.copy() m_img_flip[1, -1] = -m_img_flip[1, -1] diff --git a/invesalius/gui/dialogs.py b/invesalius/gui/dialogs.py index efc6b2f..ecfc4e6 100644 --- a/invesalius/gui/dialogs.py +++ b/invesalius/gui/dialogs.py @@ -3486,7 +3486,7 @@ class ICPCorregistrationDialog(wx.Dialog): self._init_gui() def __bind_events(self): - Publisher.subscribe(self.UpdateCurrentCoord, 'Co-registered points') + Publisher.subscribe(self.UpdateCurrentCoord, 'Update cross position') def UpdateCurrentCoord(self, arg, position): self.current_coord = position[:] @@ -3612,7 +3612,7 @@ class ICPCorregistrationDialog(wx.Dialog): Markers created by navigation tools and rendered in volume viewer. """ - x, y, z = bases.flip_x(coord) + x, y, z = bases.flip_x_m(coord)[:3, 0] ball_ref = vtk.vtkSphereSource() ball_ref.SetRadius(size) @@ -3724,7 +3724,7 @@ class ICPCorregistrationDialog(wx.Dialog): self.Refresh() def SetCameraVolume(self, position): - cam_focus = np.array(bases.flip_x(position[:3])) + cam_focus = np.array(bases.flip_x_m(position[:3])[:3, 0]) cam = self.ren.GetActiveCamera() if self.initial_focus is None: diff --git a/invesalius/gui/task_navigator.py b/invesalius/gui/task_navigator.py index 4fd3328..8712a7c 100644 --- a/invesalius/gui/task_navigator.py +++ b/invesalius/gui/task_navigator.py @@ -471,14 +471,14 @@ class NeuronavigationPanel(wx.Panel): for m in [0, 1, 2]: self.numctrls_coord[btn_id][m].SetValue(coord[m]) - def UpdateNavigationStatus(self, status): - self.nav_status = status - if status: + def UpdateNavigationStatus(self, nav_status, vis_status): + self.nav_status = nav_status + if nav_status: self.checkicp.Enable(True) else: self.checkicp.Enable(False) - def UpdateImageCoordinates(self, position): + #def UpdateImageCoordinates(self, position): def UpdateFRE(self, fre): # TODO: Exhibit FRE in a warning dialog and only starts navigation after user clicks ok self.txtctrl_fre.SetValue(str(round(fre, 2))) -- libgit2 0.21.2