refactoring and other stuff

This commit is contained in:
2022-08-31 13:03:17 +02:00
parent e651fddd56
commit d29a961763
3 changed files with 135 additions and 119 deletions

View File

@@ -88,7 +88,7 @@ from PyQt5 import QtCore, QtGui
from PyQt5.QtCore import Qt, pyqtSlot, QSize, QRegExp, pyqtSignal, QObject, QThread
from PyQt5.QtGui import QKeySequence, QPixmap, QRegExpValidator
from PyQt5.QtWidgets import (
QAction, QApplication, QDoubleSpinBox, QFormLayout, QGridLayout, QGroupBox, QHBoxLayout, QLabel, QLineEdit,
QAction, QApplication, QDoubleSpinBox, QFileDialog, QFormLayout, QGridLayout, QGroupBox, QHBoxLayout, QLabel, QLineEdit,
QMessageBox, QPlainTextEdit, QProgressBar, QProgressDialog, QPushButton, QShortcut, QSizePolicy, QSpinBox,
QSplashScreen, QTextBrowser, QToolBox, QVBoxLayout, QWidget,)
from PyQt5.uic import loadUiType
@@ -216,7 +216,7 @@ class StartupSplash:
Ui_MainWindow, QMainWindow = loadUiType("swissmx.ui")
class SwissMxWnd(QMainWindow, Ui_MainWindow):
class WndSwissMx(QMainWindow, Ui_MainWindow):
#pixelsPerMillimeter = pyqtSignal(float)
#beamCameraCoordinatesChanged = pyqtSignal(float, float)
addGridRequest = pyqtSignal(float, float)
@@ -237,7 +237,7 @@ class SwissMxWnd(QMainWindow, Ui_MainWindow):
daqAborted = pyqtSignal()
def __init__(self,):
super(SwissMxWnd, self).__init__()
super(WndSwissMx, self).__init__()
self.setupUi(self)
app=QApplication.instance()
@@ -328,17 +328,17 @@ class SwissMxWnd(QMainWindow, Ui_MainWindow):
self.prepare_left_tabs()
#self.update_beam_marker(qoptic_zoom.get_sp()) #ZAC: orig. code
self._centerpiece_stack.setCurrentIndex(0)
self._centerpiece_stack.currentChanged.connect(self.center_piece_update)
self._centerpiece_stack.currentChanged.connect(self.cb_update_center_widget)
self._OLD_init_validators()
#self.init_settings_tracker() ? not needed, was for TELL ?
self._OLD_wire_storage()
self.center_piece_update(0) # start camera updater
self.cb_update_center_widget(0) # start camera updater
curzoom = app._zoom.get_val()
_log.debug(f"starting app with zoom at {curzoom}")
self.zoom_changed_cb(curzoom)
self._tabs_daq_methods.currentChanged.connect(self.switch_task)
self.switch_task()
self.cb_zoom_changed(curzoom)
self._tabs_daq_methods.currentChanged.connect(self.cb_switch_task)
self.cb_switch_task()
def init_settings(self):
app = QApplication.instance()
@@ -378,8 +378,8 @@ class SwissMxWnd(QMainWindow, Ui_MainWindow):
self.microscope_page.setLayout(QVBoxLayout())
self.microscope_page.layout().addWidget(self.glw)
self.glw.show()
self.glw.scene().sigMouseMoved.connect(self.mouse_move_event)
self.glw.scene().sigMouseClicked.connect(self.mouse_click_event)
self.glw.scene().sigMouseMoved.connect(self.cb_mouse_move)
self.glw.scene().sigMouseClicked.connect(self.cb_mouse_click)
#--- viewbox ---
#self.vb=vb=self.glw.addViewBox(invertY=False,border='r',enableMenu=False)
@@ -412,18 +412,22 @@ class SwissMxWnd(QMainWindow, Ui_MainWindow):
#grid.setTransform(tr) # assign transform
vb.addItem(grid)
#--- beam marker ---
bm_sz=np.array((50, 40)) # it is immidiatly repositioned in zoom_changed_cb
self._goBeamMarker=bm=UsrGO.Marker(-opt_ctr-bm_sz/2,bm_sz,mode=0)
bm.setTransform(tr) # assign transform
vb.addItem(bm)
#--- opctical center ----
oc_sz=np.array((50,50))
self._goOptCtr=obj=UsrGO.Marker(-opt_ctr-oc_sz/2, oc_sz,mode=1)
bm.setTransform(tr) # assign transform
obj.sigRegionChangeFinished.connect(self.cb_marker_moved)
#obj.setTransform(tr) # assign transform
vb.addItem(obj)
#--- beam marker ---
bm_sz=np.array((50, 40)) # it is immidiatly repositioned in cb_zoom_changed
self._goBeamMarker=bm=UsrGO.Marker(-opt_ctr-bm_sz/2,bm_sz,mode=0)
bm._size_eu=cfg.value(AppCfg.GEO_BEAM_SZ)
bm._pos_eu=cfg.value(AppCfg.GEO_BEAM_POS)
bm.sigRegionChangeFinished.connect(self.cb_marker_moved)
#bm.setTransform(tr) # assign transform
vb.addItem(bm)
#--- testing scan grid ---
self.track_objects() # first call is needed to initialize the structure self._goTracked
# #go=UsrGO.Grid((120, -100), (200, 150), (30, 22), 2)
@@ -440,13 +444,13 @@ class SwissMxWnd(QMainWindow, Ui_MainWindow):
self.toolBar.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
self.shortcut = QShortcut(QKeySequence(Qt.CTRL + Qt.SHIFT + Qt.Key_S), self)
self.shortcut.activated.connect(self.saveSampleCameraScreenshot)
self.shortcut.activated.connect(self.cb_save_cam_image)
self.shortcut = QShortcut(QKeySequence(Qt.Key_F2), self)
self.shortcut.activated.connect(self.saveSampleCameraScreenshot)
self.shortcut.activated.connect(self.cb_save_cam_image)
self.shortcut = QShortcut(QKeySequence(Qt.CTRL + Qt.Key_S), self)
self.shortcut.activated.connect(self.saveSampleCameraScreenshotView)
self.shortcut.activated.connect(self.cb_save_cam_image)
self.shortcut = QShortcut(QKeySequence(Qt.CTRL + Qt.SHIFT + Qt.Key_T), self)
self.shortcut.activated.connect(lambda: qutilities.toggle_warn(SKIP_ESCAPE_TRANSITIONS_IF_SAFE))
@@ -459,20 +463,20 @@ class SwissMxWnd(QMainWindow, Ui_MainWindow):
self.shortcut = QShortcut(QKeySequence(Qt.CTRL + qkey), self)
self.shortcut.activated.connect(lambda key=k: self.gotoBookmark(key))
self._button_collect.clicked.connect(self.execute_collection)
self._button_collect.clicked.connect(self.cb_execute_collection)
# Toolbar buttons
icon_size = QSize(50, 50)
icon = qtawesome.icon("material.photo_camera")
action = QAction(icon, "Save View", self)
action.setToolTip("(Ctrl+S) Take a screenshot of the currently visible sample image, including markers. Saves in current folder.")
action.triggered.connect(self.saveSampleCameraScreenshotView)
self.toolBar.addAction(action)
action = QAction(icon, "Save Original", self)
action.setToolTip("(Ctrl+Shift+S) Take a screenshot of the sample image, without markers. Saves in current folder.")
action.triggered.connect(self.saveSampleCameraScreenshot)
action.triggered.connect(self.cb_save_cam_image)
self.toolBar.addAction(action)
action = QAction(icon, "Save View", self)
action.setToolTip("(Ctrl+S) Take a screenshot of the currently visible sample image, including markers. Saves in current folder.")
action.triggered.connect(lambda: self.cb_save_cam_image(True))
self.toolBar.addAction(action)
if os.getenv("DEVELOPMENT_VERSION"):
@@ -510,27 +514,27 @@ class SwissMxWnd(QMainWindow, Ui_MainWindow):
action = QAction(icon, "Sample\nExchange", self)
action.setToolTip("Move devices so a sample can be exchanged.")
action.setObjectName("action_SampleExchange")
action.triggered.connect(self.escape_goToSampleExchange)
action.triggered.connect(self.cb_esc_sample_exchange)
self.toolBar.addAction(action)
self.toolBar.widgetForAction(action).setAccessibleName("action_SampleExchange")
icon = qtawesome.icon("material.my_location")
action = QAction(icon, "Sample\nAlignment", self)
action.setToolTip("Move devices so a sample can be aligned.")
action.triggered.connect(self.escape_goToSampleAlignment)
action.triggered.connect(self.cb_esc_sample_alignment)
self.toolBar.addAction(action)
self.toolBar.widgetForAction(action).setAccessibleName("action_SampleAlignment")
icon = qtawesome.icon("material.fingerprint")
action = QAction(icon, "Data\nCollection", self)
action.setToolTip("Move devices so a sample can be collected.")
action.triggered.connect(self.escape_goToDataCollection)
action.triggered.connect(self.cb_esc_data_collection)
self.toolBar.addAction(action)
self.toolBar.widgetForAction(action).setAccessibleName("action_DataCollection")
self.actionQuit.triggered.connect(self.really_quit)
self.actionQuit.triggered.connect(self.cb_really_quit)
self.actionPreferences.triggered.connect(self._OLD_openPreferencesDialog)
self.actionHome_Fast_Stages.triggered.connect(self.home_deltatau_faststages)
self.actionHome_Fast_Stages.triggered.connect(self.cb_deltatau_home_faststages)
self.actionUser_Storage.triggered.connect(self._OLD_update_user_and_storage)
self.shortcut = QShortcut(QKeySequence(Qt.CTRL + Qt.SHIFT + Qt.Key_L), self)
@@ -619,7 +623,7 @@ class SwissMxWnd(QMainWindow, Ui_MainWindow):
else:
event.ignore()
def center_piece_update(self, index):
def cb_update_center_widget(self, index):
if index > 0: # not showing camera image
_log.warning("listening to zescape")
self.timer.stop()
@@ -630,11 +634,11 @@ class SwissMxWnd(QMainWindow, Ui_MainWindow):
else:
app=QApplication.instance()
try:
self.new_frame_sim_cb()
self.cb_new_frame_sim()
except AttributeError:
app._camera.run(self.new_frame_pv_cb)
app._camera.run(self.cb_new_frame_pv)
def new_frame_pv_cb(self, **kwargs):
def cb_new_frame_pv(self, **kwargs):
#_log.debug('new_frame_pv_cb count {}'.format(kwargs['count']))
app=QApplication.instance()
sz=app._camera._sz
@@ -648,7 +652,7 @@ class SwissMxWnd(QMainWindow, Ui_MainWindow):
camera.epics_cam.set_fiducial(pic, 255)
self._goImg.setImage(pic)
def new_frame_sim_cb(self, **kwargs):
def cb_new_frame_sim(self, **kwargs):
app=QApplication.instance()
sim=app._camera._sim
imgSeq=sim['imgSeq']
@@ -659,7 +663,7 @@ class SwissMxWnd(QMainWindow, Ui_MainWindow):
self._goImg.setImage(pic)
delay=500 # ms -> 2fps
QtCore.QTimer.singleShot(delay, self.new_frame_sim_cb)
QtCore.QTimer.singleShot(delay, self.cb_new_frame_sim)
def load_stylesheet(self):
with open("swissmx.css", "r") as sheet:
@@ -682,8 +686,8 @@ class SwissMxWnd(QMainWindow, Ui_MainWindow):
self.zoombox = zoom.Zoom()
self.zoombox.init_settings()
self.zoombox.zoomChanged.connect(self.zoom_changed_cb)
self.zoombox.moveBacklight.connect(self.safe_backlight_move)
self.zoombox.zoomChanged.connect(self.cb_zoom_changed)
self.zoombox.moveBacklight.connect(self.cb_move_backlight_safe)
layout.addWidget(self.zoombox)
@@ -699,7 +703,7 @@ class SwissMxWnd(QMainWindow, Ui_MainWindow):
# monitor all axis for an axis fault
for key, tweaker in self.tweakers.items():
tweaker.event_axis_fault.connect(self.axis_fault)
tweaker.event_axis_fault.connect(self.cb_axis_fault)
#self.tweakers["fast_x"].event_readback.connect(lambda alias, value, kw: self.fast_x_position.emit(value))
#self.tweakers["fast_y"].event_readback.connect(lambda alias, value, kw: self.fast_y_position.emit(value))
@@ -708,29 +712,47 @@ class SwissMxWnd(QMainWindow, Ui_MainWindow):
self.tweakers["fast_y"].event_val.connect(lambda rec_name, kw: self.track_objects())
# layout.addStretch()
def zoom_changed_cb(self, value):
#self.zoomChanged.emit(value)
def cb_marker_moved(self,obj,*args,**kwargs):
_log.debug(args)
_log.debug(kwargs)
app=QApplication.instance()
cfg=app._cfg
geo=app._geometry
opt_ctr=geo._opt_ctr
if obj==self._goOptCtr:
oc_pos=obj.pos()
oc_sz=obj.size()
geo._opt_ctr=opt_ctr=np.array(-oc_pos-oc_sz/2)
_log.debug(f'{obj}->{opt_ctr} !!! NOT SAVED IN CONFIG !!!')
#cfg.setValue(AppCfg.GEO_OPT_CTR,bm_pos)
elif obj==self._goBeamMarker:
bm_pos=obj.pos()
bm_sz=obj.size()
obj._pos_eu=bm_pos=-geo.pix2pos(bm_pos+opt_ctr+bm_sz/2)
_log.debug(f'{obj}->{bm_pos} !!! NOT SAVED IN CONFIG !!!')
#cfg.setValue(AppCfg.GEO_BEAM_POS,bm_pos)
def cb_zoom_changed(self, value):
#self.zoomChanged.emit(value)
app=QApplication.instance()
geo=app._geometry
try:
geo.interp_zoom(value)
except AttributeError as e:
_log.warning(e)
else:
opt_ctr=geo._opt_ctr
bm_sz=cfg.value(AppCfg.GEO_BEAM_SZ)
bm_pos=cfg.value(AppCfg.GEO_BEAM_POS)
bm_sz=np.abs(geo.pos2pix(bm_sz))
bm_pos=-opt_ctr-geo.pos2pix(bm_pos)-bm_sz/2
bm=self._goBeamMarker
bm_sz=np.abs(geo.pos2pix(bm._size_eu))
bm_pos=-opt_ctr-geo.pos2pix(bm._pos_eu)-bm_sz/2
bm.blockSignals(True) # avoid to call cb_marker_moved
bm.setPos(bm_pos,finish=False)
bm.setSize(bm_sz)
bm.blockSignals(False)
_log.debug(f"zoom->{value} beam marker pos:{bm_pos} sz:{bm_sz})")
self.track_objects()
#self.update_beam_marker(value)
def safe_backlight_move(self, pos):
def cb_move_backlight_safe(self, pos):
# any move of backlight requires post sample tube out
try:
self.assert_post_tube_position(pos="out")
@@ -798,7 +820,7 @@ class SwissMxWnd(QMainWindow, Ui_MainWindow):
block.layout().addWidget(c)
return block
def axis_fault(self, pvname, kw):
def cb_axis_fault(self, pvname, kw):
"""
swissmx - {'pvname': 'SAR-EXPMX:MOT_FY.STAT', 'value': 0, 'char_value': 'NO_ALARM', 'status': 0, 'ftype': 17, 'chid': 38980392,
'host': 'SAR-CPPM-EXPMX1.psi.ch:5064', 'count': 1, 'access': 'read-only', 'write_access': False, 'read_access': True,
@@ -885,7 +907,7 @@ class SwissMxWnd(QMainWindow, Ui_MainWindow):
def active_task(self):
return self._active_task
def mouse_move_event(self, pos):
def cb_mouse_move(self, pos):
app = QApplication.instance()
self._mouse_pos = pos
task = self.active_task()
@@ -929,7 +951,7 @@ class SwissMxWnd(QMainWindow, Ui_MainWindow):
)
)
def mouse_click_event(self, event):
def cb_mouse_click(self, event):
#_log.debug("{}".format(event))
#_log.debug("screen pos {}".format(event.screenPos())) #pixel position on the whole screen
#_log.debug("scene pos {}".format(event.scenePos())) #pixel position on the scene (including black frame)
@@ -1191,50 +1213,36 @@ class SwissMxWnd(QMainWindow, Ui_MainWindow):
#x=imgPos.x();y=imgPos.y()
@pyqtSlot()
def saveSampleCameraScreenshot(self):
outf = self.get_screenshot_filename()
_log.info("saving original clean screenshot: {}".format(outf))
try:
sample_camera.saveimage(outf)
except Exception as e:
_log.warning(e)
QMessageBox.warning(self, "Screenshot: failed to save image", "Failed to save screenshot!")
@pyqtSlot()
def saveSampleCameraScreenshotView(self):
outf = self.get_screenshot_filename()
_log.info("saving view screenshot: {}".format(outf))
exporter = pg.exporters.ImageExporter(self.vb)
# set export parameters if needed
exporter.parameters()["width"] = 2000 # (note this also affects height parameter)
# save to file
try:
exporter.export(outf)
except Exception as e:
_log.warning(e)
QMessageBox.warning(self, "Screenshot: failed to save viewer image", "Failed to save screenshot of viewer!",)
def get_screenshot_filename(self):
global folders
_log.info("taking screenhot")
prefix = folders.prefix
folder = folders.res_folder
base = time.strftime("{}_%Y%m%d_%H%M%S.png".format(prefix))
if not os._exists(folder):
def cb_save_cam_image(self,overlays=False):
app=QApplication.instance()
cam=app._camera
filename, _ = QFileDialog.getSaveFileName(self,"Save data file",'', 'PNG files (*.png);;all files (*)')
if not filename:
return
_log.info(f"saving view screenshot: {filename}")
#try:
if not overlays:
import PIL.Image
#img=PIL.Image.fromarray(cam.pic.astype(np.uint8))
try:
os.makedirs(folder, 0o750, exist_ok=True)
except:
msg = "Failed to create folder: {}".format(folder)
_log.warning(msg)
QMessageBox.warning(self, "Screenshot: failed to create folder", "Failed to create output folder for screenshot!\n\n\tScreenshot not taken!",)
raise
outf = os.path.join(folder, base)
return outf
pic=cam.pic
except AttributeError:
sim=app._camera._sim
pic=cam._sim['imgSeq'][sim['imgIdx']]
img=PIL.Image.fromarray(pic)
img.save(filename)
else:
exporter = pg.exporters.ImageExporter(self.vb)
# set export parameters if needed
#exporter.parameters()["width"] = 2000 # (note this also affects height parameter)
# save to file
exporter.export(filename)
def execute_collection(self):
#except Exception as e:
# _log.warning(e)
# QMessageBox.warning(self, "Screenshot: failed to save image", "Failed to save screenshot!")
def cb_execute_collection(self):
app=QApplication.instance()
geo=app._geometry
#zoom=app._zoom.get_val()
@@ -1333,7 +1341,7 @@ class SwissMxWnd(QMainWindow, Ui_MainWindow):
elif task == TASK_EMBL:
self.daq_embl_collect_points()
def escape_goToSampleExchange(self):
def cb_esc_sample_exchange(self):
self._escape_current_state = "busy"
steps = []
if option(CRYOJET_MOTION_ENABLED):
@@ -1348,7 +1356,7 @@ class SwissMxWnd(QMainWindow, Ui_MainWindow):
self.escape_run_steps(steps, "Transitioning to Sample Exchange")
self._escape_current_state = "ManualSampleExchange"
def escape_goToSampleAlignment(self):
def cb_esc_sample_alignment(self):
app=QApplication.instance()
self._escape_current_state = "busy"
@@ -1362,7 +1370,7 @@ class SwissMxWnd(QMainWindow, Ui_MainWindow):
self.escape_run_steps(steps, "Transitioning to Sample Alignment")
self._escape_current_state = "SampleAlignment"
def escape_goToDataCollection(self):
def cb_esc_data_collection(self):
self._escape_current_state = "busy"
steps = [
# lambda: sample_selection.tell.set_current(30.0),
@@ -1375,19 +1383,19 @@ class SwissMxWnd(QMainWindow, Ui_MainWindow):
self.escape_run_steps(steps, "Transitioning to Data Collection")
self._escape_current_state = "DataCollection"
def really_quit(self):
def cb_really_quit(self):
"""called when user Ctrl-Q the app"""
if QMessageBox.question(self, "", "Are you sure you want to quit?", QMessageBox.Yes | QMessageBox.No, QMessageBox.No,) == QMessageBox.Yes:
self._do_quit = True
self.close()
def home_deltatau_faststages(self):
def cb_deltatau_home_faststages(self):
_log.warning("homing fast stages")
epics.PV("SAR-EXPMX1:ASYN.AOUT").put(b"enable plc 1")
def prepare_left_tabs(self):
tabs = self._left_tabs
tabs.currentChanged.connect(self.switch_task)
tabs.currentChanged.connect(self.cb_switch_task)
setup_tab = self._tab_setup
exp_tab = self._tab_experiment
@@ -1532,11 +1540,11 @@ class SwissMxWnd(QMainWindow, Ui_MainWindow):
#grp.layout().addWidget(self._ppm_feature_size_spinbox, 0, 1)
self._btn_pix2pos = but = QPushButton("pix2pos")
but.setCheckable(True)
but.clicked.connect(self.update_pix2pos)
but.clicked.connect(self.cb_update_pix2pos)
grp.layout().addWidget(but, 0, 0)
self._btn_opt_ctr = but = QPushButton("opt_ctr")
but.setCheckable(True)
but.clicked.connect(self.update_opt_ctr)
but.clicked.connect(self.cb_update_opt_ctr)
grp.layout().addWidget(but, 1, 0)
help = QTextBrowser()
@@ -1570,7 +1578,7 @@ class SwissMxWnd(QMainWindow, Ui_MainWindow):
# tbox.addItem(grp, "PPM ToolBox")
# self._ppm_toolbox = grp
tbox.currentChanged.connect(self.switch_task)
tbox.currentChanged.connect(self.cb_switch_task)
# final stretch
# setup_tab.layout().addStretch()
@@ -1610,7 +1618,7 @@ class SwissMxWnd(QMainWindow, Ui_MainWindow):
#tab.layout().addWidget(self._preloc_inspect_area)
def switch_task(self, index=0):
def cb_switch_task(self, index=0):
stack = self._centerpiece_stack
task = self._left_tabs.currentWidget().accessibleName()
setup_task = self._setup_toolbox.currentWidget().accessibleName()
@@ -1633,7 +1641,7 @@ class SwissMxWnd(QMainWindow, Ui_MainWindow):
self.set_active_task(active_task)
self._status_task.setText(active_task)
def update_pix2pos(self, calib):
def cb_update_pix2pos(self, calib):
app=QApplication.instance()
if calib:
_log.info("received new pix2pos calibration")
@@ -1644,11 +1652,11 @@ class SwissMxWnd(QMainWindow, Ui_MainWindow):
res=QMessageBox.question(self, "calibration", f"use calibration\n{s} ? ")
if res==QMessageBox.Yes:
geo=app._geometry
geo.update_pix2pos(app._raw_pix2pos)
geo.cb_update_pix2pos(app._raw_pix2pos)
app._cfg.setValue(AppCfg.GEO_PIX2POS, geo._lut_pix2pos)
del app._raw_pix2pos
def update_opt_ctr(self, calib):
def cb_update_opt_ctr(self, calib):
app=QApplication.instance()
if calib:
_log.info("received new pix2pos calibration")
@@ -1732,6 +1740,7 @@ class SwissMxWnd(QMainWindow, Ui_MainWindow):
sz=np.array(go._dscr['size'])
fid=fid/sz
trf=geometry.geometry.least_square_trf(ptFitTrf,fid)
print(trf)
tr=go.transform()
tr.setMatrix(1, trf[1,0]/trf[0,0], 0,
trf[0,1]/trf[1,1], 1, 0,
@@ -2044,7 +2053,7 @@ class SwissMxWnd(QMainWindow, Ui_MainWindow):
)
self.move_gonio_to_mount_position(offset=self._pin_mounting_offset)
elif "samplealignment" in state:
self.escape_goToSampleAlignment()
self.cb_esc_sample_alignment()
except:
zescape.reply("Maintenance")
zescape.reply(self._escape_current_state)
@@ -2238,12 +2247,12 @@ class SwissMxWnd(QMainWindow, Ui_MainWindow):
self.engage_mouse_tracking()
def _OLD_engage_mouse_tracking(self):
self.glw.scene().sigMouseMoved.connect(self.mouse_move_event)
self.glw.scene().sigMouseMoved.connect(self.cb_mouse_move)
self.glw.scene().sigMouseMoved.emit()
self._mouse_tracking = True
def _OLD_disengage_mouse_tracking(self):
self.glw.scene().sigMouseMoved.disconnect(self.mouse_move_event)
self.glw.scene().sigMouseMoved.disconnect(self.cb_mouse_move)
self._mouse_tracking = False
self._lb_coords.setText("")
@@ -2376,7 +2385,7 @@ class SwissMxWnd(QMainWindow, Ui_MainWindow):
(omega, t_omega, 0.01),
]
)
self.escape_goToSampleExchange()
self.cb_esc_sample_exchange()
def _OLD_lock_goniometer(self):
# tell.set_in_mount_position(True)
@@ -3063,7 +3072,7 @@ class SwissMxWnd(QMainWindow, Ui_MainWindow):
self.daq_method_prelocated_update_markers()
if option(ACTIVATE_PULSE_PICKER) or not option(SKIP_ESCAPE_TRANSITIONS_IF_SAFE):
self.escape_goToSampleAlignment()
self.cb_esc_sample_alignment()
sequence = {"delta tau program": shapepath.prg, "points": shapepath.points.tolist(), "timestamp": tdstamp(),}
@@ -3111,7 +3120,7 @@ class SwissMxWnd(QMainWindow, Ui_MainWindow):
return
if option(ACTIVATE_PULSE_PICKER) or not option(SKIP_ESCAPE_TRANSITIONS_IF_SAFE):
self.escape_goToDataCollection()
self.cb_esc_data_collection()
folders.make_if_needed()
@@ -3260,7 +3269,7 @@ class SwissMxWnd(QMainWindow, Ui_MainWindow):
self.re_connect_collect_button()
jungfrau_detector.abort()
if option(ACTIVATE_PULSE_PICKER) or not option(SKIP_ESCAPE_TRANSITIONS_IF_SAFE):
self.escape_goToSampleAlignment()
self.cb_esc_sample_alignment()
self.increaseRunNumberRequest.emit()
if option(DELTATAU_SHOW_PLOTS):
@@ -3323,15 +3332,15 @@ class SwissMxWnd(QMainWindow, Ui_MainWindow):
but = QPushButton("Exchange\nSample")
but.setAccessibleName("escape_button_se")
but.setObjectName("action_SampleExchange")
but.clicked.connect(self.escape_goToSampleExchange)
but.clicked.connect(self.cb_esc_sample_exchange)
layout.addWidget(but)
but = QPushButton("Alignment")
but.setAccessibleName("escape_button_sa")
but.clicked.connect(self.escape_goToSampleAlignment)
but.clicked.connect(self.cb_esc_sample_alignment)
layout.addWidget(but)
but = QPushButton("Collection")
but.setAccessibleName("escape_button_dc")
but.clicked.connect(self.escape_goToDataCollection)
but.clicked.connect(self.cb_esc_data_collection)
layout.addWidget(but)
cont.layout().addWidget(w)
@@ -3565,7 +3574,7 @@ if __name__=="__main__":
startupWin.set(60, f'start main window')
app._mainWnd=wnd=SwissMxWnd()
app._mainWnd=wnd=WndSwissMx()
wnd.show()
startupWin._wnd.finish(wnd)