def loadModelFn(self,par_obj, fileName): """Shows details of the model when loaded""" par_obj.selectedModel = par_obj.forPath+fileName par_obj.evaluated = False self.image_status_text.showMessage('Status: Loading previously trained model. ') app.processEvents() ver = par_obj.selectedModel.split('/')[-1][0:5] if(ver =='pv20_'): save_file = pickle.load(open(par_obj.selectedModel+str('.mdla'), "rb")) par_obj.modelName = save_file["name"] par_obj.modelDescription = save_file["description"] par_obj.RF = save_file["model"] local_time = save_file["date"] par_obj.M = save_file["M"] par_obj.c = save_file["c"] par_obj.feature_type = save_file["feature_type"] par_obj.feature_scale = save_file["feature_scale"] par_obj.sigma_data = save_file["sigma_data"] par_obj.ch_active = save_file["ch_active"] par_obj.limit_ratio_size = save_file["limit_ratio_size"] par_obj.max_depth = save_file["max_depth"] par_obj.min_samples_split = save_file["min_samples"] par_obj.min_samples_leaf = save_file["min_samples_leaf"] par_obj.max_features = save_file["max_features"] par_obj.num_of_tree = save_file["num_of_tree"] par_obj.file_ext = save_file["file_ext"] par_obj.gt_vec = save_file["gt_vec"] par_obj.error_vec = save_file["error_vec"] save_im = 255-save_file["imFile"] self.image_status_text.showMessage('Status: Model loaded. ') success = True if(ver =='pv1.3'): #Load in parameters from file. par_obj.file_ext,par_obj.RF,par_obj.sigma_data,par_obj.feature_scale,par_obj.feature_type,par_obj.ch_active,par_obj.modelName,par_obj.modelDescription = pickle.load(open(par_obj.selectedModel+str('.pkl'), "rb")) #save_im =cv2.imread(par_obj.selectedModel+"im.png") self.image_status_text.showMessage('Status: Model loaded. ') #Display details about model. success, statusText = v2.import_data_fn(par_obj,par_obj.file_array) if success == True: self.modelImTxt1.setText('Name: '+str(par_obj.modelName)) self.modelImTxt2.setText('Description: '+str(par_obj.modelDescription )) self.modelImTxt3.setText('Sigma Data: '+str(par_obj.sigma_data)) self.modelImTxt4.setText('Feature Scale: '+str(par_obj.feature_scale)) self.modelImTxt5.setText('Feature Type: '+str(par_obj.feature_type)) self.modelImTxt6.setText('Channels: '+str(par_obj.ch_active)) self.plt1.imshow(save_im) self.canvas1.draw() self.gotoEvalButton.setEnabled(True) evalImWin.eval_im_btn.setEnabled(True) par_obj.eval_load_im_win_eval = False
def showDialog(self): par_obj.file_array =[] par_obj.feat_arr ={} par_obj.RF ={} self.parent.selIntButton.setEnabled(False) #filepath = QtGui.QFileDialog.getOpenFileName(self, 'Open file', '/home') for path in QtGui.QFileDialog.getOpenFileNames(self, 'Open file',self.parent.filepath,'Images(*.tif *.tiff *.png);;'): par_obj.file_array.append(path) self.parent.config['filepath'] = str(QtCore.QFileInfo(path).absolutePath())+'/' pickle.dump(self.parent.config, open(str(os.path.expanduser('~')+'/.densitycount/config.p'), "w" )) self.parent.image_status_text.showMessage('Status: Loading Images. ') success, updateText = v2.import_data_fn(par_obj, par_obj.file_array) #loadWin.CH_cbx1.stateChange() self.parent.image_status_text.showMessage(updateText) if success == True: self.parent.updateAfterImport()
def showDialog(self): par_obj.file_array =[] self.int_obj.selIntButton.setEnabled(False) #filepath = QtGui.QFileDialog.getOpenFileName(self, 'Open file', '/home') for path in QtGui.QFileDialog.getOpenFileNames(self, 'Open file', self.par_obj.filepath,'Images(*.tif *.tiff *.png);;'): par_obj.file_array.append(path) self.par_obj.config['evalpath'] = str(QtCore.QFileInfo(path).absolutePath())+'/' pickle.dump(self.par_obj.config, open(str(os.path.expanduser('~')+'/.densitycount/config.p'), "w" )) self.par_obj.csvPath = self.par_obj.config['evalpath'] v2.import_data_fn(par_obj,par_obj.file_array) par_obj.left_2_calc=[] par_obj.frames_2_load={} if par_obj.file_ext == 'png': for i in range(0,par_obj.file_array.__len__()): par_obj.left_2_calc.append(i) par_obj.frames_2_load[i] = [0] self.int_obj.image_status_text.showMessage('Status: Loading Images. Loading Image Num: '+str(par_obj.file_array.__len__())) elif par_obj.file_ext =='tiff' or par_obj.file_ext =='tif': if par_obj.tiff_file.maxFrames>1: for i in range(0,par_obj.file_array.__len__()): par_obj.left_2_calc.append(i) for b in range(0, par_obj.tiff_file.maxFrames): par_obj.frames_2_load[i] = [0] #try: # np.array(list(self.hyphen_range(fmStr)))-1 # par_obj.frames_2_load[i] = np.array(list(self.hyphen_range(fmStr)))-1 #except: #self.int_obj.image_status_text.showMessage('Status: The supplied range of image frames is in the wrong format. Please correct and click confirm images.') # return self.int_obj.image_status_text.showMessage('Status: Loading Images.') else: for i in range(0,par_obj.file_array.__len__()): par_obj.left_2_calc.append(i) par_obj.frames_2_load[i] = [0] count = 0 for b in par_obj.left_2_calc: frames =par_obj.frames_2_load[b] for i in frames: count = count+1 par_obj.test_im_start= 0 par_obj.test_im_end= count self.int_obj.image_status_text.showMessage('Status: Loading Images. ') if self.type == 'im': if(self.par_obj.file_array.__len__()>0): self.int_obj.selIntButton.setEnabled(True) self.refreshTable()
def showDialog(self): par_obj.file_array = [] self.int_obj.selIntButton.setEnabled(False) #filepath = QtGui.QFileDialog.getOpenFileName(self, 'Open file', '/home') for path in QtGui.QFileDialog.getOpenFileNames( self, 'Open file', self.par_obj.filepath, 'Images(*.tif *.tiff *.png);;'): par_obj.file_array.append(path) self.par_obj.config['evalpath'] = str( QtCore.QFileInfo(path).absolutePath()) + '/' pickle.dump( self.par_obj.config, open(str(os.path.expanduser('~') + '/.densitycount/config.p'), "w")) self.par_obj.csvPath = self.par_obj.config['evalpath'] v2.import_data_fn(par_obj, par_obj.file_array) par_obj.left_2_calc = [] par_obj.frames_2_load = {} if par_obj.file_ext == 'png': for i in range(0, par_obj.file_array.__len__()): par_obj.left_2_calc.append(i) par_obj.frames_2_load[i] = [0] self.int_obj.image_status_text.showMessage( 'Status: Loading Images. Loading Image Num: ' + str(par_obj.file_array.__len__())) elif par_obj.file_ext == 'tiff' or par_obj.file_ext == 'tif': if par_obj.tiff_file.maxFrames > 1: for i in range(0, par_obj.file_array.__len__()): par_obj.left_2_calc.append(i) for b in range(0, par_obj.tiff_file.maxFrames): par_obj.frames_2_load[i] = [0] #try: # np.array(list(self.hyphen_range(fmStr)))-1 # par_obj.frames_2_load[i] = np.array(list(self.hyphen_range(fmStr)))-1 #except: #self.int_obj.image_status_text.showMessage('Status: The supplied range of image frames is in the wrong format. Please correct and click confirm images.') # return self.int_obj.image_status_text.showMessage( 'Status: Loading Images.') else: for i in range(0, par_obj.file_array.__len__()): par_obj.left_2_calc.append(i) par_obj.frames_2_load[i] = [0] count = 0 for b in par_obj.left_2_calc: frames = par_obj.frames_2_load[b] for i in frames: count = count + 1 par_obj.test_im_start = 0 par_obj.test_im_end = count self.int_obj.image_status_text.showMessage('Status: Loading Images. ') if self.type == 'im': if (self.par_obj.file_array.__len__() > 0): self.int_obj.selIntButton.setEnabled(True) self.refreshTable()
def loadModelFn(self, par_obj, fileName): """Shows details of the model when loaded""" par_obj.selectedModel = par_obj.forPath + fileName par_obj.evaluated = False self.image_status_text.showMessage( 'Status: Loading previously trained model. ') app.processEvents() ver = par_obj.selectedModel.split('/')[-1][0:5] if (ver == 'pv20_'): save_file = pickle.load( open(par_obj.selectedModel + str('.mdla'), "rb")) par_obj.modelName = save_file["name"] par_obj.modelDescription = save_file["description"] par_obj.RF = save_file["model"] local_time = save_file["date"] par_obj.M = save_file["M"] par_obj.c = save_file["c"] par_obj.feature_type = save_file["feature_type"] par_obj.feature_scale = save_file["feature_scale"] par_obj.sigma_data = save_file["sigma_data"] par_obj.ch_active = save_file["ch_active"] par_obj.limit_ratio_size = save_file["limit_ratio_size"] par_obj.max_depth = save_file["max_depth"] par_obj.min_samples_split = save_file["min_samples"] par_obj.min_samples_leaf = save_file["min_samples_leaf"] par_obj.max_features = save_file["max_features"] par_obj.num_of_tree = save_file["num_of_tree"] par_obj.file_ext = save_file["file_ext"] par_obj.gt_vec = save_file["gt_vec"] par_obj.error_vec = save_file["error_vec"] save_im = 255 - save_file["imFile"] self.image_status_text.showMessage('Status: Model loaded. ') success = True if (ver == 'pv1.3'): #Load in parameters from file. par_obj.file_ext, par_obj.RF, par_obj.sigma_data, par_obj.feature_scale, par_obj.feature_type, par_obj.ch_active, par_obj.modelName, par_obj.modelDescription = pickle.load( open(par_obj.selectedModel + str('.pkl'), "rb")) #save_im =cv2.imread(par_obj.selectedModel+"im.png") self.image_status_text.showMessage('Status: Model loaded. ') #Display details about model. success, statusText = v2.import_data_fn(par_obj, par_obj.file_array) if success == True: self.modelImTxt1.setText('Name: ' + str(par_obj.modelName)) self.modelImTxt2.setText('Description: ' + str(par_obj.modelDescription)) self.modelImTxt3.setText('Sigma Data: ' + str(par_obj.sigma_data)) self.modelImTxt4.setText('Feature Scale: ' + str(par_obj.feature_scale)) self.modelImTxt5.setText('Feature Type: ' + str(par_obj.feature_type)) self.modelImTxt6.setText('Channels: ' + str(par_obj.ch_active)) self.plt1.imshow(save_im) self.canvas1.draw() self.gotoEvalButton.setEnabled(True) evalImWin.eval_im_btn.setEnabled(True) par_obj.eval_load_im_win_eval = False