Exemplo n.º 1
0
 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")
Exemplo n.º 2
0
    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()
Exemplo n.º 3
0
    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'])
Exemplo n.º 4
0
    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'])