def toggle_box(self): """toggle_box() If box model shown, then delete it. If not shown, and if no focus region in segment dialog, then quit. If not shown, and if focus region found, then get its transform and apply to box after creating box. """ bm = self.box_model if bm.box_shown(): bm.delete_box() else: # @ which data region is this??? should we do nothing??? data_region = self.data_region() if data_region == None: return #VU 1.2129 # xform = data_region.transform() import SegmentMenu from SegmentMenu import datamenuseg xform = datamenuseg.get_data_region_xform(data_region) if xform == None: return #VU 1.2129 # box = data_region.xyz_region() import SegmentMenu from SegmentMenu import datamenuseg box = datamenuseg.get_data_region_bounds(data_region) bm.reshape_box(box, xform)
def marker_boxes_show_cb(self): """marker_boxes_show_cb() Show boxes around selected markers, with box center at marker center and box size equal to marker diameter, with a transform matching data size. """ self.marker_boxes_hide_cb() ms = self.marker_set if ms == None: return mssm = ms.selected_markers() # check if any markers selected if len(mssm) == 0: msg = 'No selected markers!\n' self.status(msg, color='red', blankAfter=15) replyobj.warning(msg) return # check input data exists if self.data_item == None: msg = 'Input data not found!\n' self.status(msg, color='red', blankAfter=15) replyobj.warning(msg) return #VU 1.2129 # xform = self.data_item.region.transform() import SegmentMenu from SegmentMenu import datamenuseg data_region = self.data_item.region #VU 1.2179 # xform = datamenuseg.get_data_region_xform(data_region) xform, tf = datamenuseg.get_data_region_xform(data_region) xyz_to_ijk = self.data_item.data.xyz_to_ijk #VU 1.2179 #for im in mssm: # self.marker_boxes.append(self.marker_box_create(im,xform)) for im in mssm: self.marker_boxes.append( self.marker_box_create(im,tf,xform, xyz_to_ijk)) return
def sweep_out_box(self, pointer_x, pointer_y): """sweep_out_box(pointer_x, pointer_y) Create box if data region found and it has been transformed. """ data_region = self.data_region() if data_region == None: return #VU 1.2129 # xform = data_region.transform() import SegmentMenu from SegmentMenu import datamenuseg xform = datamenuseg.get_data_region_xform(data_region) if xform == None: return #VU 1.2129 # bounds = data_region.xyz_region() import SegmentMenu from SegmentMenu import datamenuseg bounds = datamenuseg.get_data_region_bounds(data_region) from VolumeViewer import slice xyz_in, xyz_out = slice.box_intercepts(pointer_x, pointer_y, xform, bounds) if xyz_in == None or xyz_out == None: return if self.xyz_in == None: self.xyz_in = xyz_in if self.xyz_out == None: self.xyz_out = xyz_out box = bounding_box((xyz_in, xyz_out, self.xyz_in, self.xyz_out)) self.box_model.reshape_box(box, xform)