def save_measure_to_DB(self): file_name = self.sd.def_cfg['io_h5file_name'] base_io = DB(file_name, self.dv) try: data_array = np.concatenate([ np.reshape(self.sd.freq, (-1, 1)), np.reshape(self.sd.Z_mod_data, (-1, 1)), np.reshape(self.sd.Z_fase_data, (-1, 1)), np.reshape(self.sd.Err_data, (-1, 1)), np.reshape(self.sd.Eri_data, (-1, 1)), np.reshape(self.sd.Er_mod_data, (-1, 1)), np.reshape(self.sd.Er_fase_data, (-1, 1)), np.reshape(self.sd.R_data, (-1, 1)), np.reshape(self.sd.X_data, (-1, 1)) ], axis=1) # data_frame = pd.DataFrame(data_array, # columns=['Freq','Z_mod','Z_Fase','Err','Eri', # 'E_mod','E_fase','R','X']) except: self.dv.append_plus("El fichero de datos no se ha podido salvar\n") else: last_pollo, last_medida = base_io.escribe_medida_BD( self.pw.spinBox_pollo_db.value(), self.pw.spinBox_medida_db.value(), data_array, self.pw.spinBox_pollo_db_2.value()) self.sd.def_cfg['ultimo_pollo'] = int(last_pollo) self.sd.def_cfg['ultima_medida'] = int(last_medida) self.pw.last_pollo.display(self.sd.def_cfg['ultimo_pollo']) self.pw.last_medida.display(self.sd.def_cfg['ultima_medida']) self.dv.append_plus("SALVA MEDIDA en BASE de DATOS")
def load_h5_fit(self): self.dv.append_plus("CARGA MEDIDA BASE DATOS H5") file = self.sd.def_cfg['load_h5file_name'] try: hdf_db = DB(file, self.dv) #hdf_db = pd.HDFStore(file,'r',complib="zlib",complevel=4) #pollos = hdf_db.get('data/index/pollos') #indice_medidas = hdf_db.get('data/index/medidas') #tabla = hdf_db.get('data/tabla') #columns=['Freq','Z_mod','Z_Fase','Err','Eri','E_mod','E_fase','R','X'] except: self.dv.append_plus("Fichero no encontrado\n") else: self.dv.append_plus(file) pollo_sel = int(self.pw.spinBox_pollo.value()) medida_sel = int(self.pw.spinBox_medida.value()) #inicio_medida = indice_medidas['primero'][int(pollo_sel[self.pw.spinBox_medida.value()])] #fin_medida = indice_medidas['ultimo'][int(pollo_sel[self.pw.spinBox_medida.value()])] #data = tabla[inicio_medida:fin_medida] #data = tabla[(tabla['Pollo']==pollo_sel)&(tabla['Medida']==medida_sel)] data = hdf_db.lee_medida_BD(pollo_sel, medida_sel) # self.sd.pollo_fitado = pollo_sel self.sd.medida_fitada = medida_sel if (data.empty): self.dv.append_fit( "Medidas no encontradas en la Base de Datos") else: self.dv.show_data_fit(self.pw.comboBox_mag_fit.currentIndex(), self.pw.comboBox_fit_alg.currentText(), data) self.pw.canvas3.draw()
def load_h5file_DB_browser(self): file_aux = QtWidgets.QFileDialog.getOpenFileName( self.pw, 'Abrir fichero medida', self.sd.def_cfg['def_path'], "Ficheros de medida (*.hdf)") fname_aux = ([str(x) for x in file_aux]) self.sd.def_cfg['io_h5file_name'] = fname_aux[0] #Trick for Qstring converting to standard string self.pw.load_path_db.setText(self.sd.def_cfg['io_h5file_name']) #self.dv.append_plus("CHEQUEA BASE DATOS H5") file_name = self.sd.def_cfg['io_h5file_name'] base_io = DB(file_name, self.dv) ultimo_pollo, ultima_medida = base_io.chequea_ultimos() self.sd.def_cfg['ultimo_pollo'] = int(ultimo_pollo) self.sd.def_cfg['ultima_medida'] = int(ultima_medida) self.pw.last_pollo.display(self.sd.def_cfg['ultimo_pollo']) self.pw.last_medida.display(self.sd.def_cfg['ultima_medida'])
def default_data(self): for i in self.pw.mirror.keys(): for j in self.pw.mirror[i]['array']: if self.pw.mirror[i]['qt'] == 'QLineEdit': eval("self.pw." + j).setText( str(self.sd.def_cfg[i]['value'])) elif self.pw.mirror[i]['qt'] == 'QButtonGroup': eval("self.pw." + j).button( self.sd.def_cfg[i]['value']).setChecked(True) elif self.pw.mirror[i]['qt'] == 'QCheckBox': eval("self.pw." + j).setChecked( self.sd.def_cfg[i]['value']) for i in self.pw.paths.keys(): aux = self.pw.paths[i] eval("self.pw." + aux).setText(str(self.sd.def_cfg[i])) for i in self.pw.others.keys(): aux = self.pw.others[i]['array'] if self.pw.others[i]['qt'] == 'QLineEdit': eval("self.pw." + aux).setText(str( self.sd.def_cfg[i]['value'])) elif self.pw.others[i]['qt'] == 'QButtonGroup': eval("self.pw." + aux).button( self.sd.def_cfg[i]['value']).setChecked(True) elif self.pw.others[i]['qt'] == 'QCheckBox': eval("self.pw." + aux).setChecked(self.sd.def_cfg[i]['value']) for i in self.pw.fit_param.keys(): if i[0:6] == 'lparam': pass elif i[0:5] == 'param': pos = np.argwhere( np.array(self.sd.def_cfg['param_fit']['names']) == i)[0][0] eval("self.pw." + self.pw.fit_param[i]['array'] + "_L").setText( str(self.sd.def_cfg['param_fit']['limits'][pos][0])) eval("self.pw." + self.pw.fit_param[i]['array'] + "_H").setText( str(self.sd.def_cfg['param_fit']['limits'][pos][1])) eval("self.pw." + self.pw.fit_param[i]['array']).setText( str(self.sd.def_cfg['param_fit']['value'][pos])) else: pos = np.argwhere( np.array(self.sd.def_cfg['param_fit']['names']) == i)[0][0] eval("self.pw." + self.pw.fit_param[i]['array']).setText( str(self.sd.def_cfg['param_fit']['value'][pos])) # Default fit magnitude ABS(EPSILON) self.pw.comboBox_mag_fit.setCurrentIndex(4) self.store_data() self.store_fit() file_name = self.sd.def_cfg['io_h5file_name'] base_io = DB(file_name, self.dv) ultimo_pollo, ultima_medida = base_io.chequea_ultimos() self.sd.def_cfg['ultimo_pollo'] = int(ultimo_pollo) self.sd.def_cfg['ultima_medida'] = int(ultima_medida) self.pw.last_pollo.display(self.sd.def_cfg['ultimo_pollo']) self.pw.last_medida.display(self.sd.def_cfg['ultima_medida'])