rework graphic opbect and coordinate transformation

This commit is contained in:
2022-09-06 10:07:11 +02:00
parent d263c09028
commit cbae02c597
4 changed files with 121 additions and 77 deletions

View File

@@ -42,6 +42,7 @@ class AppCfg(QSettings):
GEO_BEAM_POS="geometry/beam_pos"
GEO_CAM_PARAM="geometry/cam_param"
GEO_CAM_TRF="geometry/cam_trf"
WINDOW_GEOMETRY="window/geometry"
WINDOW_SPLITTER="window/splitter"
@@ -129,6 +130,11 @@ class AppCfg(QSettings):
opt_ctr=np.array([603.28688025, 520.01112846])
self.setValue(AppCfg.GEO_OPT_CTR, opt_ctr)
if AppCfg.GEO_CAM_TRF not in keys:
_log.warning(f'{AppCfg.GEO_CAM_TRF} not defined. use default')
trf=np.array(((-1,0,0),(0,-1,0),(0,0,1)))
self.setValue(AppCfg.GEO_CAM_TRF, trf)
if AppCfg.DT_HOST not in keys:
_log.warning(f'{AppCfg.DT_HOST} not defined. use default')
self.setValue(AppCfg.DT_HOST,'SAR-CPPM-EXPMX1')
@@ -155,12 +161,12 @@ class AppCfg(QSettings):
def setValue(self, key: str, val): #overload to debug
# only simple lists, str, int, float can not be serialized nicely
t=type(val)
if key in (AppCfg.GEO_PIX2POS,):
if key in (AppCfg.GEO_PIX2POS,AppCfg.GEO_CAM_TRF):
val=json.dumps(val, cls=MyJsonEncoder)
elif key in (AppCfg.GEO_CAM_PARAM,AppCfg.DFT_POS_DET,AppCfg.DFT_POS_PST,AppCfg.DFT_POS_COL,AppCfg.DFT_POS_BKLGT,):
val=json.dumps(val, cls=MyJsonEncoder)
val=val.replace('"',"'")
elif key in (AppCfg.GEO_OPT_CTR,AppCfg.GEO_BEAM_SZ,AppCfg.GEO_BEAM_POS,):
elif key in (AppCfg.GEO_OPT_CTR,AppCfg.GEO_BEAM_SZ,AppCfg.GEO_BEAM_POS):
if type(val)==np.ndarray:
val=val.tolist()
elif type(val)==tuple:
@@ -172,6 +178,9 @@ class AppCfg(QSettings):
if key in (AppCfg.GEO_PIX2POS,):
val=json.loads(val)#, object_hook=MyJsonDecoder)
val=(np.array(val[0]),np.array(val[1]))
elif key in (AppCfg.GEO_CAM_TRF,):
val=json.loads(val)#, object_hook=MyJsonDecoder)
val=np.array(val)
elif key in (AppCfg.GEO_CAM_PARAM,AppCfg.DFT_POS_DET,AppCfg.DFT_POS_PST,AppCfg.DFT_POS_COL,AppCfg.DFT_POS_BKLGT,):
if val is not None:
val=val.replace("'",'"')
@@ -275,6 +284,11 @@ class WndParameter(QMainWindow):
{'name':AppCfg.DT_SHOW_PLOTS,'title':'show plots after collection' ,'value':dt_show_plots,'type':'bool' ,'tip':"This is a checkbox"},
{'name':AppCfg.DT_VEL_SCL ,'title':'velocity_scale' ,'value':dt_vel_scl ,'type':'float','limits':(0,1),'step':0.1,'tip':"This is a checkbox"},
]},
{'name':'Misc', 'type':'group', 'children':[
{'name':AppCfg.GEO_CAM_TRF, 'value':cfg.value(AppCfg.GEO_CAM_TRF), 'type':'str'},
]},
{'name':'Save/Restore functionality', 'type':'group', 'children':[
{'name':'Save State', 'type':'action'},
{'name':'Restore State', 'type':'action', 'children':[