From 4e997fd40e551e00b4cc2b857a83491959c9ad97 Mon Sep 17 00:00:00 2001 From: rmatsuda Date: Thu, 12 Nov 2020 13:58:18 -0300 Subject: [PATCH] testing icp FRE... --- invesalius/data/bases.py | 5 ++++- invesalius/gui/task_navigator.py | 11 ++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/invesalius/data/bases.py b/invesalius/data/bases.py index 2e0c720..0d038fc 100644 --- a/invesalius/data/bases.py +++ b/invesalius/data/bases.py @@ -175,7 +175,7 @@ def calculate_fre_m(fiducials): return float(np.sqrt(np.sum(dist ** 2) / 3)) -def calculate_fre(fiducials_raw, fiducials, ref_mode_id, m_change): +def calculate_fre(fiducials_raw, fiducials, ref_mode_id, m_change, m_icp=None): dist = np.zeros([3, 1]) @@ -188,6 +188,9 @@ def calculate_fre(fiducials_raw, fiducials, ref_mode_id, m_change): p2_m, m_img = dcr.corregistrate_dynamic(coreg_data, p2, ref_mode_id, [None, None]) p3_m, m_img = dcr.corregistrate_dynamic(coreg_data, p3, ref_mode_id, [None, None]) + if m_icp: + m_img = transform_icp(m_img, m_icp) + print(p1_m) print(fiducials[0, :]) diff --git a/invesalius/gui/task_navigator.py b/invesalius/gui/task_navigator.py index d8b118e..7f01815 100644 --- a/invesalius/gui/task_navigator.py +++ b/invesalius/gui/task_navigator.py @@ -689,6 +689,8 @@ class NeuronavigationPanel(wx.Panel): else: self.m_icp = None + return self.m_icp + def Oncheckicp(self, evt, ctrl): if ctrl.GetValue() and evt and (self.m_icp is not None): self.icp = True @@ -786,11 +788,8 @@ class NeuronavigationPanel(wx.Panel): tracker_mode = self.trk_init, self.tracker_id, self.ref_mode_id # compute fiducial registration error (FRE) - # this is the old way to compute the fre, left here to recheck if new works fine. - # fre = db.calculate_fre(self.fiducials, minv, n, q1, q2) - fre = db.calculate_fre_m(self.fiducials) + fre = db.calculate_fre(self.fiducials_raw, self.fiducials, self.ref_mode_id, m_change) self.UpdateFRE(fre) - print(db.calculate_fre(self.fiducials_raw, self.fiducials, self.ref_mode_id, m_change)) if self.track_obj: # if object tracking is selected @@ -851,7 +850,9 @@ class NeuronavigationPanel(wx.Panel): # del jobs if dlg.ICPcorregistration(fre): - self.OnICP() + m_icp = self.OnICP() + fre = db.calculate_fre(self.fiducials_raw, self.fiducials, self.ref_mode_id, m_change, m_icp) + self.UpdateFRE(fre) def ResetImageFiducials(self): for m in range(0, 3): -- libgit2 0.21.2