moving config dialog to app_config

This commit is contained in:
2022-08-22 14:27:09 +02:00
parent 28c94dd297
commit d8b34a3f99
3 changed files with 213 additions and 218 deletions

View File

@@ -95,7 +95,6 @@ import pyqtUsrObj as UsrGO
#from CustomROI import BeamMark, Grid, CrystalCircle #ZAC: orig. code
import GenericDialog
#from GenericDialog import GenericDialog #ZAC: orig. code
#from dialogs.PreferencesDialog import PreferencesDialog #ZAC: orig. code
#from epics_widgets import zoom #ZAC: orig. code
@@ -2267,7 +2266,7 @@ class Main(QMainWindow, Ui_MainWindow):
dp.plot_gather(mode=11)
#plt.show(block=False)
plt.show(block=True)
#plt.show(block=True)
return
@@ -2931,9 +2930,6 @@ class Main(QMainWindow, Ui_MainWindow):
self.shortcut = QShortcut(QKeySequence(Qt.Key_F12), self)
self.shortcut.activated.connect(self.show_window_configuration)
self.shortcut = QShortcut(QKeySequence(Qt.Key_F5), self)
self.shortcut.activated.connect(self.generic_dialog)
self.shortcut = QShortcut(QKeySequence(Qt.CTRL + Qt.Key_B), self)
self.shortcut.activated.connect(lambda: self._beammark.toggle_handle())
@@ -2941,47 +2937,47 @@ class Main(QMainWindow, Ui_MainWindow):
self.shortcut.activated.connect(self.camera_pause_toggle)
# adding a menu entry to one of the menus
action = QAction("Beam Marker Size", self)
action.setToolTip("Update the beam marker size on GUI; *not* the actual beam size!")
action.setStatusTip("Update the beam marker size on GUI; *not* the actual beam size!")
action.triggered.connect(self.set_beam_size_marker_dialog)
action = QAction("geometry", self)
action.setToolTip("Update optical center, beam marker size etc.")
action.setStatusTip("Update optical center, beam marker size etc.")
action.triggered.connect(lambda x: cfg.dlg_geometry(self))
self.menuAdvanced.addAction(action)
action = QAction("Backlight Reference Positions", self)
action.setToolTip("Update the reference positions for the backlight")
action.setStatusTip("Update the reference positions for the backlight")
action.triggered.connect(self.set_backlight_positions_dialog)
action.triggered.connect(cfg.dlg_backlight_positions)
self.menuAdvanced.addAction(action)
action = QAction("Collimator Reference Positions", self)
action.setToolTip("Update the reference positions for the collimator")
action.setStatusTip("Update the reference positions for the collimator")
action.triggered.connect(self.set_collimator_reference_positions)
self.menuAdvanced.addAction(action)
action = QAction("Cryojet Reference Positions", self)
action.setToolTip("Update the reference positions for the cryojet nozzle position")
action.setStatusTip("Update the reference positions for the cryojet nozzle position")
action.triggered.connect(self.set_cryojet_positions_dialog)
action.triggered.connect(cfg.dlg_collimator_reference_positions)
self.menuAdvanced.addAction(action)
action = QAction("Post sample tube Reference Positions", self)
action.setToolTip("Update the reference positions for the post tube")
action.setStatusTip("Update the reference positions for the post tube")
action.triggered.connect(self.set_posttube_references_dialog)
action.triggered.connect(cfg.dlg_posttube_references)
self.menuAdvanced.addAction(action)
action = QAction("Delta Tau Parameters", self)
action.setToolTip("Parameters affecting the Delta Tau")
action.setStatusTip("Parameters affecting the Delta Tau")
action.triggered.connect(self.set_deltatau_parameters)
action.triggered.connect(cfg.dlg_deltatau_parameters)
self.menuAdvanced.addAction(action)
action = QAction("Tell Mount Positions", self)
action.setToolTip("Mount positions for TELL sample changer")
action.setStatusTip("Parameters affecting the Delta Tau")
action.triggered.connect(self.set_tell_mount_positions)
self.menuAdvanced.addAction(action)
#action = QAction("Cryojet Reference Positions", self)
#action.setToolTip("Update the reference positions for the cryojet nozzle position")
#action.setStatusTip("Update the reference positions for the cryojet nozzle position")
#action.triggered.connect(self.set_cryojet_positions_dialog)
#self.menuAdvanced.addAction(action)
#action = QAction("Tell Mount Positions", self)
#action.setToolTip("Mount positions for TELL sample changer")
#action.setStatusTip("Parameters affecting the Delta Tau")
#action.triggered.connect(cfg.dlg_tell_mount_positions)
#self.menuAdvanced.addAction(action)
def daq_method_prelocated_remove_markers(self):
try:
@@ -3066,195 +3062,6 @@ class Main(QMainWindow, Ui_MainWindow):
fx_motor.move_motor_to_position(x)
fy_motor.move_motor_to_position(y)
def set_beam_size_marker_dialog(self):
SPN=GenericDialog.Spinner
app=QApplication.instance()
cfg=app._cfg
w, h = map(float,cfg.value(AppCfg.GEO_BEAM_SZ))
d = GenericDialog.GenericDialog(
title="geometry",
message="Enter the size of the beam in microns",
inputs={
"bw": ("beam width um" ,w,SPN(w, min=1, max=200, suffix=" \u00B5m"),),
"bh": ("beam height um",h,SPN(h, min=1, max=200, suffix=" \u00B5m"),),
},
)
if d.exec():
results = d.results
_log.info("Updating beamsize to {}".format(results))
bm_sz= (results["bw"], results["bh"])
_log.debug("types {}".format(type(w)))
cfg.setValue(AppCfg.GEO_BEAM_SZ, bm_sz)
bm=self._goBeamMarker
bm.setSize(bm_sz)
#self._beammark.set_beam_size((w, h))
cfg.sync()
def set_posttube_references_dialog(self):
SPN=GenericDialog.Spinner
app=QApplication.instance()
cfg=app._cfg
x_up = cfg.value(AppCfg.PST_X_UP , 0.0,type=float)
y_up = cfg.value(AppCfg.PST_Y_UP , 0.0,type=float)
x_down = cfg.value(AppCfg.PST_X_DOWN, 0.0,type=float)
y_down = cfg.value(AppCfg.PST_Y_DOWN, 0.0,type=float)
dx = cfg.value(AppCfg.PST_DX , 0.0,type=float)
dy = cfg.value(AppCfg.PST_DY , 0.0,type=float)
tz_in = cfg.value(AppCfg.PST_TZ_IN , 0.0,type=float)
tz_out = cfg.value(AppCfg.PST_TZ_OUT, 0.0,type=float)
d = GenericDialog.GenericDialog(
title="Post Sample Tube Configuration",
message="Enter the relative displacements for X and Y to move the post sample tube either in or out.",
inputs={
AppCfg.PST_X_UP : ("Up X" , x_up , SPN(x_up , decimals=3, min=-45.0, max=15.0, suffix=" mm"), ),
AppCfg.PST_Y_UP : ("Up Y" , y_up , SPN(y_up , decimals=3, min=-45.0, max=15.0, suffix=" mm"), ),
AppCfg.PST_X_DOWN: ("Down X" , x_down, SPN(x_down, decimals=3, min=-45.0, max=15.0, suffix=" mm"), ),
AppCfg.PST_Y_DOWN: ("Down Y" , y_down, SPN(y_down, decimals=3, min=-45.0, max=15.0, suffix=" mm"), ),
AppCfg.PST_DX : ("out delta X" , dx , SPN(dx , decimals=3, min=-32.0, max=32.0, suffix=" mm"), ),
AppCfg.PST_DY : ("out delta Y" , dy , SPN(dy , decimals=3, min=-32.0, max=32.0, suffix=" mm"), ),
AppCfg.PST_TZ_IN : ("tube Z in position" , tz_in , SPN(tz_in , decimals=3, min=-8.0 , max=1.0 , suffix=" mm"), ),
AppCfg.PST_TZ_OUT: ("tube Z OUT position", tz_out, SPN(tz_out, decimals=3, min=-8.0 , max=1.0 , suffix=" mm"), ),
},
)
if d.exec():
results = d.results
_log.info("setting post-sample-tube displacements {}".format(results))
for k, v in results.items():
cfg.setValue(k, v)
cfg.sync()
def set_collimator_reference_positions(self):
SPN=GenericDialog.Spinner
app=QApplication.instance()
cfg=app._cfg
x_out = cfg.value(AppCfg.COL_DX , 0.0,type=float)
y_out = cfg.value(AppCfg.COL_DY , 0.0,type=float)
x_in = cfg.value(AppCfg.COL_X_IN, 0.0,type=float)
y_in = cfg.value(AppCfg.COL_Y_IN, 0.0,type=float)
d = GenericDialog.GenericDialog(
title="Collimator configuration",
message="Enter reference positions for the collimator",
inputs={
AppCfg.COL_DX: ("Collimator out deltaX", x_out, SPN(x_out, decimals=3, min=-15.9, max=15.9, suffix=" mm"),),
AppCfg.COL_DY: ("Collimator out deltaY", y_out, SPN(y_out, decimals=3, min=-15.9, max=15.9, suffix=" mm"),),
AppCfg.COL_X_IN: ("Collimator in X", x_in, SPN(x_in, decimals=3, min=-15.9, max=15.9, suffix=" mm"),),
AppCfg.COL_Y_IN: ("Collimator in Y", y_in, SPN(y_in, decimals=3, min=-15.9, max=15.9, suffix=" mm"),),
},
)
if d.exec():
results = d.results
_log.info("setting collimator reference positions {}".format(results))
for k, v in results.items():
cfg.setValue(k, v)
cfg.sync()
def set_backlight_positions_dialog(self):
SPN=GenericDialog.Spinner
app=QApplication.instance()
cfg=app._cfg
p_in = cfg.value(AppCfg.BKLGT_IN,0,type=int)
p_out = cfg.value(AppCfg.BKLGT_OUT,0,type=int)
d = GenericDialog.GenericDialog(
title="Back Light configuration",
message="Enter reference positions for the backlight",
inputs={
AppCfg.BKLGT_IN: ("In position" , p_in , SPN(p_in, min=-30000, max=10), ),
AppCfg.BKLGT_OUT: ("Out position", p_out, SPN(p_out, min=-1000, max=10), ),
},
)
if d.exec():
results = d.results
_log.info("setting back light reference positions {}".format(results))
for k, v in results.items():
cfg.setValue(k, v)
cfg.sync()
def set_cryojet_positions_dialog(self):
p_in = settings.value(CRYOJET_NOZZLE_IN, type=float)
p_out = settings.value(CRYOJET_NOZZLE_OUT, type=float)
motion_enabled = option(CRYOJET_MOTION_ENABLED)
d = GenericDialog(
title="Cryojet Nozzle Configuration",
message="Enter reference positions for the cryojet nozzle position",
inputs={
CRYOJET_NOZZLE_IN: ("In position", p_in, Spinner(p_in, min=3, max=15)),
CRYOJET_NOZZLE_OUT: ("Out position",p_out,Spinner(p_out, min=-1000, max=10),),
CRYOJET_MOTION_ENABLED: ("Move Cryojet in Transitions",motion_enabled,Checkbox(motion_enabled, "move cryojet"),),
},
)
if d.exec():
results = d.results
_log.info("setting cryojet reference positions {}".format(results))
for k, v in results.items():
settings.setValue(k, v)
settings.sync()
def set_deltatau_parameters(self):
SPN=GenericDialog.Spinner
CB=GenericDialog.Checkbox
app=QApplication.instance()
cfg=app._cfg
#dt1 = cfg.value(AppCfg.DT_HOST,'SAR-CPPM-EXPMX1')
dt1 = cfg.value(AppCfg.DT_HOST,'localhost:10001:10002')
dt2 = cfg.value(AppCfg.DT_VEL_SCL, 1, type=float)
dt3 = cfg.option(AppCfg.DT_SHOW_PLOTS)
d = GenericDialog.GenericDialog(
title="Delta Tau Parameters",
message="These parameters affect the data collection.",
inputs={
AppCfg.DT_HOST:("host name (host[:port:port_gather])", dt1, QLineEdit(),),
AppCfg.DT_VEL_SCL: ("Velocity Scale (1=optimal, 0=zero vel at target)", dt2,SPN(dt2, min=0, max=1, suffix=""),),
AppCfg.DT_SHOW_PLOTS: ("show plots after collection", dt3,CB(dt3, "active"),),
#DELTATAU_SORT_POINTS: ("Sort pointshoot/prelocated coords", b,CB(b, "sort points"),),
},
)
if d.exec():
results = d.results
_log.info("setting delta tau parameters {}".format(results))
for k, v in results.items():
cfg.setValue(k, v)
cfg.sync()
def set_tell_mount_positions(self):
AUTODRY_ENABLED = "tell/autodry_enabled"
AUTODRY_MAXMOUNTS = "tell/autodry_max_number_of_mounts"
AUTODRY_MAXTIME = "tell/autodry_max_time"
SECS_HOURS = 60 * 60
enabled = option(AUTODRY_ENABLED)
maxtime = settings.value(AUTODRY_MAXTIME, type=float) / SECS_HOURS
maxmounts = settings.value(AUTODRY_MAXMOUNTS, type=int)
d = GenericDialog.GenericDialog(
title="TELL Settings",
message="These control some features of the TELL sample changer",
inputs={
AUTODRY_ENABLED: ("Auto dry", enabled,
Checkbox(enabled, "enabled")),
AUTODRY_MAXMOUNTS: ("Max. num. mounts between dry",maxmounts,
Spinner(maxmounts, decimals=0, min=1, max=100, suffix=" mounts"),),
AUTODRY_MAXTIME: ("Max. time between dry",maxtime,
Spinner(maxtime, decimals=1, min=0.5, max=5, suffix=" hours"),),
},
)
if d.exec():
results = d.results
_log.info("setting tell parameters {}".format(results))
for k, v in results.items():
if k == AUTODRY_MAXTIME:
v = v * SECS_HOURS
settings.setValue(k, v)
settings.sync()
def generic_dialog(self, title="test", message=""):
d = GenericDialog(title="Beamsize", message="some message")
if d.exec():
results = d.results
print(results)
def toggle_maximized(self):
if self.isMaximized():
self.showNormal()