You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
792 lines
91 KiB
792 lines
91 KiB
from dataclasses import dataclass, field
|
|
from typing import Any, List
|
|
from enum import Enum
|
|
import numpy as np
|
|
import struct
|
|
# import time
|
|
|
|
from tools.mylogger import log
|
|
|
|
|
|
class RamsesType(Enum):
|
|
SAM = 1
|
|
SAMIP = 2
|
|
|
|
|
|
class AirWater(Enum):
|
|
Air = 1
|
|
Water = 2
|
|
|
|
|
|
@dataclass
|
|
class SamCal(object):
|
|
SAMSN: str = None
|
|
DarkPixelStart: int = 0
|
|
DarkPixelStop: int = 0
|
|
Firmware: str = None
|
|
IDDataBack: str = None
|
|
IDDataCal: str = None
|
|
IDDataCalAQ: str = None
|
|
IntegrationTime: int = None
|
|
Reverse: float = None
|
|
SerialNo_MMS: str = None
|
|
WavelengthRange: str = None
|
|
c0s: float = None
|
|
c1s: float = None
|
|
c2s: float = None
|
|
c3s: float = None
|
|
c4s: float = None
|
|
cs: int or str = None
|
|
|
|
def __post_init__(self):
|
|
assert self.SAMSN != None
|
|
assert len(self.SAMSN) == 4 , "SAMSN len is wrong"
|
|
pass
|
|
|
|
def set_samcal(self, samcal: dict):
|
|
assert self.SAMSN == samcal['SAMSN'], "SamCal SAMSN doesnot match."
|
|
# SAMSN_ = samcal['SAMSN']
|
|
self.DarkPixelStart = int(samcal['DarkPixelStart'])
|
|
self.DarkPixelStop = int(samcal['DarkPixelStop'])
|
|
self.Firmware = samcal['Firmware']
|
|
self.IDDataBack = samcal['IDDataBack']
|
|
self.IDDataCal = samcal['IDDataCal']
|
|
self.IDDataCalAQ = samcal['IDDataCalAQ']
|
|
if hasattr( samcal, 'IntegrationTime') :
|
|
self.IntegrationTime = samcal['IntegrationTime']
|
|
else:
|
|
self.IntegrationTime = " "
|
|
# self.Reverse = samcal['Reverse']
|
|
# self.SerialNo_MMS_ = samcal['SerialNo_MMS']
|
|
if hasattr( samcal, 'WavelengthRange') :
|
|
self.WavelengthRange = samcal['WavelengthRange']
|
|
else:
|
|
self.WavelengthRange = "310-1100"
|
|
|
|
self.c0s = float(samcal['c0s'])
|
|
self.c1s = float(samcal['c1s'])
|
|
self.c2s = float(samcal['c2s'])
|
|
self.c3s = float(samcal['c3s'])
|
|
self.c4s_ = float(samcal['c4s'])
|
|
if hasattr( samcal, 'cs'):
|
|
cs = samcal['cs']
|
|
else:
|
|
cs_ = 0
|
|
pass
|
|
|
|
@dataclass
|
|
class IPCal(object):
|
|
IPSN: str = None
|
|
Incl_Orientation: str = None
|
|
Incl_Xgain: float = None
|
|
Incl_Xoffset: float = None
|
|
Incl_Ygain: float = None
|
|
Incl_Yoffset: float = None
|
|
Incl_KBG: float = None
|
|
Incl_Kref: float = None
|
|
Press_Current_mA: float = None
|
|
Press_Surface_bar: float = None
|
|
Press_Gain: float = None
|
|
WithIncl: float = None
|
|
WithPress: float = None
|
|
Press_Sens_mV_bar_4mA: float = None
|
|
Press_Sens_mV_bar_1mA: float = None
|
|
Press_Type: str = None
|
|
CalibrationDate: str = None
|
|
|
|
def __post_init__(self):
|
|
pass
|
|
|
|
def set_ipcal_from_dict(self, ipcal: dict):
|
|
self.IPSN = ipcal['IPSN'] # = float(ipcal['IPSN'] )
|
|
self.Incl_Orientation = ipcal['Incl_Orientation']
|
|
self.Incl_Xgain = float(ipcal['Incl_Xgain'])
|
|
self.Incl_Xoffset = float(ipcal['Incl_Xoffset'])
|
|
self.Incl_Ygain = float(ipcal['Incl_Ygain'])
|
|
self.Incl_Yoffset = float(ipcal['Incl_Yoffset'])
|
|
self.Incl_KBG = float(ipcal['Incl_KBG'])
|
|
self.Incl_Kref = float(ipcal['Incl_Kref'])
|
|
self.Press_Current_mA = float(ipcal['Press_Current_mA'])
|
|
self.Press_Surface_bar = float(ipcal['Press_Surface_bar'])
|
|
self.Press_Gain = float(ipcal['Press_Gain'])
|
|
self.WithIncl = float(ipcal['WithIncl'])
|
|
self.WithPress = float(ipcal['WithPress'])
|
|
self.Press_Sens_mV_bar_4mA = float(ipcal['Press_Sens_mV_bar_4mA'])
|
|
self.Press_Sens_mV_bar_1mA = float(ipcal['Press_Sens_mV_bar_1mA'])
|
|
self.Press_Type_ = ipcal['Press_Type']
|
|
self.CalibrationDate = ipcal['CalibrationDate']
|
|
|
|
@dataclass
|
|
class RamsesCal(object):
|
|
SN: str = None
|
|
typ: RamsesType = RamsesType.SAM
|
|
samsn: str = ""
|
|
inifile: str = None
|
|
calfile: str = None
|
|
calaqfile: str = None
|
|
backfile: str = None
|
|
b0: List[float] = None
|
|
b1: List[float] = None
|
|
cal: List[float] = None
|
|
calaq: List[float] = None
|
|
samcal: SamCal = None
|
|
ipcal: IPCal = None
|
|
|
|
def __post_init__(self):
|
|
assert self.SN != None, " Pls pass the SN when initiating..."
|
|
assert len(self.SN) == 4 , "SN len is wrong"
|
|
|
|
def set_ramsescal_from_dict(self, ramsescal: dict):
|
|
''' 与获得cfg兼容
|
|
# {'Lsky':
|
|
# {'SN': '85B5', 'FUNC': 'Lsky', 'TYPE': 'SAM', 'samsn': '85B5',
|
|
# 'inifile': 'SAM_85B5.ini', 'calfile': 'Cal_SAM_85B5.dat', 'calaqfile': 'CalAQ_SAM_85B5.dat', 'backfile': 'Back_SAM_85B5.dat',
|
|
# 'cal': ['+NAN',..........
|
|
'''
|
|
assert self.SN == ramsescal['SN'], "RamsesCal SN doesnot match."
|
|
if ramsescal['TYPE'] == "SAMIP":
|
|
self.typ = RamsesType.SAMIP
|
|
else:
|
|
self.typ: RamsesType = RamsesType.SAM
|
|
self.samsn: str = ramsescal['samsn']
|
|
self.inifile: str = ramsescal['inifile']
|
|
self.calfile: str = ramsescal['calfile']
|
|
self.calaqfile: str = ramsescal['calaqfile']
|
|
self.backfile: str = ramsescal['backfile']
|
|
self.b0: List[float] = [float(i) for i in ramsescal['b0'] ]
|
|
self.b1: List[float] = [float(i) for i in ramsescal['b1'] ]
|
|
self.cal: List[float] = [float(i) for i in ramsescal['cal'] ]
|
|
self.calaq: List[float] = [float(i) for i in ramsescal['calaq'] ]
|
|
self.samcal: SamCal = SamCal( SAMSN=self.samsn )
|
|
self.samcal.set_samcal(ramsescal )
|
|
if self.typ == RamsesType.SAMIP:
|
|
self.ipcal: IPCal = IPCal( )
|
|
self.ipcal.set_ipcal_from_dict( ramsescal )
|
|
|
|
# def set_ramsescal_samcal(self, samcal: SamCal):
|
|
# samcal: SamCal = samcal
|
|
|
|
# def set_ramsescal_ipcal(self, ipcal: IPCal):
|
|
# ipcal: IPCal = ipcal
|
|
|
|
# def set_samcal_from_dict(self, samcal: dict):
|
|
# assert self.SN != samcal['SAMSN'], "RamsesCal SN doesnot match."
|
|
# # SAMSN_ = samcal['SAMSN']
|
|
# self.samcal.set_samcal
|
|
|
|
# c0s_ = float(samcal['c0s'])
|
|
# c1s_ = float(['c1s'])
|
|
# c2s_ = float(['c2s'])
|
|
# c3s_ = float(['c3s'])
|
|
# c4s_ = float(['c4s'])
|
|
# if samcal['cs_']:
|
|
# cs_ = samcal['cs']
|
|
# else:
|
|
# cs_ = 0
|
|
|
|
# self.samcal = SamCal(self.SN, DarkPixelStart_, DarkPixelStop_, Firmware_, IDDataBack_, IDDataCal_, IDDataCalAQ_,
|
|
# IntegrationTime_, Reverse_, SerialNo_MMS_, WavelengthRange_, c0s_, c1s_, c2s_, c3s_, c4s_, cs_,)
|
|
# pass
|
|
|
|
# def set_samcal_from_dict(self, ipcal: dict):
|
|
# IPSN_ = ipcal['IPSN'] # = float(ipcal['IPSN'] )
|
|
# Incl_Orientation_ = ipcal['Incl_Orientation']
|
|
# Incl_Xgain_ = float(ipcal['Incl_Xgain'])
|
|
# Incl_Xoffset_ = float(ipcal['Incl_Xoffset'])
|
|
# Incl_Ygain_ = float(ipcal['Incl_Ygain'])
|
|
# Incl_Yoffset_ = float(ipcal['Incl_Yoffset'])
|
|
# Incl_KBG_ = float(ipcal['Incl_KBG'])
|
|
# Incl_Kref_ = float(ipcal['Incl_Kref'])
|
|
# Press_Current_mA_ = float(ipcal['Press_Current_mA'])
|
|
# Press_Surface_bar_ = float(ipcal['Press_Surface_bar'])
|
|
# Press_Gain_ = float(ipcal['Press_Gain'])
|
|
# WithIncl_ = float(ipcal['WithIncl'])
|
|
# WithPress_ = float(ipcal['WithPress'])
|
|
# Press_Sens_mV_bar_4mA_ = float(ipcal['Press_Sens_mV_bar_4mA'])
|
|
# Press_Sens_mV_bar_1mA_ = float(ipcal['Press_Sens_mV_bar_1mA'])
|
|
# Press_Type_ = ipcal['Press_Type']
|
|
# CalibrationDate_ = ipcal['CalibrationDate']
|
|
|
|
# self.ipcal = IPCal(IPSN_, Incl_Xgain_, Incl_Xoffset_, Incl_Ygain_, Incl_Yoffset_, Incl_KBG_, Incl_Kref_, Press_Current_mA_, Press_Surface_bar_, Press_Gain_, WithIncl_, WithPress_,
|
|
# Press_Sens_mV_bar_4mA_, Press_Sens_mV_bar_1mA_, Press_Type_, CalibrationDate_)
|
|
# pass
|
|
|
|
|
|
@dataclass
|
|
class RamsesFactory(object):
|
|
SN: str = None
|
|
typ: RamsesType = RamsesType.SAM
|
|
airwater: AirWater = AirWater.Air
|
|
data_raw: bytes = None # 原始的字节 未去遮罩
|
|
ip_raw: bytes =None # ip 数据分开传进来
|
|
data_after_remove_mask: bytes = None # 去遮罩后
|
|
data_valid_buf: bytes = None # 去掉帧头帧尾后的buf
|
|
ip_buf: bytes = None
|
|
data_Int_from_Hex: List[int] = None # 去遮罩后
|
|
data_after_cal: List[float] = None
|
|
Wavelength: List[float] = None
|
|
integratedTime: int = None
|
|
RamsesCalData: RamsesCal = None
|
|
|
|
'''Usage
|
|
|
|
设置标定参数:
|
|
sn = "85C2"
|
|
rf = RamsesFactory( SN=sn, airwater = AirWater.Air )
|
|
rf.set_cfg(cfg )
|
|
|
|
设置数据,
|
|
从原始数据开始
|
|
set_data_raw(self, byt: bytes)
|
|
removeMask()
|
|
get_data_valid_buf() -- valid_buf
|
|
从有效数据开始
|
|
set_data_valid_buf(self, byt: bytes)
|
|
处理数据
|
|
process_from_hex_2_int(self,)
|
|
'''
|
|
|
|
def __post_init__(self):
|
|
assert self.SN != None
|
|
assert len(self.SN) == 4 , "SAMSN len is wrong"
|
|
self.RamsesCalData = RamsesCal(self.SN)
|
|
pass
|
|
|
|
def set_cfg(self, cfg:dict):
|
|
assert self.SN == cfg["SN"] , "ramsesFactory SN does not match!!"
|
|
if cfg['TYPE'] == "SAMIP":
|
|
self.typ: RamsesType = RamsesType.SAMIP
|
|
else:
|
|
self.typ: RamsesType = RamsesType.SAM
|
|
self.RamsesCalData.set_ramsescal_from_dict(cfg)
|
|
|
|
def set_airwater(self,air_water:AirWater):
|
|
self.airwater = air_water
|
|
pass
|
|
|
|
def set_data_raw_ip_raw(self, byt: bytes ):
|
|
''' byt 含 data_raw ip_raw '''
|
|
assert isinstance(byt, bytes)
|
|
num = 0
|
|
buf = byt
|
|
for i in range(50):
|
|
if byt[i] == 35:
|
|
num+=1
|
|
if num == 2:
|
|
self.ip_raw = buf[:i]
|
|
self.data_raw = buf[i:]
|
|
break
|
|
|
|
def set_data_raw(self, byt: bytes ):
|
|
''' 需要 光谱数据
|
|
兼容: 传入前分不出byte ip
|
|
ip_byt: 判断是否含IP数据
|
|
'''
|
|
assert isinstance(byt, bytes)
|
|
self.data_raw = byt
|
|
|
|
def set_ip_raw(self, byt: bytes ):
|
|
''' 需要 光谱数据
|
|
兼容: 传入前分不出byte ip
|
|
ip_byt: 判断是否含IP数据
|
|
'''
|
|
assert isinstance(byt, bytes)
|
|
self.ip_raw = byt
|
|
|
|
def set_ip_buf(self, byt: bytes ):
|
|
''' 处理不含遮罩的 IP buf '''
|
|
assert isinstance(byt, bytes)
|
|
self.ip_buf = byt
|
|
|
|
def set_data_valid_buf(self, byt: bytes):
|
|
self.data_valid_buf = byt
|
|
pass
|
|
|
|
def set_data_Int_254(self, int_list: list):
|
|
self.data_Int_from_Hex = int_list
|
|
pass
|
|
|
|
|
|
def get_data_valid_buf(self, ):
|
|
self.remove_frame_head_tail( )
|
|
pass
|
|
|
|
def remove_frame_head_tail(self,):
|
|
''' 兼容 SAM 576, SAMIP 的IP数据单独传进来
|
|
去掉 23 00 00 00 00 00 00 ...... 01
|
|
'''
|
|
assert self.data_after_remove_mask != None, "please remove mask in advance"
|
|
res = {}
|
|
buf = self.data_after_remove_mask
|
|
len_ = len(buf)
|
|
|
|
# print( f" head tail, {len_}")
|
|
# print( self.data_after_remove_mask)
|
|
# if self.typ == RamsesType.SAMIP:
|
|
# assert len_ == 602, "SAMIP sensor , wrong the num of bytes"
|
|
# self.buf_ip = self.data_after_remove_mask[:26]
|
|
# buf = buf[26:]
|
|
# # self.ip = self.decode_ip_buf(self.buf_ip, self.cal_cfg)
|
|
# # self.buf = self.buf[26:]
|
|
# len_ = len_ - 26
|
|
assert len_ == 576, "SAM sensor , wrong the num of bytes"
|
|
|
|
for i in range(576):
|
|
res.update({i+1: {}})
|
|
self.data_valid_buf = buf[7:71] + buf[79:143] + \
|
|
buf[151:215] + buf[223:287] + \
|
|
buf[295:359] + buf[367:431] + \
|
|
buf[439:503] + buf[511:575]
|
|
|
|
pass
|
|
|
|
def set_integrate_time(self, it:int):
|
|
self.integratedTime = it
|
|
|
|
def process_from_hex_2_int(self, mode= 0):
|
|
"""
|
|
@description :从data_after_remove_mask 到 data_Int_from_Hex
|
|
"""
|
|
assert self.data_valid_buf != None, "please remove frame head and tail"
|
|
|
|
# print( f" == {len(self.data_valid_buf)}= {self.data_valid_buf} ")
|
|
|
|
self.integratedTime = 2 << int(self.data_valid_buf[0]) # integrated time
|
|
|
|
# print(f"===============it {self.integratedTime}")
|
|
|
|
tmp = struct.unpack(
|
|
"<HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH \
|
|
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH \
|
|
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH \
|
|
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH", self.data_valid_buf[2:])
|
|
self.data_Int_from_Hex = list(tmp)
|
|
if mode == 1:
|
|
print( self.data_Int_from_Hex )
|
|
|
|
def get_wavelenth(self,mode = 0):
|
|
self.Wavelength = []
|
|
for i in range(2, 257): # 修正为 n+1
|
|
tmp = self.RamsesCalData.samcal.c0s + self.RamsesCalData.samcal.c1s * i \
|
|
+ self.RamsesCalData.samcal.c2s * i * i + self.RamsesCalData.samcal.c3s * i * i * i
|
|
self.Wavelength.append(tmp)
|
|
if mode == 1:
|
|
print(self.Wavelength)
|
|
|
|
def calibrate_data(self,mode =0):
|
|
assert self.integratedTime != None, "Integrated Time is None??"
|
|
self.__CalibrateSpectrumData()
|
|
if mode == 1:
|
|
print( self.data_after_cal )
|
|
|
|
# # 转换一个传感器的部分
|
|
# def __ConvertBytesToInt(self ) -> None:
|
|
# self.integratedTime = 2 << int(self.data_valid_buf[0]) # integrated time
|
|
# self.data_Int_from_Hex = struct.unpack(
|
|
# "<HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH \
|
|
# HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH \
|
|
# HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH \
|
|
# HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH", self.data_valid_buf[2:])
|
|
# # print( self.light_int )
|
|
|
|
def __CalibrateSpectrumData(self,):
|
|
t0 = 8192
|
|
# log.debug(f" __CalibrateSpectrumData ..... ", __name__)
|
|
# 5 1088 0 0 0.016601816 0.0177432 -0.001141384 0.000505308 0.016169857 0.102722719 0.157412665 0.157412431
|
|
raw = np.asarray(self.data_Int_from_Hex, dtype=float)
|
|
# B0 = np.asarray(self.cal_cfg["b0"], dtype=float)
|
|
# B1 = np.asarray(self.cal_cfg["b1"], dtype=float)
|
|
B0 = np.asarray(self.RamsesCalData.b0, dtype=float)
|
|
B1 = np.asarray(self.RamsesCalData.b1, dtype=float)
|
|
|
|
Mn = raw/65535
|
|
Bn = B0 + B1 * (self.integratedTime/t0)
|
|
Cn = Mn-Bn
|
|
|
|
Offset = self.getOffset(
|
|
Cn, int(self.RamsesCalData.samcal.DarkPixelStart), int(self.RamsesCalData.samcal.DarkPixelStop))
|
|
Dn = Cn - Offset
|
|
En = Dn * (t0/self.integratedTime)
|
|
if self.airwater == AirWater.Air:
|
|
Fn = En/np.asarray(self.RamsesCalData.cal, dtype=float) # 空气的标定文件
|
|
else:
|
|
Fn = En/np.asarray(self.RamsesCalData.calaq, dtype=float) # 水中的标定文件
|
|
# Fn = En/np.asarray(self.cal_cfg["cal"], dtype=float) # 空气或水中的标定文件
|
|
self.data_after_cal = Fn
|
|
|
|
# print( f"num:4 试算结果:\r\n \
|
|
# integratedTime : {self.integratedTime} \
|
|
# int : { self.data_Int_from_Hex[4]} \r\n \
|
|
# int : { self.data_Int_from_Hex[4]} \r\n\
|
|
# Mn : { Mn[4]} \r\n\
|
|
# Bn : { Bn[4]} B0 : { self.RamsesCalData.b0[4]} B1 : {self.RamsesCalData.b1[4]} \r\n\
|
|
# Cn : { Cn[4]} \r\n\
|
|
# Dn : { Dn[4]} \r\n\
|
|
# En : { En[4]} \r\n\
|
|
# Fn : { Fn[4]} \r\n\
|
|
# cal : { self.RamsesCalData.cal[4]} calaq : {self.RamsesCalData.calaq[4]} \r\n\
|
|
# offset: {Offset} \r\n\
|
|
# ")
|
|
|
|
|
|
|
|
|
|
|
|
def getOffset(self, data: np.ndarray, start: int, stop: int):
|
|
''' 计算光谱时候的 offset '''
|
|
ret = 0.0
|
|
# print( f" offset....... {start} - {stop} {data}")
|
|
for i in range(start-1, stop, 1):
|
|
# print(data[i])
|
|
ret = ret + data[i]
|
|
return ret / (stop - start + 1)
|
|
|
|
def removeMask(self,):
|
|
self.data_after_remove_mask = self.__removeMask(self.data_raw)
|
|
pass
|
|
|
|
def removeMask_IP(self,):
|
|
self.ip_buf = self.__removeMask(self.ip_raw)
|
|
pass
|
|
|
|
def __removeMask(self, byt:bytes):
|
|
'''去除遮罩 0x64 0x65 0x66 0x67'''
|
|
ret = b''
|
|
flag = False
|
|
sign = [100,101,102,103]
|
|
buf = byt
|
|
blen = len(buf)
|
|
|
|
for i in range(blen):
|
|
# print(f" {i} == {buf[i]}")
|
|
if flag == False and buf[i] == 64:
|
|
if buf[i+1] in sign:
|
|
i-=1
|
|
flag = True
|
|
continue
|
|
if flag == False and buf[i] != 64:
|
|
continue
|
|
if flag == True and buf[i] == 100:
|
|
buf = buf[:i-1] + b'\x40' + buf[i:] # buf 拼接法
|
|
# ret = ret + b'\x40'
|
|
flag = False
|
|
continue
|
|
if flag == True and buf[i] == 101:
|
|
buf = buf[:i-1] + b'\x23' + buf[i:] # buf 拼接法
|
|
# ret = ret + b'\x23'
|
|
flag = False
|
|
continue
|
|
if flag == True and buf[i] == 102:
|
|
print( f" {i} 102 -11 ====== {buf[i]}")
|
|
buf = buf[:i-1] + b'\x11' + buf[i:] # buf 拼接法
|
|
# ret = ret + b'\x11'
|
|
flag = False
|
|
continue
|
|
if flag == True and buf[i] == 103:
|
|
buf = buf[:i-1] + b'\x13' + buf[i:] # buf 拼接法
|
|
# ret = ret + b'\x13'
|
|
flag = False
|
|
continue
|
|
# self.data_after_remove_mask = buf
|
|
return buf
|
|
pass
|
|
def decode_ip_buf(self, buf):
|
|
assert self.typ == RamsesType.SAMIP
|
|
tmpbuf = buf
|
|
if len(tmpbuf) == 26 and tmpbuf[0] == 0x13:
|
|
tmpbuf = tmpbuf[2:]
|
|
|
|
# Incl_XGain = float(ip_cal['Incl_XOffset'] )
|
|
# Incl_XOffset = float(ip_cal['Incl_XOffset'] )
|
|
# Incl_YGain = float(ip_cal['Incl_YGain'] )
|
|
# Incl_YOffset = float(ip_cal['Incl_YOffset'] )
|
|
|
|
Incl_XGain = self.ipcal.Incl_XGain
|
|
Incl_XOffset = self.ipcal.Incl_XOffset
|
|
Incl_YGain = self.ipcal.Incl_YGain
|
|
Incl_YOffset = self.ipcal.Incl_YOffset
|
|
|
|
Incl_KRef = self.ipcal.Incl_KRef
|
|
Press_Sens_mV_bar_1mA = self.ipcal.Press_Sens_mV_bar_1mA
|
|
Incl_KBG = self.ipcal.Incl_KBG
|
|
Press_Sens_mV_bar_4mA = self.ipcal.Press_Sens_mV_bar_4mA
|
|
Press_Gain = self.ipcal.Press_Gain
|
|
Press_Surface_bar = self.ipcal.Press_Surface_bar
|
|
|
|
ip_info = struct.unpack("<BBBBBBBBBBBBBBBBBBBBBBBB", buf)
|
|
byte11 = ip_info[11]
|
|
byte12 = ip_info[12]
|
|
byte13 = ip_info[13]
|
|
byte14 = ip_info[14]
|
|
byte15 = ip_info[15]
|
|
byte16 = ip_info[16]
|
|
byte17 = ip_info[17]
|
|
byte18 = ip_info[18]
|
|
byte19 = ip_info[19]
|
|
byte20 = ip_info[20]
|
|
byte21 = ip_info[21]
|
|
byte22 = ip_info[22]
|
|
|
|
X = (byte11 - Incl_XOffset) / Incl_XGain # 单位 度
|
|
Y = (byte12 - Incl_YOffset) / Incl_YGain # 单位 度
|
|
npress = byte14 * 256 + byte13
|
|
nbg = byte18 * 256 + byte17
|
|
nrefh = byte20 * 256 + byte19
|
|
nrefl = byte22 * 256 + byte21
|
|
noffset = nrefl - (Incl_KRef * (nrefh-nrefl))
|
|
VPress = Incl_KBG * (npress-noffset) / (nbg - noffset) # 电压值
|
|
press_sens = Press_Sens_mV_bar_4mA
|
|
if press_sens <= 0:
|
|
press_sens = 4 * Press_Sens_mV_bar_1mA
|
|
p_bar = 1000 * VPress / (press_sens * Press_Gain)
|
|
press_delta = p_bar - 1.021
|
|
depth_m = press_delta * 10
|
|
return [depth_m, X, Y]
|
|
pass
|
|
|
|
pass
|
|
|
|
|
|
class Ramses85C2(object):
|
|
def __init__(self,):
|
|
self.info_query = "23 00 00 80 b0 00 00 01"
|
|
self.it_query = "23 00 00 00 78 05 00 01"
|
|
self.cmd = "23 00 00 00 a8 00 81 01"
|
|
self.data_85C2 = "\
|
|
23 a0 00 00 07 fe fe 0b 09 5b 09 4e 09 55 09 54 09 4a 09 4d 09 49 09 4e 09 3b 09 3f 09 46 09 41 09 3a 09 41 09 4b 09 46 09 4c 09 51 09 4c 09 51 09 43 09 4d 09 4a 09 57 09 4f 09 53 09 4a 09 52 09 56 09 76 09 78 09 c1 \
|
|
23 a0 00 00 06 fe fe 86 09 8c 09 91 09 9e 09 ad 09 bf 09 e6 09 2f 0a 77 0a 62 0a 20 0a 04 0a 00 0a 04 0a 07 0a f4 09 f1 09 e2 09 ee 09 de 09 e7 09 ed 09 0b 0a 26 0a 31 0a 2d 0a 2c 0a 1f 0a 12 0a 23 0a 32 0a 44 0a 97 \
|
|
23 a0 00 00 05 fe fe 57 0a 6d 0a 76 0a 86 0a b6 0a 08 0b 16 0c 0f 0e 27 10 7d 10 05 0f 0f 0d c9 0b 0e 0b bf 0a 90 0a 89 0a b1 0a 14 0b 8f 0b 18 0c 65 0c 84 0c 7e 0c 8d 0c a3 0c 2f 0d 55 0f 44 12 4e 13 0c 12 47 10 36 \
|
|
23 a0 00 00 04 fe fe 31 0f a2 0e 18 0e 64 0d a2 0c 18 0c d8 0b bf 0b c4 0b b3 0b b1 0b a8 0b a1 0b a7 0b 93 0b 7b 0b 78 0b 6a 0b 5b 0b 46 0b 23 0b f9 0a ea 0a ec 0a 33 0b 98 0b c0 0b 61 0b e6 0a 80 0a 4c 0a 4a 0a e9 \
|
|
23 a0 00 00 03 fe fe 53 0a 7c 0a 93 0a c6 0a d1 0a ec 0a e0 0a e0 0a a0 0a 53 0a 35 0a 4c 0a 68 0a 8f 0a 86 0a 7b 0a 6b 0a 53 0a 34 0a 26 0a 14 0a 02 0a 03 0a f8 09 dd 09 c5 09 aa 09 98 09 90 09 8d 09 95 09 90 09 c1 \
|
|
23 a0 00 00 02 fe fe 9a 09 8e 09 93 09 8a 09 87 09 85 09 7b 09 7f 09 7b 09 70 09 6b 09 64 09 6e 09 76 09 6c 09 64 09 5f 09 58 09 54 09 3e 09 49 09 45 09 43 09 3f 09 35 09 40 09 36 09 36 09 41 09 34 09 3a 09 37 09 8a \
|
|
23 a0 00 00 01 fe fe 2e 09 35 09 34 09 33 09 39 09 2e 09 36 09 3f 09 42 09 38 09 35 09 43 09 3a 09 3e 09 43 09 40 09 3c 09 45 09 42 09 46 09 43 09 43 09 3f 09 47 09 46 09 35 09 44 09 44 09 3d 09 3c 09 47 09 3c 09 83 \
|
|
23 a0 00 00 00 fe fe 4d 09 37 09 43 09 43 09 44 09 45 09 55 09 49 09 41 09 4e 09 52 09 43 09 51 09 46 09 4b 09 58 09 54 09 4a 09 55 09 56 09 55 09 56 09 57 09 5d 09 74 09 66 09 72 09 71 09 69 09 73 09 5c 09 57 09 8a \
|
|
"
|
|
self.data_after_remove_maske = None
|
|
self.data_Int_from_Hex = ['2395', '2382', '2389', '2388', '2378', '2381', '2377', '2382', '2363', '2367', '2374', '2369', '2362', '2369', '2379', '2374', '2380', '2385', '2380', '2385', '2371', '2381', '2378', '2391', '2383', '2387', '2378', '2386', '2390', '2422', '2424', '2438', '2444', '2449', '2462', '2477', '2495', '2534', '2607', '2679', '2658', '2592', '2564', '2560', '2564', '2567', '2548', '2545', '2530', '2542', '2526', '2535', '2541', '2571', '2598', '2609', '2605', '2604', '2591', '2578', '2595', '2610', '2628', '2647', '2669', '2678', '2694', '2742', '2824', '3094', '3599', '4135', '4221', '3845', '3343', '3017', '2830', '2751', '2704', '2697', '2737', '2836', '2959', '3096', '3173', '3204', '3198', '3213', '3235', '3375', '3925', '4676', '4942', '4620', '4167', '3889', '3746', '3608', '3428', '3234', '3096', '3032', '3007', '3012', '2995', '2993', '2984', '2977', '2983', '2963', '2939', '2936', '2922', '2907', '2886', '2851', '2809', '2794', '2796', '2867', '2968', '3008', '2913', '2790', '2688', '2636',
|
|
'2634', '2643', '2684', '2707', '2758', '2769', '2796', '2784', '2784', '2720', '2643', '2613', '2636', '2664', '2703', '2694', '2683', '2667', '2643', '2612', '2598', '2580', '2562', '2563', '2552', '2525', '2501', '2474', '2456', '2448', '2445', '2453', '2448', '2458', '2446', '2451', '2442', '2439', '2437', '2427', '2431', '2427', '2416', '2411', '2404', '2414', '2422', '2412', '2404', '2399', '2392', '2388', '2366', '2377', '2373', '2371', '2367', '2357', '2368', '2358', '2358', '2369', '2356', '2362', '2359', '2350', '2357', '2356', '2355', '2361', '2350', '2358', '2367', '2370', '2360', '2357', '2371', '2362', '2366', '2371', '2368', '2364', '2373', '2370', '2374', '2371', '2371', '2367', '2375', '2374', '2357', '2372', '2372', '2365', '2364', '2375', '2364', '2381', '2359', '2371', '2371', '2372', '2373', '2389', '2377', '2369', '2382', '2386', '2371', '2385', '2374', '2379', '2392', '2388', '2378', '2389', '2390', '2389', '2390', '2391', '2397', '2420', '2406', '2418', '2417', '2409', '2419', '2396', '2391']
|
|
self.data_after_cal = ['-NAN', '-NAN', '-NAN', '-NAN', '-0.000374079098737787', '-0.000350299564017366', '-0.000308288008900915', '-0.000406703215465772', '-0.000782517236811813', '-0.000573793416652615', '-0.00047858675513217', '-0.000458967816052652', '-0.000504287959184394', '-0.000447624498184785', '-0.000329929609474648', '-0.000311089539389908', '-0.000241426218650632', '-0.000155549081409335', '-0.000206674384776802', '-0.000184117260326514', '-0.000400515105322605', '-0.000261175276588761', '-0.000236936402106257', '-0.000119852454613561', '-0.000208571462271621', '-0.000206679452776187', '-0.000226110950449552', '-0.000173668389025741', '-3.47786870511508e-05', '0.000431565020333614', '0.00060663534388101', '0.000686332535266336', '0.000633997985788337', '0.000683426784665538', '0.000810376424462623', '0.000977487972122931', '0.0011488859191218', '0.0014900751089907', '0.00236075482596874', '0.00317145485715499', '0.00306344143526345', '0.00239474261673403', '0.00205440437580532', '0.00204355781858809', '0.00204429770678325', '0.00209619386228008', '0.00207745353977213', '0.00199742689110857', '0.00192757766039574', '0.0020065090567182', '0.00182051371982471', '0.00186917458547627', '0.00194444798970978', '0.00234835283496405', '0.00266579974374106', '0.0027830862127088', '0.00271431366916961', '0.00260138246593869', '0.00239968576472302', '0.00226612671845309', '0.00233318764447794', '0.002477902713819', '0.00267311416614577', '0.00282127726501227', '0.00294799569217471', '0.00306502167633045', '0.00322048967901495', '0.00358661823161985', '0.00444376849744876', '0.00709769628665171', '0.0122939906493291', '0.0178687992140181', '0.0190586666416918', '0.0153888081761835', '0.0103872547168006', '0.00698417532956371', '0.00509764884563052', '0.00422591904697052', '0.00386707466583264', '0.00384686852617558', '0.00447141724614518', '0.00590161416357564', '0.007873557921568', '0.00996619981983026', '0.0113439756242113', '0.012084175791068', '0.0123503468366184', '0.0128315769774279', '0.0134171101680466', '0.0158548765344763', '0.0251673080552834', '0.0379065605827745', '0.042387765328768', '0.0369642797766271', '0.0295323766185935', '0.0249389916459621', '0.0225330956746252', '0.0203635029149668', '0.017488211846103', '0.0144173463999943', '0.0123843317165635', '0.0114019411929529', '0.0111789416833658', '0.0111983305027625', '0.0111816710067684', '0.0109885513820978', '0.0109633402330548', '0.0110017793246396', '0.0109832096077767',
|
|
'0.0106716412939721', '0.0104078212338621', '0.0103919268874104', '0.0102905529527295', '0.0100064099889762', '0.00964945409395506', '0.00899980577717771', '0.00831372402870705', '0.00800337054781435', '0.00810514020113715', '0.00971396906367039', '0.0117824377898393', '0.0126979589566504', '0.0109268574102577', '0.0081569795955378', '0.00608231125321172', '0.00536903424151555', '0.00515095650570321', '0.00546548370495543', '0.0064179576919473', '0.00721254810630632', '0.00825843331877762', '0.00887563044281818', '0.00948465628057633', '0.00943521661796268', '0.00941805233807299', '0.00817507910055595', '0.0063828758650207', '0.00570037632756356', '0.00633569879150338', '0.00732621550364458', '0.00831023416555818', '0.00836735731185972', '0.00820248787987211', '0.00795009752959998', '0.00744731623661109', '0.00671449314373285', '0.00645207600119107', '0.00616258170999556', '0.00590238723485042', '0.00588270560496661', '0.00585040636258424', '0.00518275446860646', '0.00440486341620425', '0.00315120935801831', '0.00253079254867871', '0.00251838946943526', '0.00243187254323672', '0.00259689067651864', '0.00289685708625053', '0.00315532785371054', '0.00296567127201329', '0.00334361133423194', '0.00319068613593708', '0.00309682930380023', '0.00286002840321542', '0.00253771928508401', '0.00264889595570155', '0.00240781581677323', '0.0020407357823836', '0.00180265159879711', '0.00157073370925985', '0.00157924570585415', '0.00202043219973252', '0.00159325094929071', '0.00085772022208578', '0.000251532984769505', '0.000311108954835756', '-0.000875645379648505', '-0.00268532065037732', '-0.00208008227276827', '-0.00274502459967993', '-0.00305638482684573', '-0.00361809694485078', '-0.00429916070213808', '-0.00391814239802678', '-0.00452869412271439', '-0.00479470431408746', '-0.00469215687138475', '-0.00632120636391946', '-0.00651219754894255', '-0.00647707031799787', '-0.00911082930810711', '-0.00782001901579526', '-0.00839643026395382', '-0.00830231747176574', '-0.00852361857772266', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN', '-NAN']
|
|
self.wavelength = ['304.48099608248', '307.81937464637', '311.15832552384', '314.49783768875', '317.83790011496', '321.17850177633', '324.51963164672', '327.86127869999', '331.20343191', '334.54608025061', '337.88921269568', '341.23281821907', '344.57688579464', '347.92140439625', '351.26636299776', '354.61175057303', '357.95755609592', '361.30376854029', '364.65037688', '367.99737008891', '371.34473714088', '374.69246700977', '378.04054866944', '381.38897109375', '384.73772325656', '388.08679413173', '391.43617269312', '394.78584791459', '398.13580877', '401.48604423321', '404.83654327808', '408.18729487847', '411.53828800824', '414.88951164125', '418.24095475136', '421.59260631243', '424.94445529832', '428.29649068289', '431.64870144', '435.00107654351', '438.35360496728', '441.70627568517', '445.05907767104', '448.41199989875', '451.76503134216', '455.11816097513', '458.47137777152', '461.82467070519', '465.17802875', '468.53144087981', '471.88489606848', '475.23838328987', '478.59189151784', '481.94540972625', '485.29892688896', '488.65243197983', '492.00591397272', '495.35936184149', '498.71276456', '502.06611110211', '505.41939044168', '508.77259155257', '512.12570340864', '515.47871498375', '518.83161525176', '522.18439318653', '525.53703776192', '528.88953795179', '532.24188273', '535.59406107041', '538.94606194688', '542.29787433327', '545.64948720344', '549.00088953125', '552.35207029056', '555.70301845523', '559.05372299912', '562.40417289609', '565.75435712', '569.10426464471', '572.45388444408', '575.80320549197', '579.15221676224', '582.50090722875', '585.84926586536', '589.19728164593', '592.54494354432', '595.89224053439', '599.23916159', '602.58569568501', '605.93183179328', '609.27755888867', '612.62286594504', '615.96774193625', '619.31217583616', '622.65615661863', '625.99967325752', '629.34271472669', '632.68527', '636.02732805131', '639.36887785448', '642.70990838337', '646.05040861184', '649.39036751375', '652.72977406296', '656.06861723333', '659.40688599872', '662.74456933299', '666.08165621', '669.41813560361', '672.75399648768', '676.08922783607', '679.42381862264', '682.75775782125', '686.09103440576', '689.42363735003', '692.75555562792', '696.08677821329', '699.41729408', '702.74709220191', '706.07616155288', '709.40449110677', '712.73206983744', '716.05888671875', '719.38493072456', '722.71019082873', '726.03465600512', '729.35831522759',
|
|
'732.68115747', '736.00317170621', '739.32434691008', '742.64467205547', '745.96413611624', '749.28272806625', '752.60043687936', '755.91725152943', '759.23316099032', '762.54815423589', '765.86222024', '769.17534797651', '772.48752641928', '775.79874454217', '779.10899131904', '782.41825572375', '785.72652673016', '789.03379331213', '792.34004444352', '795.64526909819', '798.94945625', '802.25259487281', '805.55467394048', '808.85568242687', '812.15560930584', '815.45444355125', '818.75217413696', '822.04879003683', '825.34428022472', '828.63863367449', '831.93183936', '835.22388625511', '838.51476333368', '841.80445956957', '845.09296393664', '848.38026540875', '851.66635295976', '854.95121556353', '858.23484219392', '861.51722182479', '864.79834343', '868.07819598341', '871.35676845888', '874.63404983027', '877.91002907144', '881.18469515625', '884.45803705856', '887.73004375223', '891.00070421112', '894.27000740909', '897.53794232', '900.80449791771', '904.06966317608', '907.33342706897', '910.59577857024', '913.85670665375', '917.11620029336', '920.37424846293', '923.63084013632', '926.88596428739', '930.13960989', '933.39176591801', '936.64242134528', '939.89156514567', '943.13918629304', '946.38527376125', '949.62981652416', '952.87280355563', '956.11422382952', '959.35406631969', '962.59232', '965.82897384431', '969.06401682648', '972.29743792037', '975.52922609984', '978.75937033875', '981.98785961096', '985.21468289033', '988.43982915072', '991.66328736599', '994.88504651', '998.10509555661', '1001.32342347968', '1004.54001925307', '1007.75487185064', '1010.96797024625', '1014.17930341376', '1017.38886032703', '1020.59662995992', '1023.80260128629', '1027.00676328', '1030.20910491491', '1033.40961516488', '1036.60828300377', '1039.80509740544', '1043.00004734375', '1046.19312179256', '1049.38430972573', '1052.57360011712', '1055.76098194059', '1058.94644417', '1062.12997577921', '1065.31156574208', '1068.49120303247', '1071.66887662424', '1074.84457549125', '1078.01828860736', '1081.19000494643', '1084.35971348232', '1087.52740318889', '1090.69306304', '1093.85668200951', '1097.01824907128', '1100.17775319917', '1103.33518336704', '1106.49052854875', '1109.64377771816', '1112.79491984913', '1115.94394391552', '1119.09083889119', '1122.23559375', '1125.37819746581', '1128.51863901248', '1131.65690736387', '1134.79299149384', '1137.92688037625', '1141.05856298496']
|
|
|
|
self.calcfg = {
|
|
'SN': '85C2', 'FUNC': 'Lsky', 'TYPE': 'SAM', 'samsn': '85C2',
|
|
'inifile': 'SAM_85C2.ini', 'calfile': 'Cal_SAM_85C2.dat', 'calaqfile': 'CalAQ_SAM_85C2.dat', 'backfile': 'Back_SAM_85C2.dat',
|
|
|
|
"b0": ['0.0167342121256965', '0.0166272578208838', '0.0166286620082263', '0.0167322590351011', '0.0166920032801035', '0.0166775698812814', '0.0166447407209946', '0.0166906961017275', '0.0166809423386799', '0.0166877673382172', '0.0166557529834584', '0.0166967839378053', '0.0166669086656532', '0.0166892149702227', '0.0166767580418549', '0.0166905701296523', '0.0166797450805357', '0.0166853286793596', '0.0166606032573071', '0.0166908025324281', '0.0166781405941041', '0.0166909536291278', '0.016658955500689', '0.0166904685842953', '0.0166691280074769', '0.0167018280551104', '0.0166777291783793', '0.0166913413160407', '0.0166761335902522', '0.016706050038872', '0.0166582396233696', '0.0166925097855527', '0.0166940355830564', '0.0167090314943029', '0.0166814589637695', '0.0167022263850933', '0.0166789583657336', '0.0167125271321517', '0.0167029600590216', '0.0167033172125368', '0.0166891849602547', '0.016717239220566', '0.0166950287036272', '0.0167214463738202', '0.0167003460512228', '0.0167208076151397', '0.0167006723223871', '0.0167002158917102', '0.016694364122416', '0.0167280688060731', '0.0166797285052627', '0.0167266316426611', '0.0167086472969212', '0.0167237098582131', '0.0167077462999733', '0.0167322560689996', '0.0167032709762488', '0.0167360191794125', '0.0167094863546909', '0.0167321362036039', '0.0167044837628067', '0.0167368275293078', '0.0167091722968856', '0.0167287705507912', '0.0167181887219972', '0.0167349817417959', '0.0167306388457792', '0.0167342461486254', '0.0167197319671568', '0.0167519464465281', '0.0166999253882404', '0.0167488868255989', '0.016719535855505', '0.0167381012081846', '0.016714746997405', '0.0167499849810578', '0.0167221554465538', '0.0167373439799208', '0.0167244929090075', '0.0167622135196106', '0.0167296907401605', '0.0167466896422982', '0.0167188426601383', '0.0167413380972971', '0.0167347596331369', '0.0167533143427464', '0.0167352247876418', '0.0167353516320998', '0.0167414953006763', '0.016749848191436', '0.0167323993142541', '0.0167619493621011', '0.0167279053215378', '0.0167620692274968', '0.0167349965723033', '0.0167560658380733', '0.0167266768320897', '0.0167505611026539', '0.0167372640696571', '0.0167451675088022', '0.0167349737158742', '0.0167567040733241', '0.0167333020559676', '0.0167609921837014', '0.0167265123006951', '0.0167540701751976', '0.0167341789751504', '0.0167567098310506', '0.0167278048230401', '0.0167495269800919', '0.0167406579876722', '0.0167589262067727', '0.0167242688811064', '0.0167535141184058', '0.016737757663841', '0.0167484752353975', '0.0167302035267659', '0.0167375224694401', '0.0167320194787863', '0.016746486202631', '0.016722477006851', '0.0167550999358457', '0.0167311361039708', '0.0167435888449013', '0.016719886378911', '0.0167514476180474', '0.016733504972205', '0.0167560567652923', '0.0167352814925233', '0.016753138644852', '0.0167400480176239', '0.0167452113024184', '0.0167247150176664', '0.0167355227936036', '0.0167245276298426', '0.0167448593832', '0.0167307758098776', '0.0167412056695892', '0.0167255880983649', '0.0167422534013228', '0.0167193516082593', '0.0167385023297925', '0.016705906968094', '0.0167404309936697', '0.0167155682585657', '0.0167350478684115', '0.0167151202027635', '0.0167373663129203', '0.016693902980872', '0.0167265196287105', '0.0167148515088635', '0.0167491921595762', '0.0167138374511057', '0.01672268288919', '0.016713883163964', '0.0167278643195466', '0.016726385107284', '0.0167313726941841', '0.0167074498643005', '0.0167181608057478', '0.0167095725461107', '0.0167157395945461', '0.0167250866527359', '0.0167240209499168', '0.016707788697777', '0.016726686602777', '0.0167067578902697', '0.0167323436562319', '0.0166997167142764', '0.016728047519933', '0.0167000236185428', '0.0167135718977838', '0.0167101554722925', '0.0167162518577217', '0.016698760233783', '0.0167259262339352', '0.0167001843114531', '0.0167124269826071', '0.0166979893963477', '0.0167173175605408', '0.0167030137978017', '0.0167130235179605', '0.0166889363311589', '0.0167049515344599', '0.0166891643720208', '0.0167144257860609', '0.0166950775570635', '0.0167066258115149', '0.0166899927867203', '0.0167204148684066', '0.0166873287041492', '0.0167186125255577', '0.0166735365066795', '0.0167133203025865', '0.0166931954784274', '0.0167035377509067', '0.0166783023338738', '0.0167123730693506', '0.016688532417926', '0.0167097555720206', '0.0166789950058109', '0.0166970927613137', '0.0166853232705863', '0.0166682147971699', '0.0166882733202367', '0.0166994431350328', '0.016669055250752', '0.0167072431095787', '0.0166842073185183', '0.0167115228450812', '0.0166787196818017', '0.0166820776576458', '0.0166828917652676', '0.0166828919397441', '0.0166886184348693', '0.0167101844354013', '0.0166679419158325', '0.0167196613041506', '0.0166913228215255', '0.0166967333396033', '0.0166900756630856', '0.0166983214252384', '0.0166703969754865', '0.0167076025312892', '0.0166881337389899', '0.0167046749891148', '0.0166851051748882', '0.0166903757627661', '0.0166863544270468', '0.0167023502634498', '0.0166933265103228', '0.0166808331163543', '0.0166929039280982', '0.0166964178859856', '0.0166797501403559', '0.0166952298750991', '0.0166972180354827', '0.0166983521331127', '0.0166914643220144', '0.0167088154923236', '0.0166859086394399', '0.0167097267833884', '0.0166896925125632', '0.0167073085382882', '0.0167009005377256', '0.0167047615294878', '0.0166963988680408', '0.0167178228446541', '0.0167224817177181', '0.0167383386707806', '0.0167398232918166', '0.0167536060675521', '0.0167773394158932', '0.016865794494642', '0.0172802874625528'],
|
|
"b1": ['0.0168913253365429', '0.0166791480947141', '0.0169747489414428', '0.0167706507685505', '0.0167499611810745', '0.0168839981052519', '0.0168264213414614', '0.0170086107873105', '0.0168850491418118', '0.0168500119713871', '0.0170821184095186', '0.0168872250545704', '0.0168648846362113', '0.016992469931055', '0.0171467378688764', '0.0169317564663933', '0.0170060449035047', '0.0169903947404513', '0.0169514527972631', '0.016996943775266', '0.0168920295188188', '0.0169695187209796', '0.0169094752244822', '0.0170826763090113', '0.0170169785814538', '0.0170845636711249', '0.0169070530050327', '0.0170568509390025', '0.0169742290964211', '0.0169703541737244', '0.016693127352278', '0.0167815989351284', '0.016990941642551', '0.0169070091900225', '0.016947108477903', '0.0168397329001644', '0.0169154708984108', '0.0170660484253514', '0.0169203949374878', '0.0169889800916751', '0.0168200981896078', '0.0166983649043365', '0.0169160836103067', '0.0169049146230597', '0.0172020140827875', '0.0172544859614827', '0.0168596984053201', '0.0170316986792703', '0.0167926783721753', '0.0169303102219324', '0.0169470697251848', '0.0169785680043656', '0.0169713491759485', '0.0168609210361233', '0.016910657531511', '0.0168641905785195', '0.0169026608557411', '0.017002157237797', '0.017056576353301', '0.0168407017181195', '0.0171230816037162', '0.0170056650570416', '0.0169474424146144', '0.0169244955685839', '0.0171115600016459', '0.0168694972570483', '0.0167703526170068', '0.0170216701042216', '0.016901836749513', '0.0170673187115242', '0.0170244000761134', '0.0168948935541682', '0.0167532385787514', '0.0169219944472036', '0.0167925835851213', '0.0168808996334135', '0.0168016955361912', '0.0170095228726826', '0.0168141370789144', '0.016859864413586', '0.0169525347312605', '0.0169839569014993', '0.0168162084291586', '0.0169273999277077', '0.0169807152889901', '0.0170102816927999', '0.0169689170064767', '0.0170848820718366', '0.0171890165607514', '0.0172478463290971', '0.0171135568140042', '0.016861817410934', '0.0170351581448981', '0.0171095326409737', '0.0169284916371655', '0.0167662697912137', '0.0169589875825269', '0.0169346709501011', '0.0170533392793984', '0.0170522329067499', '0.016856227418614', '0.0169100022265374', '0.0168937077559035', '0.0171910392082551', '0.0169340819786091', '0.0172338230819611', '0.0170901543616921', '0.0167868528959956', '0.0171335879543943', '0.0171073040105534', '0.0169701885145821', '0.0170029078535099', '0.0169215596137755', '0.0169346131701474', '0.0169591706978485', '0.0169375894487302', '0.0168295302870074', '0.016924547064313', '0.0169383559495664', '0.0167915482591228', '0.0170090248478852', '0.0169868139543769', '0.0168841494503271', '0.0172432628600796', '0.0172512663437595', '0.0166901924448404', '0.0170508184325355', '0.0169314384148052', '0.0170312671625162', '0.0167689058488605', '0.0171305203799934', '0.0168542409054016', '0.0171618674886609', '0.0170515112682947', '0.0172975114287112', '0.0169936038844669', '0.0169549054549809', '0.0169298114988878', '0.0170253563256194', '0.0168266819622194', '0.0170997161585044', '0.0168946802396562', '0.016992920125921', '0.016921162311133', '0.0169877344187152', '0.0169613225210795', '0.0170480064166006', '0.0169424862561673', '0.0169208393718146', '0.0171000242600703', '0.0170023016004004', '0.0168152008584853', '0.0168970548037361', '0.0170935871193654', '0.0170835660504739', '0.0168896237081778', '0.0169240319324598', '0.0171229468420115', '0.0169091491430516', '0.0171242712423403', '0.0169583039985427', '0.016980123873633', '0.0168419522788097', '0.0168699013676008', '0.0170141937971587', '0.0168653728855483', '0.0170303089928306', '0.0169958541605496', '0.0169007481821674', '0.0168055502097199', '0.016751384907064', '0.0170459629962434', '0.0171742067381729', '0.017009789952227', '0.017035314726827', '0.0170120934696568', '0.0168354903503301', '0.0170146720964735', '0.0168405631160553', '0.0169598953038541', '0.0170114023795155', '0.0169785282042766', '0.0170050780057293', '0.0167849335890737', '0.0170350095928116', '0.0167703564573663', '0.0168229929478329', '0.0170766078428147', '0.0169629183649976', '0.0170641607141142', '0.0169760169583123', '0.0169847640752334', '0.017033343924176', '0.0169504539546795', '0.0168980927481615', '0.0170428481155964', '0.0169532237266603', '0.0169255748841544', '0.0170238355432726', '0.017064109218385', '0.0168959845653789', '0.016870468169745', '0.0172003683141964', '0.0169669170520062', '0.0170209620815863', '0.0171222604650386', '0.0171542234277143', '0.0169524532109029', '0.017089563819144', '0.0169282528366317', '0.017089845561879', '0.0170309442231979', '0.0171422081648913', '0.0169198881846007', '0.0169923559422037', '0.0170145441426787', '0.0167905391173934', '0.0169942132796888', '0.0170522837042319', '0.016866790501875', '0.0168580034103032', '0.0170697227765472', '0.0168474858876703', '0.0171097497958451', '0.0168593377606543', '0.0169034298004424', '0.0170586911694318', '0.016946299558551', '0.016882736372607', '0.0172839598475418', '0.0170588570031359', '0.0169339589125446', '0.0171035821785497', '0.01705823067542', '0.0169105737418501', '0.0171094713697842', '0.0168824476474002', '0.0169520237888903', '0.0171060674148068', '0.0170696843729526', '0.0168485220864778', '0.0170749217504493', '0.0168917989226893', '0.0169097503338691', '0.0168361954054149', '0.016864311200719', '0.0169334457008711', '0.0173226382024216', '0.017014697931619', '0.0171750945594558', '0.0171205895595492', '0.0170395124142804', '0.017286882535654', '0.017103441481744', '0.0182295080172893'],
|
|
"cal": ['+NAN', '+NAN', '+NAN', '+NAN', '0.63607834406219', '0.718127096538326', '0.812216798598817', '0.914442457893824', '1.03343454996493', '1.15933885373154', '1.29479643420084', '1.43677001665361', '1.56848190839848', '1.67447970580786', '1.73889146263122', '1.73244260903254', '1.69192414835577', '1.61622082709111', '1.5270353751059', '1.46047364317447', '1.41296265347303', '1.39311700938614', '1.39852760194912', '1.42554260762195', '1.4700968507055', '1.53635620441153', '1.62082921439482', '1.7237742274692', '1.84755749123585', '1.98432162640748', '2.12689147788928', '2.27366206436985', '2.41515311346652', '2.54267625633242', '2.65248757975216', '2.73468816910085', '2.77942967914337', '2.79565522877852', '2.77806955157777', '2.73891358506136', '2.69063680629234', '2.6282750012231', '2.56338981635672', '2.49687123158122', '2.4309933291301', '2.36993023507549', '2.32161558853422', '2.28314087424895', '2.25846162084215', '2.24994522727437', '2.25549954861938', '2.27668712518828', '2.30493256690767', '2.33255656715114', '2.35720768052834', '2.37757260164886', '2.40002374613635', '2.42905705371268', '2.4673307146952', '2.51294806887351', '2.56575613007937', '2.62193109349514', '2.67842958533042', '2.73753357518048', '2.7913329207665', '2.8423865946084', '2.89027340109411', '2.93157202353872', '2.96274906831744', '2.98346548286676', '2.98798866816702', '2.97297872291037', '2.93559195933884', '2.87662286787444', '2.80380712732453', '2.72275302648293', '2.6373282860483', '2.55448424591999', '2.47778601018081', '2.40377038673745', '2.33484934711808', '2.2698793292122', '2.20651375086021', '2.14704740380438', '2.08988763493926', '2.0346458333411', '1.98224825426305', '1.93452491480363', '1.89146397238956', '1.8653548650058', '1.84879059497611', '1.8371693859594', '1.83197484046632', '1.83105981302589', '1.83169544364263', '1.83369029033973', '1.82985806236537', '1.81684973319988', '1.7961872241934', '1.76710061502081', '1.73459539138238', '1.70421983997876', '1.67561137148482', '1.65483955955664', '1.64005456402998', '1.63103006074007', '1.62646109446179', '1.62483351776729', '1.61794627041935', '1.60638099649103', '1.59160518167625', '1.57856502215575', '1.56723770329055', '1.55884357172436', '1.55081356970191', '1.5440909800073', '1.53473504989623', '1.52335047710565', '1.51140772671503', '1.49628095199023', '1.48082183121466', '1.4668009209167', '1.45300293604089', '1.43913779397284', '1.42471804569399', '1.41116472805909', '1.39601546893463', '1.3795217760198', '1.36066889187826', '1.3395095955925', '1.31771535033317', '1.29387042583309', '1.26955248066416', '1.24679628762607', '1.22528340309588', '1.20486570624273', '1.18549206002717', '1.16756178865017', '1.15111957559202', '1.13469169498467', '1.11621030173639', '1.09569135455521', '1.07275908862679', '1.04573742076401', '1.01572627731635', '0.98381634710957', '0.950352559222019', '0.915760692099546', '0.881456713194727', '0.848044938315892', '0.816038892625263', '0.785024915273114', '0.754850603543375', '0.725690734641156', '0.697449171016547', '0.669846688269734', '0.643097402076866', '0.615807664216611', '0.589686777991522', '0.563134754809732', '0.537416951715189', '0.512092492411016', '0.487999533569422', '0.464888888064952', '0.442938789447448', '0.422687485052752', '0.403811887358409', '0.386602162003576', '0.370223420179536', '0.355850417036878', '0.342554004485098', '0.330263308885894', '0.318892349787717', '0.308390808825048', '0.29923285616278', '0.290049870831026', '0.280987628676386', '0.272166680353347', '0.263184326446838', '0.254328565772045', '0.245533707259442', '0.236284846332185', '0.227364007848682', '0.218575558150069', '0.209919539318749', '0.201723665364338', '0.193439417628863', '0.185095630044576', '0.176908759167827', '0.168492281717065', '0.15971620196905', '0.151519711134016', '0.143896290701505', '0.137256829327417', '0.131333761731513', '0.125851036682123', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN'],
|
|
"calaq": ['+NAN', '+NAN', '+NAN', '+NAN', '0.356482954042082', '0.402818840212745', '0.455981796582809', '0.513790947820199', '0.581106393394544', '0.652400597895999', '0.729165245163259', '0.809695951374305', '0.88453433247143', '0.944944312747719', '0.981931183530144', '0.97890644433893', '0.956596648488616', '0.914337507780978', '0.864381326448261', '0.827167246646249', '0.800694416668645', '0.78986648983256', '0.793342729280327', '0.809072983311401', '0.834767169405595', '0.872805947088459', '0.921221494674019', '0.980173791184887', '1.05102154902541', '1.12930675423331', '1.21095167248078', '1.29504423201304', '1.3761833690735', '1.44941098633961', '1.51258129060157', '1.56003462286042', '1.58613256964525', '1.59595706282003', '1.58646705138274', '1.56463589386165', '1.53756622064089', '1.50241608927798', '1.4657899060372', '1.42819643066784', '1.39093699353292', '1.35640193401339', '1.3291366616142', '1.3074826757329', '1.29371125003749', '1.28918595210661', '1.29271559006051', '1.30520259911165', '1.32173660739306', '1.33791597187085', '1.35239128956384', '1.36440760724462', '1.37762092569269', '1.39461338947335', '1.4169141265919', '1.44343724653861', '1.47409755299312', '1.50670023106802', '1.53949706626466', '1.57379985877493', '1.60506087092559', '1.63474977349559', '1.66262314886676', '1.6867112751644', '1.70497845407306', '1.71722612221823', '1.72015067971529', '1.71182391495322', '1.69060216043102', '1.65693636912006', '1.615276853664', '1.56885138733016', '1.51988696317221', '1.47238950135993', '1.42841545003656', '1.38597016134539', '1.34644570226061', '1.30918427370975', '1.272833651334', '1.23871854263795', '1.20592126590957', '1.17421842576069', '1.14414540628486', '1.11675959841052', '1.09205554594672', '1.07713100431408', '1.06771250877206', '1.06114445201819', '1.05828511190168', '1.05789551638809', '1.05839987869692', '1.05968794981088', '1.05760658826783', '1.05021868492741', '1.03840218029399', '1.02171038385539', '1.00303608270452', '0.985587384786529', '0.969155119807841', '0.957250725878805', '0.948805673627153', '0.943690255948233', '0.94115052725798', '0.940311121408207', '0.936426058319819', '0.929831072715321', '0.92137487467603', '0.913920568414937', '0.907455306712896', '0.902686110798026', '0.898125710110949', '0.894320543495939', '0.888988205031672', '0.882478589132188', '0.875643320641074', '0.866960905236801', '0.85808331524723', '0.850036611133456', '0.842116721554211', '0.834155584125161', '0.825870667226897', '0.818085734330888', '0.80937333573889', '0.799879100950076', '0.789014440994224', '0.776809660553211', '0.764233867550572', '0.750465870807386', '0.736420569195548', '0.723278335744868', '0.710854686038585', '0.699063893618938', '0.687876475273581', '0.67752433279025', '0.668033624297236', '0.658549260619002', '0.647871055584177', '0.636008041103345', '0.622741859229467', '0.607099198838907', '0.589718195082128', '0.571231808679594', '0.551840143680759', '0.531790313016104', '0.511904550502093', '0.492533916324242', '0.473976829140493', '0.455993213863435', '0.438494694002521', '0.421582939065556', '0.405202246583534', '0.389190520866554', '0.373672278430399', '0.357837814065771', '0.342680416381626', '0.327270394695731', '0.312343150425572', '0.297642550528398', '0.283655852976372', '0.270238359496543', '0.257493807901754', '0.245735256551437', '0.234775054990433', '0.224782070488707', '0.21527102824311', '0.206925139776841', '0.19920428909151', '0.192067375381572', '0.18546450086342', '0.17936649692309', '0.1740492565549', '0.168716810424925', '0.163453964529452', '0.158330867670766', '0.153113270397234', '0.147968724530474', '0.142859028020375', '0.137484591721589', '0.132300435162079', '0.12719275157505', '0.122161584010771', '0.117397671330868', '0.112581820604776', '0.107730813198643', '0.102970640334024', '0.0980763328283588', '0.0929722067690889', '0.0882049761452578', '0.0837708982222196', '0.0799092380316381', '0.0764642971780796', '0.0732754076052096', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN'],
|
|
'SAMSN': '85C2', 'DarkPixelStart': '237', 'DarkPixelStop': '254',
|
|
'Firmware': '2.06', 'IDDataBack': 'DLAB_2018-07-02_16-15-52_275_586',
|
|
'IDDataCal': 'DLAB_2018-07-03_17-15-16_983_888', 'IDDataCalAQ': 'DLAB_2018-07-03_17-15-53_767_889',
|
|
'IntegrationTime': '0', 'Reverse': '0', 'SerialNo_MMS': '',
|
|
'c0s': '297.806', 'c1s': '3.3369', 'c2s': '0.000302696', 'c3s': '-1.83769e-06', 'c4s': '+0.000000000E+00'
|
|
|
|
}
|
|
|
|
class Ramses84E3(object):
|
|
def __init__(self,):
|
|
self.info_query = "23 00 00 80 b0 00 00 01"
|
|
self.it_query = "23 00 00 00 78 05 00 01"
|
|
self.cmd = "23 00 00 00 a8 00 81 01"
|
|
self.data_84E3 = "\
|
|
23 a0 00 00 07 fe fe 0b 09 5b 09 4e 09 55 09 54 09 4a 09 4d 09 49 09 4e 09 3b 09 3f 09 46 09 41 09 3a 09 41 09 4b 09 46 09 4c 09 51 09 4c 09 51 09 43 09 4d 09 4a 09 57 09 4f 09 53 09 4a 09 52 09 56 09 76 09 78 09 c1 \
|
|
23 a0 00 00 06 fe fe 86 09 8c 09 91 09 9e 09 ad 09 bf 09 e6 09 2f 0a 77 0a 62 0a 20 0a 04 0a 00 0a 04 0a 07 0a f4 09 f1 09 e2 09 ee 09 de 09 e7 09 ed 09 0b 0a 26 0a 31 0a 2d 0a 2c 0a 1f 0a 12 0a 23 0a 32 0a 44 0a 97 \
|
|
23 a0 00 00 05 fe fe 57 0a 6d 0a 76 0a 86 0a b6 0a 08 0b 16 0c 0f 0e 27 10 7d 10 05 0f 0f 0d c9 0b 0e 0b bf 0a 90 0a 89 0a b1 0a 14 0b 8f 0b 18 0c 65 0c 84 0c 7e 0c 8d 0c a3 0c 2f 0d 55 0f 44 12 4e 13 0c 12 47 10 36 \
|
|
23 a0 00 00 04 fe fe 31 0f a2 0e 18 0e 64 0d a2 0c 18 0c d8 0b bf 0b c4 0b b3 0b b1 0b a8 0b a1 0b a7 0b 93 0b 7b 0b 78 0b 6a 0b 5b 0b 46 0b 23 0b f9 0a ea 0a ec 0a 33 0b 98 0b c0 0b 61 0b e6 0a 80 0a 4c 0a 4a 0a e9 \
|
|
23 a0 00 00 03 fe fe 53 0a 7c 0a 93 0a c6 0a d1 0a ec 0a e0 0a e0 0a a0 0a 53 0a 35 0a 4c 0a 68 0a 8f 0a 86 0a 7b 0a 6b 0a 53 0a 34 0a 26 0a 14 0a 02 0a 03 0a f8 09 dd 09 c5 09 aa 09 98 09 90 09 8d 09 95 09 90 09 c1 \
|
|
23 a0 00 00 02 fe fe 9a 09 8e 09 93 09 8a 09 87 09 85 09 7b 09 7f 09 7b 09 70 09 6b 09 64 09 6e 09 76 09 6c 09 64 09 5f 09 58 09 54 09 3e 09 49 09 45 09 43 09 3f 09 35 09 40 09 36 09 36 09 41 09 34 09 3a 09 37 09 8a \
|
|
23 a0 00 00 01 fe fe 2e 09 35 09 34 09 33 09 39 09 2e 09 36 09 3f 09 42 09 38 09 35 09 43 09 3a 09 3e 09 43 09 40 09 3c 09 45 09 42 09 46 09 43 09 43 09 3f 09 47 09 46 09 35 09 44 09 44 09 3d 09 3c 09 47 09 3c 09 83 \
|
|
23 a0 00 00 00 fe fe 4d 09 37 09 43 09 43 09 44 09 45 09 55 09 49 09 41 09 4e 09 52 09 43 09 51 09 46 09 4b 09 58 09 54 09 4a 09 55 09 56 09 55 09 56 09 57 09 5d 09 74 09 66 09 72 09 71 09 69 09 73 09 5c 09 57 09 8a \
|
|
"
|
|
self.data_after_remove_maske = None
|
|
self.data_Int_from_Hex = ['1071', '1063', '1071', '1077', '1088', '1074', '1095', '1087', '1084', '1092', '1104', '1105', '1120', '1125', '1147', '1151', '1177', '1226', '1265', '1315', '1372', '1437', '1482', '1535', '1622', '1692', '1788', '2013', '2288', '2491', '2655', '2856', '3104', '3370', '3638', '3930', '4189', '4654', '5403', '6289', '7340', '8569', '9914', '11161', '12215', '13173', '13979', '14561', '15060', '15681', '16374', '16988', '17143', '16821', '16655', '16967', '17311', '17555', '17890', '18555', '19417', '20047', '20491', '21322', '22746', '24295', '25720', '27012', '27888', '28435', '28942', '29580', '30304', '30959', '31469', '31888', '32335', '32802', '33147', '33387', '33547', '33568', '33407', '32702', '31863', '31286', '30747', '29968', '29142', '28396', '27669', '26835', '26082', '25484', '24838', '24022', '23125', '22238', '21414', '20520', '19452', '18259', '16946', '15584', '14363', '13408', '12685', '11894', '11122', '10486', '10010', '9701', '9450', '9178', '9124', '9413', '9648', '9523', '9192', '8731', '8208', '7594', '6898', '6240', '5666', '5174', '4696', '4250', '3862', '3557', '3342', '3179', '3009', '2821', '2550', '2194', '1903', '1858', '1913', '1919', '1877', '1803', '1736', '1669', '1631', '1587', '1551', '1521', '1508', '1492', '1475', '1461', '1448', '1413', '1390', '1369', '1337', '1310', '1278', '1250', '1223', '1201', '1174', '1161', '1139', '1128', '1115', '1102', '1099', '1083', '1081', '1088', '1086', '1070', '1069', '1070', '1080', '1065', '1062', '1062', '1074', '1065', '1072', '1069', '1068', '1062', '1061', '1060', '1073', '1062', '1059', '1062', '1066', '1068', '1067', '1065', '1057', '1074', '1071', '1063', '1066', '1070', '1076', '1061', '1060', '1078', '1072', '1070', '1064', '1067', '1063', '1060', '1060', '1070', '1072', '1068', '1063', '1060', '1056', '1064', '1073', '1066', '1063', '1065', '1074', '1067', '1064', '1056', '1066', '1074', '1059', '1051', '1068', '1075', '1064', '1055', '1063', '1063', '1066', '1054', '1065', '1066', '1063', '1067', '1054', '1066', '1068', '1054', '1065', '1062', '1065', '1063', '1060', '1062', '1075']
|
|
self.data_after_cal = ['0', '0', '0', '0.124526478', '0.157412431', '0.092895622', '0.167744487', '0.128093362', '0.113968791', '0.154444207', '0.199581385', '0.205832307', '0.25704387', '0.270830884', '0.338217342', '0.336153666', '0.397413212', '0.511748615', '0.578090528', '0.659821364', '0.750696308', '0.866502795', '0.951346189', '1.073382306', '1.285688726', '1.476540058', '1.743509541', '2.330391195', '3.046845947', '3.591693153', '3.994331108', '4.46749356', '5.014547056', '5.521300187', '5.95831414', '6.397712895', '6.665276371', '7.289101663', '8.355524154', '9.518417328', '10.85890802', '12.41173719', '14.08630698', '15.58997594', '16.87781356', '18.10433245', '19.22166567', '20.15471924', '21.09180847', '22.33531006', '23.8187468', '25.31077164', '26.22626878', '26.54265211', '27.18468775', '28.72124715', '30.31750233', '31.61313571', '32.9308159', '34.83542197', '36.95958937', '38.45546729', '39.36023059', '40.77611233', '43.13421783', '45.46632848', '47.42624024', '49.22424277', '50.45773633', '51.30331943', '52.19141902', '53.3363541', '54.56144854', '55.56301145', '56.09389652', '56.45507036', '56.82904626', '57.26058922', '57.48554173', '57.62559378', '57.78838419', '58.01368688', '58.29402673', '57.7892823', '56.85210568', '56.27511292', '55.75922293', '54.8295175', '53.84579782', '52.92556236', '52.05050607', '50.89985192', '49.84442947', '49.03208487', '48.14573791', '46.99344791', '45.84810366', '44.97065059', '44.41988361', '43.85803743', '42.85835026', '41.54330784', '39.99519331', '38.16884672', '36.27342661', '34.72131104', '33.5118753', '31.94820595', '30.32230688', '29.03069977', '28.12727947', '27.70856185', '27.43275317', '27.03220618', '27.33518103', '28.80779039', '30.13651645', '30.24030794', '29.54266093', '28.31191749', '26.77861584', '24.78883775', '22.3960752', '20.03505913', '17.88848349', '15.99281596', '14.1219393', '12.36030317', '10.83796167', '9.665067907', '8.841065457', '8.260275977', '7.660422496', '6.985974785', '5.983420516', '4.612555146', '3.468914824', '3.332243212', '3.603450434', '3.675679219', '3.529698642', '3.250432296', '3.003522065', '2.758414688', '2.6423368', '2.499438861', '2.387826686', '2.313519168', '2.319797971', '2.30774497', '2.279745038', '2.281881571', '2.265949663', '2.131256066', '2.048737483', '1.979152204', '1.824286632', '1.695587713', '1.524274134', '1.379639674', '1.22298101', '1.107242507', '0.921760421', '0.861168168', '0.708423326', '0.626651836', '0.52567069', '0.434994003', '0.405518501', '0.244042907', '0.227148995', '0.324919136', '0.30566744', '0.12492708', '0.106633346', '0.15529585', '0.283139418', '0.073036783', '0.018901459', '0.007085761', '0.232240832', '0.090940598', '0.197714383', '0.16193436', '0.149341831', '0.040626369', '0.004003346', '0.015759598', '0.288237531', '0.048091915', '-0.042272107', '0.07263876', '0.178096153', '0.26788475', '0.257275187', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
|
|
self.wavelength = ['308.197687', '311.5070013', '314.817279', '318.1285072', '321.4406729', '324.7537633', '328.0677654', '331.3826663', '334.6984531', '338.0151129', '341.3326328', '344.6509999', '347.9702012', '351.2902239', '354.6110551', '357.9326818', '361.2550911', '364.5782701', '367.902206', '371.2268858', '374.5522965', '377.8784253', '381.2052594', '384.5327856', '387.8609913', '391.1898633', '394.5193889', '397.8495552', '401.1803491', '404.5117579', '407.8437685', '411.1763681', '414.5095438', '417.8432827', '421.1775719', '424.5123983', '427.8477493', '431.1836117', '434.5199728', '437.8568196', '441.1941392', '444.5319186', '447.8701451', '451.2088056', '454.5478873', '457.8873773', '461.2272625', '464.5675303', '467.9081675', '471.2491614', '474.5904989', '477.9321673', '481.2741535', '484.6164447', '487.959028', '491.3018904', '494.6450191', '497.9884012', '501.3320236', '504.6758736', '508.0199381', '511.3642044', '514.7086595', '518.0532904', '521.3980843', '524.7430283', '528.0881094', '531.4333148', '534.7786315', '538.1240466', '541.4695473', '544.8151205', '548.1607534', '551.5064331', '554.8521467', '558.1978813', '561.5436239', '564.8893616', '568.2350816', '571.5807709', '574.9264166', '578.2720059', '581.6175257', '584.9629632', '588.3083055', '591.6535397', '594.9986528', '598.343632', '601.6884643', '605.0331368', '608.3776367', '611.721951', '615.0660668', '618.4099711', '621.7536512', '625.097094', '628.4402867', '631.7832163', '635.12587', '638.4682348', '641.8102979', '645.1520462', '648.493467', '651.8345472', '655.1752741', '658.5156346', '661.8556159', '665.195205', '668.5343891', '671.8731552', '675.2114905', '678.549382', '681.8868167', '685.2237819', '688.5602646', '691.8962519', '695.2317308', '698.5666885', '701.901112', '705.2349885', '708.568305', '711.9010486', '715.2332065', '718.5647656', '721.8957132', '725.2260362', '728.5557218', '731.8847571', '735.2131291', '738.540825', '741.8678318', '745.1941366', '748.5197266', '751.8445887', '755.1687102', '758.492078', '761.8146794', '765.1365012', '768.4575308', '771.7777551', '775.0971612', '778.4157363', '781.7334674', '785.0503416', '788.366346', '791.6814677', '794.9956938', '798.3090114', '801.6214075', '804.9328693', '808.2433838', '811.5529381', '814.8615194', '818.1691147', '821.4757111', '824.7812957', '828.0858556', '831.3893779', '834.6918496', '837.9932579', '841.2935898', '844.5928325', '847.890973', '851.1879984', '854.4838959', '857.7786524', '861.0722551', '864.3646911', '867.6559475', '870.9460113', '874.2348697', '877.5225098', '880.8089185', '884.0940831', '887.3779906', '890.6606281', '893.9419827', '897.2220415', '900.5007916', '903.77822', '907.0543139', '910.3290604', '913.6024464', '916.8744592', '920.1450858', '923.4143134', '926.6821289', '929.9485195', '933.2134723', '936.4769744', '939.7390128', '942.9995747', '946.2586471', '949.5162171', '952.7722719', '956.0267985', '959.279784', '962.5312154', '965.78108', '969.0293647', '972.2760567', '975.5211431', '978.7646109', '982.0064472', '985.2466392', '988.4851739', '991.7220383', '994.9572197', '998.1907051', '1001.422482', '1004.652536', '1007.880856', '1011.107428', '1014.33224', '1017.555278', '1020.77653', '1023.995982', '1027.213623', '1030.429438', '1033.643415', '1036.855541', '1040.065804', '1043.27419', '1046.480686', '1049.685279', '1052.887957', '1056.088707', '1059.287515', '1062.484369', '1065.679256', '1068.872163', '1072.063077', '1075.251985', '1078.438875', '1081.623733', '1084.806546', '1087.987301', '1091.165987', '1094.342589', '1097.517095', '1100.689491', '1103.859766', '1107.027906', '1110.193898', '1113.357729', '1116.519386', '1119.678857', '1122.836128', '1125.991188', '1129.144021', '1132.294617', '1135.442961', '1138.589041', '1141.732845', '1144.874358']
|
|
|
|
self.calcfg = {
|
|
'SN': '84E3', 'FUNC': 'Lsky', 'TYPE': 'SAM', 'samsn': '84E3',
|
|
'inifile': 'SAM_84E3.ini', 'calfile': 'Cal_SAM_84E3.dat', 'calaqfile': 'CalAQ_SAM_84E3.dat', 'backfile': 'Back_SAM_84E3.dat',
|
|
|
|
"b0": ['0.0171524736127934', '0.0169729054794042', '0.017003727635839', '0.0170695726463301', '0.0170653447303655', '0.0170193989458433', '0.0170320854853621', '0.0170469364065886', '0.0170659149197585', '0.0170399118058684', '0.0170563323182148', '0.0170509619297453', '0.0170678475965966', '0.0170598881504762', '0.0170613214754039', '0.0170513642726892', '0.0170667717741371', '0.0170595112811099', '0.0170513346116742', '0.0170491232957723', '0.0170667096604823', '0.0170706432344928', '0.017058320653075', '0.0170696532545001', '0.0170811974959906', '0.0170621523327753', '0.0170640600594655', '0.017070867611347', '0.0170754767585918', '0.017069294879649', '0.0170729426610567', '0.017074107466561', '0.0170877044247618', '0.0170758640965516', '0.0170604832900171', '0.0170806759855574', '0.017089665890232', '0.0170798903176146', '0.0170841693552109', '0.017092654848155', '0.0170946728440302', '0.0170757669131085', '0.0170889911893805', '0.0170832369524824', '0.0170840817679785', '0.0170759771573615', '0.0170830678846973', '0.0170777049987199', '0.0171084168859697', '0.0170882529790616', '0.0171123239395433', '0.0170939866277257', '0.0170998516572384', '0.0170905033777126', '0.0171027270309218', '0.0170969108548455', '0.0171141360530795', '0.0170972355557208', '0.0171029876989001', '0.0171053047475965', '0.0171094628729377', '0.0170810994401647', '0.0171084200265478', '0.0171150454249022', '0.0171210906886997', '0.0171272882705328', '0.0171141688546725', '0.0171121874988746', '0.0171186884954429', '0.0171187928324248', '0.0171298365006691', '0.0171111783264605', '0.0171263905886395', '0.0171206745621078', '0.0171334207726096', '0.0171212307933762', '0.0171378889427952', '0.0171146069653108', '0.0171255129715505', '0.0171276640930397', '0.0171273163612587', '0.0171315687039415', '0.0171297501347727', '0.0171235591830488', '0.0171302657130029', '0.0171311665354743', '0.0171360356527912', '0.0171409462955291', '0.0171414943263992', '0.0171301652145052', '0.0171244076625526', '0.0171338147406786', '0.0171362905630431', '0.0171358083098355', '0.017137519924874', '0.0171271326374427', '0.0171315273529971', '0.0171337154635168', '0.0171407193015265', '0.0171400468688702', '0.0171482919331168', '0.0171431989623753', '0.0171458339073612', '0.017132015014978', '0.0171527691760834', '0.0171277710471701', '0.0171547269775459', '0.017158141483795', '0.0171534255568964', '0.0171328275523108', '0.0171536197493059', '0.0171184007835979', '0.0171458239621974', '0.0171383052438637', '0.0171520901133179', '0.0171439675316154', '0.0171437932295335', '0.0171447476163082', '0.017140740064237', '0.0171355132699752', '0.0171520452728424', '0.0171420261309494', '0.0171438279503686', '0.0171496511055072', '0.0171565882934716', '0.0171346735142993', '0.0171619197736684', '0.0171491540217921', '0.0171630308403927', '0.0171445757568982', '0.0171637889410392', '0.0171468333090881', '0.0171443527758564', '0.0171494316139967', '0.0171595434029422', '0.0171527368979201', '0.017162185501467', '0.0171493333836942', '0.0171526311651257', '0.0171409471679119', '0.0171570553672186', '0.0171547421570065', '0.0171493576359359', '0.0171382602289116', '0.0171565108258796', '0.017153291733376', '0.0171655926797006', '0.017149073064669', '0.0171466214945461', '0.0171432602036474', '0.0171616906859472', '0.0171373684792213', '0.0171627010796972', '0.017146152501557', '0.0171589027250196', '0.0171497714943325', '0.0171619550179333', '0.0171553168827901', '0.0171558486873403', '0.0171456477408733', '0.0171572424060892', '0.0171408923822725', '0.0171569543452912', '0.0171343913857043', '0.0171329142671603', '0.0171495472919549', '0.0171548888917922', '0.0171298598805279', '0.0171540397143822', '0.0171536071869937', '0.0171651762041556', '0.0171529839567269', '0.0171594987369433', '0.0171419080103193', '0.0171587812893349', '0.0171317138684381', '0.0171504835331676', '0.0171427348547298', '0.0171550940762249', '0.0171617489611177', '0.0171508762799007', '0.0171397814900248', '0.0171580889663509', '0.0171526578600391', '0.0171468507567439', '0.0171390406625576', '0.0171508518531825', '0.0171300591327577', '0.0171611231137025', '0.0171411160612204', '0.0171424082346124', '0.0171263422586328', '0.0171442316891249', '0.0171476978404352', '0.0171397846306028', '0.0171527892408877', '0.0171411041968145', '0.0171414402386661', '0.0171516849787492', '0.0171325307676848', '0.0171625281734278', '0.0171411547950164', '0.0171581632933648', '0.017150874186182', '0.0171479984635455', '0.0171479886928582', '0.0171601519771781', '0.017155871718246', '0.0171668705460148', '0.0171424003831673', '0.0171666391900982', '0.017141074361323', '0.0171521012798177', '0.0171395471680068', '0.0171663314134491', '0.0171485358513455', '0.0171583056662365', '0.0171477318633641', '0.0171473680797397', '0.0171473804675754', '0.0171429231149364', '0.0171509984134916', '0.0171517971671763', '0.017154382386343', '0.0171593021018619', '0.0171429700491306', '0.0171757461685436', '0.0171449920579666', '0.0171568372715205', '0.0171494488871759', '0.0171710209943874', '0.0171556122716036', '0.0171638484375457', '0.0171605419322863', '0.0171574313642021', '0.0171396987881361', '0.0171671029487906', '0.017155503049278', '0.0171715726892653', '0.0171487262052708', '0.017168583033436', '0.0171504359010672', '0.0171735758546329', '0.0171630805662119', '0.0171668599029447', '0.0171625787716298', '0.0171805065869647', '0.0171624315134144', '0.0171885227379666', '0.0171774856998315', '0.0171981526226576', '0.0172034085545047', '0.0172264216636125', '0.017299763757344', '0.0177729417412163'],
|
|
"b1": ['0.0218650527298769','0.0217163644852297', '0.0219620520054736', '0.0216829933325641', '0.0216913569372244', '0.0217075260724905', '0.0217224790357398', '0.0217613199076495', '0.0217013024208593', '0.0216067686560369', '0.0216197481982083', '0.0217408713900106', '0.0217678148283081', '0.0218372825669243', '0.022044780505311', '0.0217536182413109', '0.0215783280012347', '0.0217841808692774', '0.0215688386475668', '0.0216952695652687', '0.0218576247764309', '0.0217160563836638', '0.0217562555208903', '0.0218147337217835', '0.0219386277329374', '0.0219201838829375', '0.0219335382092799', '0.0218548019376648', '0.0217973974663647', '0.0218100903780708', '0.0220056214072514', '0.02213115472821', '0.0217639678354983', '0.0218055386792998', '0.0217429505955354', '0.0218890261738162', '0.0219160373420896', '0.0218222945167545', '0.0221520932408038', '0.0218650138025968', '0.0220240944090709', '0.0219955308627659', '0.0218681217007721', '0.021856071001905', '0.0219355098847399', '0.0218310107362381', '0.0219390348110403', '0.0219808805896669', '0.0219529850913465', '0.0220642144698049', '0.0217668632919705', '0.0219677181067357', '0.0221350308728393', '0.0219640697652472', '0.0219430883104521', '0.0219794270136107', '0.0218614188770172', '0.0219844409520115', '0.0218820161213043', '0.0218965906345848', '0.0221246713286298', '0.0219883687669317', '0.0218918846231882', '0.0214716573040191', '0.0217801097391245', '0.0219723872855939', '0.0221368086101465', '0.0222731127429007', '0.0218847874643413', '0.0218034901966506', '0.021941480596332', '0.0221153336691606', '0.0219345588720878', '0.0219173168800375', '0.021803756403386', '0.0220705391927146', '0.0219978919855877', '0.0217999411808226', '0.0217696070542441', '0.0219119560873527', '0.0217096855764405', '0.0219157379686134', '0.0217372878109475', '0.0219723986321105', '0.0218403873229873', '0.0216949834584888', '0.0218789815390825', '0.0217715054137507', '0.0219028724152933', '0.0217384446319544', '0.0219659232623728', '0.0219759392689724', '0.0218332391920966', '0.0220265150574643', '0.0218969961416316', '0.0219702834668561', '0.0219963420514213', '0.0218377252556332', '0.0220526167587925', '0.0219703265836192', '0.0220217556301587', '0.0218802956402655', '0.0219762913601102', '0.0218717058035206', '0.0218322211477157', '0.0216083119568551', '0.0216713682153502', '0.0217206183815806', '0.0217448484313567', '0.0220497778603414', '0.0217961439381241', '0.0218889079954818', '0.0219515927864799', '0.0219522817818796', '0.02206869163069', '0.0217439805101183', '0.021909059234386', '0.0216562005410946', '0.0219312106023226', '0.0218952262596052', '0.021768626366087', '0.021958085612397', '0.0219678347140139', '0.0218550868225121', '0.0218665227147417', '0.0217747030366879', '0.0217601400444858', '0.0218786863550893', '0.0219578263881333', '0.0218737308948894', '0.0221231393743282', '0.0220320834041218', '0.0218571017892969', '0.0219195224683011', '0.0218292298568187', '0.0217142611901772', '0.0219404133255252', '0.021699239624143', '0.0219778173793109', '0.0216798969554673', '0.0218041331077368', '0.0216521180644251', '0.0217123308858624', '0.0220615508313946', '0.0216336073572582', '0.0217396421258592', '0.0218637957104004', '0.0218080157111525', '0.0217433972991656', '0.0218452720856607', '0.0218265896096888', '0.0218061098454888', '0.0220167965041612', '0.0219422521594602', '0.0217799856256892', '0.0218613951366133', '0.0217778811087042', '0.0220837500292626', '0.0220798056309719', '0.0219525780132436', '0.0217753583416615', '0.0217005371419557', '0.0218252821418539', '0.0219342893486783', '0.0217444481611637', '0.0218190172936394', '0.0218279759794544', '0.0217818794465892', '0.0218001094583918', '0.0218907435127427', '0.0217128519528166', '0.0219701181568374', '0.0220606268758205', '0.0219794228241276', '0.0217803679160174', '0.0215983151520529', '0.021849742264074', '0.0218195666396042', '0.0217131275858889', '0.0218717476983511', '0.0217251964391825', '0.0217871869979269', '0.0219606892015502', '0.0217733344722252', '0.0219498340764082', '0.021889801402742', '0.0218552303123065', '0.0217968613870962', '0.0219024892521561', '0.0218679150196083', '0.0219567428830797', '0.0220476810240753', '0.0218956464298427', '0.0216180072934396', '0.0217222699107109', '0.0221192009111384', '0.0217917132106761', '0.0217851524802212', '0.0219958637521065', '0.0219061042523421', '0.0219900747593417', '0.021894205073112', '0.021767131942571', '0.0219074630413443', '0.0218370168838743', '0.0220060098072424', '0.0217051712338933', '0.02185150917855', '0.0219527810286097', '0.0218480556480232', '0.0217587713054613', '0.0219027235140833', '0.0217622850598069', '0.0218928145138633', '0.0218022330026123', '0.0218540024446496', '0.0216586997422952', '0.021700644322897', '0.021891662231463', '0.0218295058390145', '0.0218499360276651', '0.0220816603500301', '0.0219536004216693', '0.0216713439512608', '0.021893905525074', '0.0220383421426736', '0.0218455599380585', '0.0218548370245853', '0.0219515648565929', '0.0219374613110318', '0.0218326797215478', '0.0220623702244543', '0.021868679425703', '0.0216464928106227', '0.0216387429652291', '0.0216106243769364', '0.0216601603008231', '0.0218908702446049', '0.0216682184223444', '0.0215713860278224', '0.0216009344517675', '0.0216937850917749', '0.0218236456250378', '0.0217702648030828', '0.0216418437063708', '0.0218416239187339', '0.0218666396711435', '0.0216781757761813', '0.0217497942906579', '0.0216966506981805', '0.0216371347274237', '0.0219046580078812', '0.021547387272423', '0.0217898003625406', '0.0234579390475124'],
|
|
"cal": ['+NAN', '+NAN', '+NAN', '0.0856984615434185', '0.102722719497288', '0.116129124423835', '0.122931179530873', '0.126475310394687', '0.124494492036215', '0.123160525582801', '0.121967578354153', '0.120882267927115', '0.123086078167351', '0.126518805192916', '0.132323749716293', '0.140760429795789', '0.150208622043398', '0.163454316630823', '0.178463009212756', '0.1932743440142', '0.205987263676649', '0.215104139315375', '0.219389592681559', '0.218164237821863', '0.214796501065329', '0.21060690930009', '0.205201545125586', '0.200608681087391', '0.197478316542278', '0.195170832286292', '0.19546722785733', '0.196697328993289', '0.199374284727889', '0.204660824136072', '0.211705855481629', '0.21932807459082', '0.229450371018024', '0.241018855906113', '0.25397239158187', '0.268396698398822', '0.282503502801444', '0.295560553875446', '0.307026707475355', '0.316483147141842', '0.322821107559973', '0.326809005794211', '0.328269399869299', '0.327178878835099', '0.324149521414206', '0.319702789097048', '0.313978402520469', '0.307330309149164', '0.29947443505298', '0.289998834356583', '0.280154480370137', '0.270475995880695', '0.261761208188211', '0.254815161374031', '0.249583896529849', '0.24525681421245', '0.242539716623981', '0.241131750550181', '0.241077260327955', '0.242662483396638', '0.245504715798072', '0.249539007561731', '0.253903518897602', '0.257443988436811', '0.259631278252238', '0.260559718293713', '0.260859920977723', '0.261108976709407', '0.261719881447421', '0.262761947485516', '0.264709334453111', '0.266642024921852', '0.268719957796186', '0.2706935594135', '0.272559206753269', '0.273926752363069', '0.274510726882438', '0.27361548863403', '0.270955127537445', '0.267364194505017', '0.264564133830711', '0.262272278550497', '0.259972680945282', '0.257442500950317', '0.254652606066068', '0.252207737317713', '0.249626914074076', '0.247263261344856', '0.245123589531297', '0.243225859423995', '0.241153458897532', '0.238593405107967', '0.234996962617532', '0.229953124670146', '0.223736577185262', '0.216651883736929', '0.209530202840276', '0.202147957765555', '0.193938091501462', '0.185808313583987', '0.179063973127102', '0.173667751834249', '0.169373202787616', '0.16556857004577', '0.162018892461483', '0.158542136666029', '0.155356369872988', '0.152296069722626', '0.14932531019408', '0.146633601920912', '0.1440233609775', '0.141579921906003', '0.139139938858686', '0.136651362657312', '0.134402549853242', '0.132301569181149', '0.130325395329265', '0.128697263602329', '0.127269587118836', '0.126227313287007', '0.125693189488144', '0.125619878444632', '0.125673694202955', '0.125989585903982', '0.126157510565818', '0.126128122432138', '0.125911359052987', '0.125205640595771', '0.124207042788258', '0.123025809845466', '0.121484973532127', '0.119976382902789', '0.118416618404532', '0.116875206352005', '0.115425032853017', '0.114136707898209', '0.112865754769564', '0.111515866879238', '0.10982823398611', '0.107729298116846', '0.105380597977288', '0.102808398077772', '0.100035370952558', '0.0971692294787904', '0.0942315637988505', '0.0913407939430463', '0.0885709820904402', '0.0858423189221838', '0.083193782109924', '0.0807162121969417', '0.0783655971035001', '0.076046330827928', '0.0737689263015087', '0.0715376867191755', '0.0693183125783651', '0.0670042235321775', '0.0646486576140405', '0.0622444954175436', '0.0597739142794252', '0.0573203755684898', '0.0548503119037425', '0.0524681120633213', '0.050129475053349', '0.0479336895901596', '0.0458524499090549', '0.0438636158517219', '0.0419799785957937', '0.0402765338845226', '0.0386402211789019', '0.0371620433604702', '0.0357614856325005', '0.0344495090859111', '0.0331310153399323', '0.0319633360960362', '0.0307159945304004', '0.0294958696392003', '0.028259208698245', '0.027065871655394', '0.0258962749345283', '0.0248023337181348', '0.023686525089067', '0.0225866237851268', '0.021466248158336', '0.0203929110926785', '0.0193224731252769', '0.0181545308634649', '0.0170788119519516', '0.0160531626406233', '0.0151536650692306', '0.0143423958939967', '0.013614917852694', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN'],
|
|
"calaq":['+NAN', '+NAN', '+NAN', '0.0639626594292163', '0.0761186332523634', '0.0859736567414456', '0.0917555320832833', '0.0926726479707457', '0.0919971601762811', '0.0907092566760718', '0.0909084022288411', '0.0898026601348198', '0.0911768027519654', '0.0940106349121975', '0.0982721535936733', '0.103951200480323', '0.11151945259402', '0.121469998877133', '0.132101341085677', '0.142968043628643', '0.152370818054494', '0.158748610291206', '0.161534596722603', '0.161163469375412', '0.158496266611239', '0.155092847146785', '0.15122706187325', '0.147915995552921', '0.145551771193796', '0.143967870357453', '0.143884608228214', '0.144961496938848', '0.147160549493366', '0.150831154670171', '0.155787436929653', '0.161803470421699', '0.16921906563584', '0.177722815687568', '0.187290525779601', '0.197630537835732', '0.208195356498117', '0.217765093829476', '0.22641181899464', '0.233297159230364', '0.238160562788499', '0.241193334367343', '0.24239085609259', '0.241483418897362', '0.239361401296195', '0.236035158619177', '0.231818228524626', '0.226960297981895', '0.221224584525203', '0.214185815425282', '0.206940097796839', '0.199958594161336', '0.193640331500501', '0.188508002461916', '0.184464975267021', '0.181314871711972', '0.179425928011873', '0.178354338441761', '0.178313589116474', '0.179431062753507', '0.181447532870041', '0.184472812579435', '0.187668653439444', '0.190320070625297', '0.191923599851912', '0.192636781189683', '0.19286161734119', '0.193017909034216', '0.193535325691956', '0.194368731698507', '0.195599269410719', '0.197092878496086', '0.198621455336892', '0.200084372673682', '0.201442176494965', '0.202492947542439', '0.202903156210483', '0.20227159261013', '0.200395088767544', '0.197836792355401', '0.195643353092176', '0.193860224574108', '0.192192959958473', '0.190286934394321', '0.188203576809068', '0.186368020802222', '0.184515839969636', '0.182770714611897', '0.181226279357459', '0.179832200640671', '0.178341694831955', '0.176571658272696', '0.173967156509072', '0.17031174671914', '0.16573146255487', '0.160558822626473', '0.155290540982903', '0.149804710585539', '0.143730921767791', '0.137794226338604', '0.132904925117463', '0.128943411985897', '0.125738277187983', '0.123029913160705', '0.120328673883332', '0.117841592088007', '0.115465653020091', '0.113187624764016', '0.111051196976259', '0.109023041888432', '0.107152096488286', '0.105346079037686', '0.103538283756282', '0.101666744267368', '0.100002165308749', '0.0984652184553234', '0.0970289969422529', '0.095787446122295', '0.0947205629825277', '0.0939204500646334', '0.0934914454992708', '0.0933836592197018', '0.093413066210716', '0.0936053077959552', '0.0936990031274746', '0.0936271792806188', '0.0934129052757143', '0.0929409477679593', '0.0922111660520162', '0.0913099236972746', '0.0902562321785754', '0.0891609901779313', '0.0879809421895976', '0.0868434378002528', '0.085843900608993', '0.0848938622647938', '0.0840107444403116', '0.0829989653167666', '0.08179197294942', '0.0802686318513122', '0.0785217346863345', '0.0766524528592095', '0.0746485233657852', '0.0725288919633818', '0.0703895753920542', '0.0682541847501918', '0.0661742059790556', '0.06416451958121', '0.0622158236436603', '0.0603646575802928', '0.0586162635082399', '0.0568772077032173', '0.0551663034753856', '0.0534554859127405', '0.0517611897201407', '0.0500733260316374', '0.0483112998923427', '0.0464860898348103', '0.0446837583165121', '0.0428172433669461', '0.041002185896394', '0.0392242305636443', '0.0374905785321226', '0.0358608074623243', '0.0342787865125786', '0.0327957267188647', '0.0313851860170829', '0.0301076734774782', '0.0289069023260921', '0.0277803714895504', '0.0267563709571282', '0.0257218081322439', '0.0247729674715589', '0.0238824039045579', '0.0229468672188216', '0.0220317863192088', '0.0211148554665291', '0.0202240820399308', '0.019342652885569', '0.0184757486263308', '0.0176124887617254', '0.0167802193161593', '0.0159442023951008', '0.0150938946442385', '0.0142266616656384', '0.0133400780609536', '0.0124677696276766', '0.0116857667245466', '0.0109434531330157', '0.0102683291202449', '0.00966202164948752', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN', '+NAN'],
|
|
'SAMSN': '84E3', 'DarkPixelStart': '237', 'DarkPixelStop': '254',
|
|
'Firmware': '2.06', 'IDDataBack': 'DLAB_2018-07-02_16-15-52_275_586',
|
|
'IDDataCal': 'DLAB_2018-07-03_17-15-16_983_888', 'IDDataCalAQ': 'DLAB_2018-07-03_17-15-53_767_889',
|
|
'IntegrationTime': '0', 'Reverse': '0', 'SerialNo_MMS': '',
|
|
'c0s': '301.582', 'c1s': '3.30685', 'c2s': '0.000501047', 'c3s': '-2.1516e-06', 'c4s': '+0.000000000E+00'
|
|
|
|
}
|
|
|
|
|
|
|
|
class RamsesFactoryHandle(object):
|
|
def __init__(self,sn, cfg, airwater = AirWater.Air):
|
|
self.rf = RamsesFactory( SN=sn, airwater=airwater )
|
|
self.rf.set_cfg(cfg)
|
|
pass
|
|
|
|
def set_air_water(self, airwater = AirWater.Air):
|
|
self.rf.airwater = airwater
|
|
|
|
def deal_raw_data(self, data:bytes) -> np.ndarray:
|
|
''' ( 26 +3*sensor) removeMask get_valid_buf'''
|
|
self.rf.set_data_raw(data) # 同时传入 IPbuf
|
|
self.rf.removeMask()
|
|
self.rf.get_data_valid_buf( )
|
|
self.rf.process_from_hex_2_int()
|
|
self.rf.calibrate_data()
|
|
|
|
def deal_raw_data_list(self, data:list) -> np.ndarray:
|
|
''' (15 + 26 +3*sensor) removeMask get_valid_buf'''
|
|
log.info( " ", __name__,"deal_raw_data_list ")
|
|
size = len(data)
|
|
assert size>0, ">>>> raw datalist len is 0 "
|
|
tmp_data = np.array([])
|
|
for i in range(size):
|
|
# log.info( f" Num {i} Group ", __name__,"deal_raw_data_list ")
|
|
self.rf.set_data_raw( data[i] )
|
|
self.rf.removeMask()
|
|
self.rf.get_data_valid_buf( )
|
|
self.rf.process_from_hex_2_int()
|
|
self.rf.calibrate_data()
|
|
if i == 0:
|
|
tmp_data = self.rf.data_after_cal
|
|
else:
|
|
tmp_data = tmp_data + self.rf.data_after_cal
|
|
self.rf.data_after_cal = tmp_data/size
|
|
# return tmp_data/size
|
|
|
|
def deal_raw_ip_list(self, ip_data:list) -> np.ndarray:
|
|
''' ip_raw'''
|
|
log.info(" 处理 ip_data:list ",__name__, "deal_raw_ip_list")
|
|
pass
|
|
|
|
def deal_data_valid_buf(self, data:bytes):
|
|
''' 去 23 00 00 00 .....01后的数据, 64*8=512 '''
|
|
self.rf.set_data_valid_buf(data)
|
|
self.rf.process_from_hex_2_int()
|
|
self.rf.calibrate_data()
|
|
|
|
def deal_data_int254(self, data:list, integrationTime:int):
|
|
'''254 * int, integrationTime '''
|
|
self.rf.set_data_Int_254(data)
|
|
self.rf.set_integrate_time(integrationTime)
|
|
self.rf.calibrate_data()
|
|
|
|
def get_data_after_cal(self,):
|
|
return self.rf.data_after_cal
|
|
|
|
|
|
def test_01():
|
|
"""
|
|
@description :调用RamsesTest RamsesFactory 获得结果和已知的比较
|
|
"""
|
|
# sn = "85C2"
|
|
sn = "84E3"
|
|
cfg = {}
|
|
# r85c2 = Ramses85C2()
|
|
# cfg = r85c2.calcfg
|
|
|
|
r84e3 = Ramses84E3()
|
|
cfg = r84e3.calcfg
|
|
# rt.get_ip_cal()
|
|
# rt.get_sam_cal()
|
|
# rt.get_ramses_cal()
|
|
|
|
rf = RamsesFactory( SN=sn, airwater=AirWater.Air )
|
|
rf.set_cfg(cfg )
|
|
|
|
# rf.set_data_raw( bytes.fromhex(r85c2.data_85C2) )
|
|
# rf.removeMask()
|
|
# rf.get_data_valid_buf()
|
|
|
|
|
|
# rf.process_from_hex_2_int()
|
|
# rf.get_wavelenth(1)
|
|
# rf.calibrate_data(1)
|
|
|
|
# rf.process_from_hex_2_int()
|
|
rf.data_Int_from_Hex = r84e3.data_Int_from_Hex
|
|
rf.set_integrate_time (256)
|
|
|
|
print( len(rf.RamsesCalData.b0) )
|
|
print( len(rf.RamsesCalData.b1) )
|
|
print( len(rf.RamsesCalData.cal) )
|
|
print( len(rf.RamsesCalData.calaq) )
|
|
|
|
# print( rf.RamsesCalData.samcal.DarkPixelStart )
|
|
# print( rf.RamsesCalData.samcal.DarkPixelStop )
|
|
|
|
|
|
|
|
# rf.get_wavelenth(1)
|
|
rf.calibrate_data(1)
|
|
# 4 1077 0 0 0.016433967 0.017747166 -0.001313199 0.000333492 0.010671759 0.085698462 0.124526848 0.124526478
|
|
# 5 1088 0 0 0.016601816 0.0177432 -0.001141384 0.000505308 0.016169857 0.102722719 0.157412665 0.157412431
|
|
|
|
|
|
def test_02():
|
|
"""
|
|
@description :调用RamsesTest RamsesFactory 获得结果和已知的比较
|
|
"""
|
|
sn = "85C2"
|
|
cfg = {}
|
|
r85c2 = Ramses85C2()
|
|
cfg = r85c2.calcfg
|
|
|
|
|
|
rf = RamsesFactory( SN=sn, airwater=AirWater.Air )
|
|
rf.set_cfg(cfg )
|
|
|
|
rf.set_data_raw( bytes.fromhex(r85c2.data_85C2) )
|
|
# print(f"raw : {rf.data_raw.hex()}" )
|
|
rf.removeMask()
|
|
|
|
# print(f"mask : {rf.data_after_remove_mask.hex() }" )
|
|
rf.get_data_valid_buf()
|
|
rf.process_from_hex_2_int(1)
|
|
|
|
|
|
# rf.data_Int_from_Hex = r85c2.data_Int_from_Hex
|
|
# rf.set_integrate_time (4096)
|
|
|
|
# print( rf.data_Int_from_Hex)
|
|
|
|
# print( len(rf.RamsesCalData.b0) )
|
|
# print( len(rf.RamsesCalData.b1) )
|
|
# print( len(rf.RamsesCalData.cal) )
|
|
# print( len(rf.RamsesCalData.calaq) )
|
|
|
|
|
|
# rf.get_wavelenth(1)
|
|
rf.calibrate_data(1)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
# 由于很多数据,要到整数这一步取平均, 需要将平均后的整数值传进去,在处理
|
|
|
|
# test_01()
|
|
test_02()
|
|
# print(hex(100))
|
|
# rc= RamsesCal()
|
|
# print(rc)
|
|
|
|
# rt =RamsesTest()
|
|
# rt.get_sam_cal()
|
|
# rt.get_ramses_cal()
|
|
# print(rt.samcal)
|
|
pass
|
|
|
|
|
|
# {2: {1: {'FUNC': 'Lsky', 'SN': '85B5'}, 2: {'FUNC': 'Esky', 'SN': '50ED'}, 3: {'FUNC': 'Lwater', 'SN': '852F'}},
|
|
# 3: {1: {'FUNC': 'Lsky', 'SN': '85B5'}, 2: {'FUNC': 'Esky', 'SN': '50ED'}, 3: {'FUNC': 'Lwater', 'SN': '852F'}}}
|
|
|
|
# {'Lsky':
|
|
# {'SN': '85B5', 'FUNC': 'Lsky', 'TYPE': 'SAM', 'samsn': '85B5',
|
|
# 'inifile': 'SAM_85B5.ini', 'calfile': 'Cal_SAM_85B5.dat', 'calaqfile': 'CalAQ_SAM_85B5.dat', 'backfile': 'Back_SAM_85B5.dat',
|
|
# 'cal': ['+NAN',.......... |