From 0eeb3ff433eae286c7841a86d11f7b34967bdc36 Mon Sep 17 00:00:00 2001 From: rmatsuda Date: Fri, 25 Sep 2020 07:44:25 -0300 Subject: [PATCH] test --- invesalius/data/coregistration.py | 7 ++++--- invesalius/gui/dialogs.py | 17 +++++++++++++++++ invesalius/gui/task_navigator.py | 10 +++++++++- 3 files changed, 30 insertions(+), 4 deletions(-) diff --git a/invesalius/data/coregistration.py b/invesalius/data/coregistration.py index 5a40ef4..afc1cf8 100644 --- a/invesalius/data/coregistration.py +++ b/invesalius/data/coregistration.py @@ -216,7 +216,7 @@ class CoordinateCorregistrate(threading.Thread): class CoordinateCorregistrateNoObject(threading.Thread): - def __init__(self, ref_mode_id, trck_info, coreg_data, coord_queue, view_tracts, coord_tracts_queue, event, sle): + def __init__(self, ref_mode_id, trck_info, coreg_data, coord_queue, view_tracts, coord_tracts_queue, event, sle, icp = None, m_icp = None): threading.Thread.__init__(self, name='CoordCoregNoObject') self.ref_mode_id = ref_mode_id self.trck_info = trck_info @@ -226,13 +226,14 @@ class CoordinateCorregistrateNoObject(threading.Thread): self.coord_tracts_queue = coord_tracts_queue self.event = event self.sle = sle - self.m_icp = None - self.icp = False + self.m_icp = m_icp + self.icp = icp def __bind_events(self): Publisher.subscribe(self.UpdateICP, 'Update ICP matrix') def UpdateICP(self, m_icp, flag): + print('oi') self.m_icp = m_icp self.icp = flag diff --git a/invesalius/gui/dialogs.py b/invesalius/gui/dialogs.py index ecfc4e6..69876c9 100644 --- a/invesalius/gui/dialogs.py +++ b/invesalius/gui/dialogs.py @@ -849,6 +849,23 @@ def ShowNavigationTrackerWarning(trck_id, lib_mode): dlg.ShowModal() dlg.Destroy() +def ICPcorregistration(fre): + msg = _("The fiducial registration error is: ") + str(round(fre, 2)) + '\n' + \ + _("Would you like to improve accuracy?") + if sys.platform == 'darwin': + dlg = wx.MessageDialog(None, "", msg, + wx.YES_NO) + else: + dlg = wx.MessageDialog(None, msg, "InVesalius 3", + wx.YES_NO) + + if dlg.ShowModal() == wx.ID_YES: + flag = True + else: + flag = False + + dlg.Destroy() + return flag def ShowEnterMarkerID(default): msg = _("Edit marker ID") diff --git a/invesalius/gui/task_navigator.py b/invesalius/gui/task_navigator.py index 8712a7c..fc13e79 100644 --- a/invesalius/gui/task_navigator.py +++ b/invesalius/gui/task_navigator.py @@ -665,7 +665,7 @@ class NeuronavigationPanel(wx.Panel): for n in [0, 1, 2]: self.numctrls_coord[btn_id][n].SetValue(float(coord[n])) - def OnICP(self, evt): + def OnICP(self): dialog = dlg.ICPCorregistrationDialog(nav_prop=(self.tracker_id, self.trk_init, self.ref_mode_id)) if dialog.ShowModal() == wx.ID_OK: self.m_icp, point_coord, transformed_points = dialog.GetValue() @@ -682,9 +682,14 @@ class NeuronavigationPanel(wx.Panel): if ctrl.GetValue() and evt and (self.m_icp is not None): self.icp = True self.icp_button.Enable(0) + dcr.CoordinateCorregistrateNoObject.icp = True + dcr.CoordinateCorregistrateNoObject.m_icp = self.m_icp else: self.icp_button.Enable(1) self.icp = False + dcr.CoordinateCorregistrateNoObject.icp = False + + print(self.icp, self.m_icp) Publisher.sendMessage("Update ICP matrix", m_icp=self.m_icp, flag=self.icp) def OnNavigate(self, evt, btn): @@ -838,6 +843,9 @@ class NeuronavigationPanel(wx.Panel): jobs.start() # del jobs + if dlg.ICPcorregistration(fre): + self.OnICP() + def ResetImageFiducials(self): for m in range(0, 3): self.btns_coord[m].SetValue(False) -- libgit2 0.21.2