示例#1
0
    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
示例#2
0
    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()
示例#3
0
    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