Commit 4e997fd40e551e00b4cc2b857a83491959c9ad97

Authored by rmatsuda
1 parent 49a3bef8
Exists in master

testing icp FRE...

invesalius/data/bases.py
@@ -175,7 +175,7 @@ def calculate_fre_m(fiducials): @@ -175,7 +175,7 @@ def calculate_fre_m(fiducials):
175 175
176 return float(np.sqrt(np.sum(dist ** 2) / 3)) 176 return float(np.sqrt(np.sum(dist ** 2) / 3))
177 177
178 -def calculate_fre(fiducials_raw, fiducials, ref_mode_id, m_change): 178 +def calculate_fre(fiducials_raw, fiducials, ref_mode_id, m_change, m_icp=None):
179 179
180 dist = np.zeros([3, 1]) 180 dist = np.zeros([3, 1])
181 181
@@ -188,6 +188,9 @@ def calculate_fre(fiducials_raw, fiducials, ref_mode_id, m_change): @@ -188,6 +188,9 @@ def calculate_fre(fiducials_raw, fiducials, ref_mode_id, m_change):
188 p2_m, m_img = dcr.corregistrate_dynamic(coreg_data, p2, ref_mode_id, [None, None]) 188 p2_m, m_img = dcr.corregistrate_dynamic(coreg_data, p2, ref_mode_id, [None, None])
189 p3_m, m_img = dcr.corregistrate_dynamic(coreg_data, p3, ref_mode_id, [None, None]) 189 p3_m, m_img = dcr.corregistrate_dynamic(coreg_data, p3, ref_mode_id, [None, None])
190 190
  191 + if m_icp:
  192 + m_img = transform_icp(m_img, m_icp)
  193 +
191 print(p1_m) 194 print(p1_m)
192 print(fiducials[0, :]) 195 print(fiducials[0, :])
193 196
invesalius/gui/task_navigator.py
@@ -689,6 +689,8 @@ class NeuronavigationPanel(wx.Panel): @@ -689,6 +689,8 @@ class NeuronavigationPanel(wx.Panel):
689 else: 689 else:
690 self.m_icp = None 690 self.m_icp = None
691 691
  692 + return self.m_icp
  693 +
692 def Oncheckicp(self, evt, ctrl): 694 def Oncheckicp(self, evt, ctrl):
693 if ctrl.GetValue() and evt and (self.m_icp is not None): 695 if ctrl.GetValue() and evt and (self.m_icp is not None):
694 self.icp = True 696 self.icp = True
@@ -786,11 +788,8 @@ class NeuronavigationPanel(wx.Panel): @@ -786,11 +788,8 @@ class NeuronavigationPanel(wx.Panel):
786 tracker_mode = self.trk_init, self.tracker_id, self.ref_mode_id 788 tracker_mode = self.trk_init, self.tracker_id, self.ref_mode_id
787 789
788 # compute fiducial registration error (FRE) 790 # compute fiducial registration error (FRE)
789 - # this is the old way to compute the fre, left here to recheck if new works fine.  
790 - # fre = db.calculate_fre(self.fiducials, minv, n, q1, q2)  
791 - fre = db.calculate_fre_m(self.fiducials) 791 + fre = db.calculate_fre(self.fiducials_raw, self.fiducials, self.ref_mode_id, m_change)
792 self.UpdateFRE(fre) 792 self.UpdateFRE(fre)
793 - print(db.calculate_fre(self.fiducials_raw, self.fiducials, self.ref_mode_id, m_change))  
794 793
795 if self.track_obj: 794 if self.track_obj:
796 # if object tracking is selected 795 # if object tracking is selected
@@ -851,7 +850,9 @@ class NeuronavigationPanel(wx.Panel): @@ -851,7 +850,9 @@ class NeuronavigationPanel(wx.Panel):
851 # del jobs 850 # del jobs
852 851
853 if dlg.ICPcorregistration(fre): 852 if dlg.ICPcorregistration(fre):
854 - self.OnICP() 853 + m_icp = self.OnICP()
  854 + fre = db.calculate_fre(self.fiducials_raw, self.fiducials, self.ref_mode_id, m_change, m_icp)
  855 + self.UpdateFRE(fre)
855 856
856 def ResetImageFiducials(self): 857 def ResetImageFiducials(self):
857 for m in range(0, 3): 858 for m in range(0, 3):