add ModuleFixTarget tab
This commit is contained in:
101
swissmx.py
101
swissmx.py
@@ -69,6 +69,8 @@ TASK_PRELOCATED = "prelocated"
|
||||
TASK_HELICAL = "helical"
|
||||
TASK_EMBL = "embl"
|
||||
ts.log('Import part 2/8:')
|
||||
|
||||
import ModuleFixTarget
|
||||
import PrelocatedCoordinatesModel # ZAC: orig. code
|
||||
from EmblModule import EmblWidget #ZAC: orig. code
|
||||
from HelicalTable import HelicalTableWidget #ZAC: orig. code
|
||||
@@ -644,6 +646,19 @@ class SwissMxWnd(QMainWindow, Ui_MainWindow):
|
||||
camera.epics_cam.set_fiducial(pic, 255)
|
||||
self._goImg.setImage(pic)
|
||||
|
||||
def new_frame_sim_cb(self, **kwargs):
|
||||
app=QApplication.instance()
|
||||
sim=app._camera._sim
|
||||
imgSeq=sim['imgSeq']
|
||||
idx=sim['imgIdx']
|
||||
sim['imgIdx']=(idx+1)%imgSeq.shape[0]
|
||||
# _log.info('simulated idx:{}'.format(idx))
|
||||
pic=imgSeq[idx]
|
||||
self._goImg.setImage(pic)
|
||||
|
||||
delay=500 # ms -> 2fps
|
||||
QtCore.QTimer.singleShot(delay, self.new_frame_sim_cb)
|
||||
|
||||
def load_stylesheet(self):
|
||||
with open("swissmx.css", "r") as sheet:
|
||||
self.setStyleSheet(sheet.read())
|
||||
@@ -673,11 +688,11 @@ class SwissMxWnd(QMainWindow, Ui_MainWindow):
|
||||
toolbox = QToolBox()
|
||||
layout.addWidget(toolbox)
|
||||
|
||||
self.build_faststage_group(toolbox)
|
||||
self.build_group_faststage(toolbox)
|
||||
# self.build_slits_group(toolbox)
|
||||
self.build_collimator_group(toolbox)
|
||||
self.build_posttube_group(toolbox)
|
||||
self.build_xeye_group(toolbox)
|
||||
self.build_group_collimator(toolbox)
|
||||
self.build_group_posttube(toolbox)
|
||||
self.build_group_xeye(toolbox)
|
||||
#self.build_cryo_group(toolbox)
|
||||
|
||||
# monitor all axis for an axis fault
|
||||
@@ -801,7 +816,7 @@ class SwissMxWnd(QMainWindow, Ui_MainWindow):
|
||||
msg = ""
|
||||
self._message_critical_fault.setText(msg)
|
||||
|
||||
def build_faststage_group(self, toolbox):
|
||||
def build_group_faststage(self, toolbox):
|
||||
qutilities.add_item_to_toolbox(toolbox,"Fast Stage",
|
||||
widget_list=[
|
||||
# self.get_tweaker('SAR-EXPMX:MOT_BLGT', alias='backlight', label='backlight'),
|
||||
@@ -813,7 +828,7 @@ class SwissMxWnd(QMainWindow, Ui_MainWindow):
|
||||
],
|
||||
)
|
||||
|
||||
def build_collimator_group(self, toolbox):
|
||||
def build_group_collimator(self, toolbox):
|
||||
qutilities.add_item_to_toolbox(toolbox,"Collimator",
|
||||
widget_list=[
|
||||
self.get_tweaker("SARES30-ESBMX1", alias="colli_x", label="colli X", mtype="smaract_motor",),
|
||||
@@ -821,7 +836,7 @@ class SwissMxWnd(QMainWindow, Ui_MainWindow):
|
||||
],
|
||||
)
|
||||
|
||||
def build_posttube_group(self, toolbox):
|
||||
def build_group_posttube(self, toolbox):
|
||||
widgets = [
|
||||
self.get_tweaker("SARES30-ESBMX4", alias="tube_usx", label="upstream X", mtype="smaract_motor",),
|
||||
self.get_tweaker("SARES30-ESBMX6", alias="tube_usy", label="upstream Y", mtype="smaract_motor",),
|
||||
@@ -851,7 +866,7 @@ class SwissMxWnd(QMainWindow, Ui_MainWindow):
|
||||
block.layout().addStretch()
|
||||
toolbox.addItem(block, label)
|
||||
|
||||
def build_xeye_group(self, toolbox):
|
||||
def build_group_xeye(self, toolbox):
|
||||
qutilities.add_item_to_toolbox(
|
||||
toolbox,
|
||||
"X-Ray Eye",
|
||||
@@ -1509,12 +1524,33 @@ class SwissMxWnd(QMainWindow, Ui_MainWindow):
|
||||
exp_tab.layout().addStretch()
|
||||
|
||||
# DAQ Methods Tabs
|
||||
self.build_tab_module_fix_target()
|
||||
self._OLD_build_daq_methods_grid_tab()
|
||||
self._OLD_build_daq_methods_prelocated_tab() #ZAC: orig. code
|
||||
self._OLD_create_helical_widgets() #ZAC: orig. code
|
||||
self._OLD_build_daq_methods_embl_tab()
|
||||
#self._OLD_build_sample_selection_tab()
|
||||
|
||||
def build_tab_module_fix_target(self):
|
||||
#tab = self._tab_daq_method_prelocated
|
||||
data=self._goTracked['objLst']
|
||||
|
||||
self._moduleFixTarget =mft = ModuleFixTarget.WndFixTarget(self,data)
|
||||
tab = self._tabs_daq_methods.insertTab(0,mft,'Fix Target')
|
||||
mft._btnAdd.clicked.connect(self.module_fix_target_add_obj)
|
||||
|
||||
|
||||
#tab.layout().addWidget(mft)
|
||||
mft.prefixSelected.connect(lambda prefix: self._le_prefix.setText(prefix))
|
||||
mft.dataFileLoaded.connect(self._OLD_daq_method_prelocated_update_markers)
|
||||
mft.prelocatedDataUpdated.connect(self._OLD_daq_method_prelocated_update_markers)
|
||||
mft.markersDeleted.connect(self._OLD_daq_method_prelocated_remove_markers)
|
||||
mft.moveFastStageRequest.connect(self._OLD_move_fast_stage)
|
||||
self.fiducialPositionSelected.connect(self._OLD_daq_method_prelocated_set_fiducial)
|
||||
self.appendPrelocatedPosition.connect(self._OLD_daq_method_prelocated_append_data)
|
||||
#self._preloc_inspect_area = QPlainTextEdit()
|
||||
#tab.layout().addWidget(self._preloc_inspect_area)
|
||||
|
||||
|
||||
def switch_task(self, index=0):
|
||||
stack = self._centerpiece_stack
|
||||
@@ -1573,8 +1609,42 @@ class SwissMxWnd(QMainWindow, Ui_MainWindow):
|
||||
del app._raw_opt_ctr
|
||||
return
|
||||
|
||||
def module_fix_target_add_obj(self,*args,**kwargs):
|
||||
mft=self._moduleFixTarget
|
||||
fx=self.tweakers["fast_x"].get_rbv()
|
||||
fy=self.tweakers["fast_y"].get_rbv()
|
||||
#cz=self.tweakers["fast_y"].get_rbv()
|
||||
app=QApplication.instance()
|
||||
geo=app._geometry
|
||||
oc=geo._opt_ctr
|
||||
idx=mft._cbType.currentIndex()
|
||||
param=mft._txtParam.text()
|
||||
|
||||
# **************** OBSOLETE AND/OR OLD STUFF ****************
|
||||
#cb.addItems(["Fiducial", "FixTarget(12.5x12.5)", "FixTarget(23.0x23.0)", "FixTarget(<param>)", "Grid(<param>)"])
|
||||
|
||||
if idx==0:
|
||||
go=UsrGO.Fiducial((120, -100), (200, 150),(1,2,3))
|
||||
elif idx==1:
|
||||
v=geo.pos2pix((12.5, 0))
|
||||
l=np.linalg.norm(v)
|
||||
go=UsrGO.FixTargetFrame(-oc, (l, l), tpl='12.5x12.5')
|
||||
elif idx==2:
|
||||
v=geo.pos2pix((23, 0))
|
||||
l=np.linalg.norm(v)
|
||||
go=UsrGO.FixTargetFrame(-oc, (l, l), tpl='23.0x23.0')
|
||||
elif idx==3:
|
||||
go=UsrGO.FixTargetFrame((120, -100), (200, 150), tpl='test')
|
||||
elif idx==4:
|
||||
go=UsrGO.Grid((120, -100), (200, 150), (30, 22), 2)
|
||||
else:
|
||||
|
||||
_log.error('set xstep 0..2 for tests')
|
||||
self.vb.addItem(go)
|
||||
obj=self._goTracked['objLst']
|
||||
obj.append(go)
|
||||
mft._tree.setData(obj)
|
||||
|
||||
# **************** OBSOLETE AND/OR OLD STUFF ****************
|
||||
|
||||
|
||||
# functions are prefixed with _OLD_
|
||||
@@ -1677,19 +1747,6 @@ class SwissMxWnd(QMainWindow, Ui_MainWindow):
|
||||
app=QApplication.instance()
|
||||
app._camera.pause()
|
||||
|
||||
def _OLD_new_frame_sim_cb(self, **kwargs):
|
||||
app=QApplication.instance()
|
||||
sim=app._camera._sim
|
||||
imgSeq=sim['imgSeq']
|
||||
idx=sim['imgIdx']
|
||||
sim['imgIdx']=(idx+1)%imgSeq.shape[0]
|
||||
# _log.info('simulated idx:{}'.format(idx))
|
||||
pic=imgSeq[idx]
|
||||
self._goImg.setImage(pic)
|
||||
|
||||
delay=500 # ms -> 2fps
|
||||
QtCore.QTimer.singleShot(delay, self.new_frame_sim_cb)
|
||||
|
||||
def _OLD_init_settings_tracker(self):
|
||||
app=QApplication.instance()
|
||||
cfg=app._cfg
|
||||
|
||||
Reference in New Issue
Block a user