Commit c3fdcee7d95c4f4a1bf3267c085bd19005f7ba47
1 parent
ac7360f9
Exists in
master
Fixed for new thread management
Showing
3 changed files
with
11 additions
and
11 deletions
Show diff stats
invesalius/data/coregistration.py
... | ... | @@ -140,7 +140,7 @@ def compute_marker_transformation(coord_raw, obj_ref_mode): |
140 | 140 | return m_probe |
141 | 141 | |
142 | 142 | |
143 | -def corregistrate_dynamic(inp, coord_raw, ref_mode_id): | |
143 | +def corregistrate_dynamic(inp, coord_raw, ref_mode_id, icp): | |
144 | 144 | |
145 | 145 | m_change, obj_ref_mode = inp |
146 | 146 | |
... | ... | @@ -157,8 +157,8 @@ def corregistrate_dynamic(inp, coord_raw, ref_mode_id): |
157 | 157 | m_probe_ref[2, -1] = -m_probe_ref[2, -1] |
158 | 158 | # corregistrate from tracker to image space |
159 | 159 | m_img = m_change @ m_probe_ref |
160 | - if self.icp: | |
161 | - m_img = bases.transform_icp(m_img, self.m_icp) | |
160 | + if icp[0]: | |
161 | + m_img = bases.transform_icp(m_img, icp[1]) | |
162 | 162 | # compute rotation angles |
163 | 163 | _, _, angles, _, _ = tr.decompose_matrix(m_img) |
164 | 164 | # create output coordiante list |
... | ... | @@ -247,7 +247,7 @@ class CoordinateCorregistrateNoObject(threading.Thread): |
247 | 247 | try: |
248 | 248 | # print(f"Set the coordinate") |
249 | 249 | coord_raw = dco.GetCoordinates(trck_init, trck_id, trck_mode) |
250 | - coord, m_img = corregistrate_dynamic(coreg_data, coord_raw, self.ref_mode_id) | |
250 | + coord, m_img = corregistrate_dynamic(coreg_data, coord_raw, self.ref_mode_id, [self.icp, self.m_icp]) | |
251 | 251 | # print("Coord: ", coord) |
252 | 252 | m_img_flip = m_img.copy() |
253 | 253 | m_img_flip[1, -1] = -m_img_flip[1, -1] | ... | ... |
invesalius/gui/dialogs.py
... | ... | @@ -3486,7 +3486,7 @@ class ICPCorregistrationDialog(wx.Dialog): |
3486 | 3486 | self._init_gui() |
3487 | 3487 | |
3488 | 3488 | def __bind_events(self): |
3489 | - Publisher.subscribe(self.UpdateCurrentCoord, 'Co-registered points') | |
3489 | + Publisher.subscribe(self.UpdateCurrentCoord, 'Update cross position') | |
3490 | 3490 | |
3491 | 3491 | def UpdateCurrentCoord(self, arg, position): |
3492 | 3492 | self.current_coord = position[:] |
... | ... | @@ -3612,7 +3612,7 @@ class ICPCorregistrationDialog(wx.Dialog): |
3612 | 3612 | Markers created by navigation tools and rendered in volume viewer. |
3613 | 3613 | """ |
3614 | 3614 | |
3615 | - x, y, z = bases.flip_x(coord) | |
3615 | + x, y, z = bases.flip_x_m(coord)[:3, 0] | |
3616 | 3616 | |
3617 | 3617 | ball_ref = vtk.vtkSphereSource() |
3618 | 3618 | ball_ref.SetRadius(size) |
... | ... | @@ -3724,7 +3724,7 @@ class ICPCorregistrationDialog(wx.Dialog): |
3724 | 3724 | self.Refresh() |
3725 | 3725 | |
3726 | 3726 | def SetCameraVolume(self, position): |
3727 | - cam_focus = np.array(bases.flip_x(position[:3])) | |
3727 | + cam_focus = np.array(bases.flip_x_m(position[:3])[:3, 0]) | |
3728 | 3728 | cam = self.ren.GetActiveCamera() |
3729 | 3729 | |
3730 | 3730 | if self.initial_focus is None: | ... | ... |
invesalius/gui/task_navigator.py
... | ... | @@ -471,14 +471,14 @@ class NeuronavigationPanel(wx.Panel): |
471 | 471 | for m in [0, 1, 2]: |
472 | 472 | self.numctrls_coord[btn_id][m].SetValue(coord[m]) |
473 | 473 | |
474 | - def UpdateNavigationStatus(self, status): | |
475 | - self.nav_status = status | |
476 | - if status: | |
474 | + def UpdateNavigationStatus(self, nav_status, vis_status): | |
475 | + self.nav_status = nav_status | |
476 | + if nav_status: | |
477 | 477 | self.checkicp.Enable(True) |
478 | 478 | else: |
479 | 479 | self.checkicp.Enable(False) |
480 | 480 | |
481 | - def UpdateImageCoordinates(self, position): | |
481 | + #def UpdateImageCoordinates(self, position): | |
482 | 482 | def UpdateFRE(self, fre): |
483 | 483 | # TODO: Exhibit FRE in a warning dialog and only starts navigation after user clicks ok |
484 | 484 | self.txtctrl_fre.SetValue(str(round(fre, 2))) | ... | ... |