def add_roi(self,*args): dialog = gtk.FileSelection('Choose filename for ROI mask') dialog.set_filename(shared.get_last_dir()) dialog.show() response = dialog.run() if response==gtk.RESPONSE_OK: fname = dialog.get_filename() dialog.destroy() try: #Actually add ROI self.nroi+=1 tree_iter = self.tree_roi.append(None) self.tree_roi.set(tree_iter,0,self.nroi,1,os.path.split(fname)[1],2,fname,3,True) self.__update_treeview_visibility() roi_image_reader = vtkNiftiImageReader() roi_image_reader.SetFileName(fname) roi_image_reader.Update() roi_id = self.tree_roi.get(tree_iter,0) self.paramd[roi_id] = RoiParams(roi_image_reader.GetOutput()) #self.paramd[roi_id].update_pipeline() #print self.paramd[roi_id].intensity shared.set_file_selection(fname) except IOError: error_msg( 'Could not load ROI mask from %s' % fname, ) finally: self.__update_treeview_visibility() else: dialog.destroy() self.render()
def load_nifti(self, filename): if filename==None: dialog = gtk.FileSelection('Choose nifti file') #dialog = gtk.FileChooserDialog('Choose nifti file') #dialog.set_transient_for(widgets['dlgReader']) dialog.set_filename(shared.get_last_dir()) response = dialog.run() filename = dialog.get_filename() dialog.destroy() if response == gtk.RESPONSE_OK: print "Loading:", filename else: return False shared.set_file_selection(filename) reader = vtkNiftiImageReader() reader.SetFileName(filename) reader.Update() if not reader: return False else: imageData = reader.GetOutput() EventHandler().notify('set image data', imageData) EventHandler().notify("set axes directions") EventHandler().set_nifti(reader) self.store_current_camera_fpus() EventHandler().notify("render now") return True