48 lines
1.4 KiB
Python
48 lines
1.4 KiB
Python
##| Copyright: (C) 2019-2020 Kevin Larke <contact AT larke DOT org>
|
|
##| License: GNU GPL version 3.0 or above. See the accompanying LICENSE file.
|
|
import os,sys,json
|
|
import common
|
|
import matplotlib.pyplot as plt
|
|
import plot_seq_1
|
|
|
|
def plot_calibrate( cfg, pitch, dataD ):
|
|
|
|
dataL = [ (d['pulse_us'], d['hm']['db'], d['targetDb'], d['matchFl'],d['skipMeasFl'],d['annIdx']) for d in dataD['measD'][pitch] ]
|
|
|
|
udmL = [(t[0],t[1],t[3]) for t in dataL]
|
|
udmL = sorted( udmL, key=lambda x: x[0] )
|
|
usL,dbL,matchL = zip(*udmL)
|
|
|
|
fig,ax = plt.subplots()
|
|
|
|
musL = [us for us,db,m in udmL if m]
|
|
mdbL = [db for us,db,m in udmL if m]
|
|
|
|
ax.plot(musL,mdbL,marker='o',color='red',linestyle='None')
|
|
|
|
ax.plot(usL,dbL,marker='.')
|
|
|
|
initDataDir = os.path.expanduser(dataD['cfg']['inDir'])
|
|
usL,dbL,_,_,_ = plot_seq_1.get_merged_pulse_db_measurements( initDataDir, int(pitch), cfg['analysisD'] )
|
|
|
|
|
|
ax.plot(usL,dbL,marker='.')
|
|
|
|
plt.show()
|
|
|
|
if __name__ == "__main__":
|
|
|
|
inDir = sys.argv[1]
|
|
cfgFn = sys.argv[2]
|
|
pitch = sys.argv[3]
|
|
|
|
cfg = common.parse_yaml_cfg(cfgFn)
|
|
cfg = cfg.calibrateArgs
|
|
|
|
dataFn = os.path.join(inDir,"meas.json")
|
|
with open(dataFn,"r") as f:
|
|
dataD = json.load(f)
|
|
|
|
print("pitchL:",dataD['cfg']['pitchL'],"targetDbL:",dataD['cfg']['targetDbL'])
|
|
plot_calibrate( cfg, pitch, dataD )
|