def calcularEspectro(ids): global wavelenghtsLista # stringDark= """SELECT dark FROM espectros WHERE id='%s';""" %(ids) # stringCapturado= """SELECT dark FROM espectros WHERE id='%s';""" %(ids) # stringWhite= """SELECT dark FROM espectros WHERE id='%s';""" %(ids) medida= [] blanco= [] negro= [] negrolist= [] blancolist= [] suma= [] resta= [] espectroCal= [] espectrocor= [] wavecor= [] conn = conexion() daoEspectros = DaoEspectros(conn) espectro = daoEspectros.getEspectros(ids) blanco = espectro.white negro = espectro.dark medida = espectro.capturado # conn = psycopg2.connect(host="localhost", port = 5432, database="geospectre", user="******", password="******") # cur = conn.cursor() # cur.execute(stringDark) # negro = cur.fetchone()[0][0] # cur.execute(stringWhite) # blanco = cur.fetchone()[0][0] # cur.execute(stringCapturado) # medida = cur.fetchone()[0][0] # cur.close() # conn.close() for i in range(0, len(wavelenghtsLista)): suma.append(float(blanco[i]) - float(negro[i])) # print(str(resta)) for i in range(0, len(wavelenghtsLista)): resta.append(float(medida[i]) - float(negro[i])) for i in range(0, len(wavelenghtsLista)): if suma[i] == 0: suma[i] = 1 espectroCal.append((float(resta[i]) / float(suma[i]))*100) espectro.resultado = espectroCal espectro = daoEspectros.actualizarEspectros(espectro) conn.close() return espectroCal
def guardarNegro(): global id_espectros, n, idSensorTierraVIS data = request.get_json() data['errorBd'] = "" filePathSrc = 'D:/Tesis/Api/Flask/archivoTemporalNegro.txt'; filePathDes = 'D:/Tesis/Api/Flask/archivoNegro.txt'; try: copyfile(filePathSrc, filePathDes) if id_espectros == None: conn = conexion() espectro = Espectros() espectro.white = [] espectro.capturado = [] espectro.resultado = [] espectro.dark = n espectro.sensores_id = idSensorTierraVIS daoEspectros = DaoEspectros(conn) espectro = daoEspectros.guardarEspectros(espectro) id_espectros = espectro.id conn.close() # conn = psycopg2.connect(host="localhost", port = 5432, database="geospectre", user="******", password="******") # cur = conn.cursor() # cur.execute("""INSERT INTO espectros (dark, sensores_id) # VALUES (%s, %s) RETURNING id;""", ([n], idSensorTierraVIS)) # id_espectros = cur.fetchone()[0] # conn.commit() # cur.close() # conn.close() else: conn = conexion() daoEspectros = DaoEspectros(conn) espectro = daoEspectros.getEspectros(id_espectros) espectro.dark = n espectro = daoEspectros.actualizarEspectros(espectro) conn.close() # conn = psycopg2.connect(host="localhost", port = 5432, database="geospectre", user="******", password="******") # cur = conn.cursor() # cur.execute("""UPDATE espectros SET dark=%s WHERE id=%s;""", ([n], id_espectros)) # # id_espectros = cur.fetchone()[0] # # print(id_espectros) # conn.commit() # cur.close() # conn.close() except Exception as errorBd: data['errorBd'] = "T" raise errorBd return json.dumps(data)
def guardarNegro(idEspectro, blanco, negro, capturado, resultado, idSensor): data = {} data['errorBd'] = "" if idEspectro == None: conn = Conexion.conexion() espectro = Espectros() espectro.white = blanco espectro.capturado = capturado espectro.resultado = resultado espectro.dark = negro espectro.sensores_id = idSensor daoEspectros = DaoEspectros(conn) espectro = daoEspectros.guardarEspectros(espectro) idEspectro = espectro.id conn.close() else: conn = Conexion.conexion() daoEspectros = DaoEspectros(conn) espectro = daoEspectros.getEspectros(idEspectro) espectro.dark = negro espectro = daoEspectros.actualizarEspectros(espectro) conn.close()
def guardarBlanco(idEspectro, blanco, negro, capturado, resultado, idSensor): if idEspectro == None: conn = Conexion.conexion() espectro = Espectros() espectro.white = blanco espectro.dark = negro espectro.capturado = capturado espectro.resultado = resultado espectro.sensores_id = idSensor daoEspectros = DaoEspectros(conn) espectro = daoEspectros.guardarEspectros(espectro) idEspectro = espectro.id print(idEspectro) conn.close() else: print("else blanco") conn = Conexion.conexion() daoEspectros = DaoEspectros(conn) espectro = daoEspectros.getEspectros(idEspectro) espectro.white = blanco espectro = daoEspectros.actualizarEspectros(espectro) conn.close()
def capturarVueloSinc(sensorVueloNIR, sensorVueloVIS, tiempoIntegracion, numeroCapturas, id_espectros, i): errorCal = "F" errorBd = "F" errorCapturaV = "" filePath = 'D:/Tesis/Api/Flask/archivoTemporalVuelo.txt' try: sumaCapturado = 0.0 if os.path.exists(filePath): os.remove(filePath) else: print("Can not delete the file as it doesn't exists") vueloCapturado = capturarVueloRpi(sensorVueloVIS, sensorVueloNIR, tiempoIntegracion, numeroCapturas) # print("vuelocapturado "+vueloCapturado) v = getFilesVuelo(vueloCapturado) for i in range(0, len(v)): sumaCapturado += float(v[i]) # TODO: Comparar el viejo con el nuevo, y si está mal volver a capturar # Obtener blanco referencia conn = conexion() daoEspectros = DaoEspectros(conn) espectro = daoEspectros.getEspectros(id_espectros) blancoRef = espectro.white # print(blancoRef) contador = 0 for i in range(0, len(v)): if float(v[i]) > float(blancoRef[i]): print(float(v[i]), float(blancoRef[i])) contador += 1 if contador > 100: break if contador > 100: errorCal = "T" return errorBd, errorCapturaV, id_espectros, errorCal, sumaCapturado # --------------------------------------------------------------------- # print("v") # print(v) errorCapturaV = "" except Exception as e: errorCapturaV = "T" raise e try: conn = conexion() daoEspectros = DaoEspectros(conn) espectro = daoEspectros.getEspectros(id_espectros) espectro.capturado = v espectro.resultado = [] espectro = daoEspectros.actualizarEspectros(espectro) conn.close() # conn = psycopg2.connect(host="localhost", port = 5432, database="geospectre", user="******", password="******") # cur = conn.cursor() # cur.execute("""UPDATE espectros SET capturado=%s WHERE id=%s;""", ([v], id_espectros)) # conn.commit() # # cur.close() # # conn.close() espectroCalculado = calcularEspectro(id_espectros) # makeImageC(espectroCalculado, i) # cur.execute("""UPDATE espectros SET resultado=%s WHERE id=%s RETURNING id;""", ([espectroCalculado], id_espectros)) # idLastEspectre = cur.fetchone()[0] # conn.commit() # cur.close() # conn.close() errorBd = "" except Exception as errorBd: errorBd = "T" raise errorBd return errorBd, errorCapturaV, id_espectros, errorCal, sumaCapturado