enhance calibration + minor fixes

This commit is contained in:
2022-09-14 09:36:20 +02:00
parent e215f3abea
commit 14260851cf
4 changed files with 233 additions and 185 deletions

View File

@@ -187,11 +187,11 @@ class AppCfg(QSettings):
if key==AppCfg.DT_MISC:
val={'show_plots': True, 'vel_scl': 1.0, 'pt2pt_time': 10.0,'sync_mode':1,'sync_flag':3,'verbose':0xff}
elif key==AppCfg.GBL_MISC:
val={'img_trace':4}
val={'img_trace_len':4}
else:
val={}
elif key in (AppCfg.GEO_BEAM_SZ,AppCfg.GEO_BEAM_POS,):
val=np.array(tuple(map(float, val)))/1000
val=np.array(tuple(map(float, val)))
elif key in (AppCfg.GEO_OPT_CTR):
val=np.array(tuple(map(float, val)))
return val
@@ -227,7 +227,7 @@ class WndParameter(QMainWindow):
#GEO_CAM_PARAM
gbl_misc = cfg.value(AppCfg.GBL_MISC)
gbl_dev_prefix = cfg.value(AppCfg.GBL_DEV_PREFIX)
geo_beam_sz = cfg.value(AppCfg.GEO_BEAM_SZ)*1000
geo_beam_sz = cfg.value(AppCfg.GEO_BEAM_SZ)
dft_pos_pst = cfg.value(AppCfg.DFT_POS_PST)
dft_pos_col = cfg.value(AppCfg.DFT_POS_COL)
dft_pos_bklgt = cfg.value(AppCfg.DFT_POS_BKLGT)
@@ -276,7 +276,7 @@ verbose bits:
{'name':'smaract motors', 'value':gbl_dev_prefix[1], 'type':'str'},
]},
{'name':AppCfg.GBL_MISC, 'title':'miscellaneous', 'type':'group', 'children':[
{'name':'img_trace', 'value':gbl_misc['img_trace'], 'type':'int', 'tip':tip_sync_flag},
{'name':'img_trace_len', 'value':gbl_misc['img_trace_len'], 'type':'int', 'tip':tip_sync_flag},
#{'name':'verbose', 'value':gbl_misc['verbose'], 'type':'int', 'tip':tip_verbose},
]},
# {'name':AppCfg.GEO_CAM_TRF, 'value':cfg.value(AppCfg.GEO_CAM_TRF), 'type':'str'},
@@ -394,7 +394,10 @@ verbose bits:
except AttributeError as e:
_log.warning('can not set beam size to application window')
else:
v=v/1000 # convert from um to mm
bm.blockSignals(True) # avoid to call cb_marker_moved
bm.setSize(v)
bm.blockSignals(False)
elif par_nm==AppCfg.GEO_CAM_PARAM:
d=dict(map(lambda x:(x.name(),x.value()), parent.children()))
try:
@@ -441,6 +444,18 @@ verbose bits:
elif par_nm in (AppCfg.GBL_MISC,AppCfg.DT_MISC):
d=dict(map(lambda x:(x.name(),x.value()), parent.children()))
cfg.setValue(par_nm, d)
if par_nm in (AppCfg.GBL_MISC):
try:
grp=self.parent()._goTrace
vb=self.parent().vb
except AttributeError as e:
_log.warning('can not access the application window')
else:
grp._tracelen=tl=d['img_trace_len']
cld=grp.childItems()
while len(cld)>tl:
vb.removeItem(cld[0])
cld=grp.childItems()
else:
_log.warning(f'can\'t save parameter:{childName} change:{change} data:{str(data)}')
raise