This commit is contained in:
@@ -1004,6 +1004,20 @@ class FlomniAlignmentMixin:
|
||||
with open(os.path.join(dir_path, "ptychotomoalign_Cy3.txt"), "r") as file:
|
||||
tomo_alignment_fit[1][4] = file.readline()
|
||||
|
||||
tomo_alignment_fit[0][0] = gui.flomni.xeyegui.XRayEye.Waveform.fit_x_SineModel.dap_params['amplitude']
|
||||
tomo_alignment_fit[0][1] = gui.flomni.xeyegui.XRayEye.Waveform.fit_x_SineModel.dap_params['frequency']
|
||||
tomo_alignment_fit[0][2] = gui.flomni.xeyegui.XRayEye.Waveform.fit_x_SineModel.dap_params['shift']
|
||||
tomo_alignment_fit[1][0] = gui.flomni.xeyegui.XRayEye.Waveform_0.fit_y_SineModel.dap_params['amplitude']
|
||||
tomo_alignment_fit[1][1] = gui.flomni.xeyegui.XRayEye.Waveform_0.fit_y_SineModel.dap_params['frequency']
|
||||
tomo_alignment_fit[1][2] = gui.flomni.xeyegui.XRayEye.Waveform_0.fit_y_SineModel.dap_params['shift']
|
||||
print("applying vertical default values from mirror calibration, not from fit!")
|
||||
tomo_alignment_fit[1][0] = 0
|
||||
tomo_alignment_fit[1][1] = 0
|
||||
tomo_alignment_fit[1][2] = 0
|
||||
tomo_alignment_fit[1][3] = 0
|
||||
tomo_alignment_fit[1][4] = 0
|
||||
|
||||
|
||||
print("New alignment parameters loaded:")
|
||||
print(
|
||||
f"X Amplitude {tomo_alignment_fit[0][0]}, "
|
||||
|
||||
@@ -80,8 +80,8 @@ class XrayEyeAlign:
|
||||
def update_fov(self, k: int):
|
||||
# self._xray_fov_xy[0] = max(epics_get(f"XOMNYI-XEYE-XWIDTH_X:{k}"), self._xray_fov_xy[0])
|
||||
# self._xray_fov_xy[1] = max(epics_get(f"XOMNYI-XEYE-YWIDTH_Y:{k}"), self._xray_fov_xy[1])
|
||||
self._xray_fov_xy[0] = max(getattr(dev.omny_xray_gui.width_x, f"width_x_{k}").get(), self._xray_fov_xy[0])
|
||||
self._xray_fov_xy[1] = max(getattr(dev.omny_xray_gui.width_y, f"width_y_{k}").get(), self._xray_fov_xy[1])
|
||||
self._xray_fov_xy[0] = max(getattr(dev.omny_xray_gui, f"width_x_{k}").get(), self._xray_fov_xy[0])
|
||||
self._xray_fov_xy[1] = max(getattr(dev.omny_xray_gui, f"width_y_{k}").get(), self._xray_fov_xy[1])
|
||||
|
||||
# @property
|
||||
# def movement_buttons_enabled(self):
|
||||
@@ -173,7 +173,7 @@ class XrayEyeAlign:
|
||||
time.sleep(0.1)
|
||||
dev.omny_xray_gui.submit.set(0)
|
||||
#epics_put("XOMNYI-XEYE-SUBMIT:0", 0)
|
||||
self.alignment_values[k] = getattr(dev.omny_xray_gui.xval_x, f"xval_x_{k}").get() / 2 * self.PIXEL_CALIBRATION # in mm
|
||||
self.alignment_values[k] = getattr(dev.omny_xray_gui, f"xval_x_{k}").get() / 2 * self.PIXEL_CALIBRATION # in mm
|
||||
#val_x = epics_get(f"XOMNYI-XEYE-XVAL_X:{k}") / 2 * self.PIXEL_CALIBRATION # in mm
|
||||
#self.alignment_values[k] = val_x
|
||||
print(f"Clicked position {k}: x {self.alignment_values[k]}")
|
||||
|
||||
@@ -414,9 +414,9 @@ cam_ids_rgb:
|
||||
deviceConfig:
|
||||
camera_id: 203
|
||||
bits_per_pixel: 24
|
||||
num_rotation_90: 3
|
||||
num_rotation_90: 2
|
||||
transpose: false
|
||||
force_monochrome: true
|
||||
force_monochrome: false
|
||||
m_n_colormode: 1
|
||||
enabled: true
|
||||
onFailure: buffer
|
||||
@@ -450,7 +450,7 @@ omnyfsh:
|
||||
#################### GUI Signals ###########################
|
||||
############################################################
|
||||
omny_xray_gui:
|
||||
description: Gui Epics signals
|
||||
description: Gui signals
|
||||
deviceClass: csaxs_bec.devices.omny.xray_epics_gui.OMNYXRayAlignGUI
|
||||
deviceConfig: {}
|
||||
enabled: true
|
||||
|
||||
@@ -1,79 +1,46 @@
|
||||
import numpy as np
|
||||
from ophyd import Component as Cpt, Signal
|
||||
from ophyd import Component as Cpt, Signal, EpicsSignal
|
||||
from ophyd import Device
|
||||
from ophyd import DynamicDeviceComponent as Dcpt
|
||||
#from ophyd import EpicsSignal
|
||||
|
||||
|
||||
|
||||
class OMNYXRayAlignGUI(Device):
|
||||
|
||||
# save_frame = Cpt(
|
||||
# EpicsSignal, name="save_frame", read_pv="XOMNYI-XEYE-SAVFRAME:0",auto_monitor=True
|
||||
# )
|
||||
update_frame_acqdone = Cpt(
|
||||
Signal, name="update_frame_acqdone", read_pv="XOMNYI-XEYE-ACQDONE:0",auto_monitor=True
|
||||
)
|
||||
update_frame_acq = Cpt(
|
||||
Signal, name="update_frame_acq", read_pv="XOMNYI-XEYE-ACQ:0",auto_monitor=True
|
||||
)
|
||||
width_y_dynamic = {
|
||||
f"width_y_{i}": (Signal, f"XOMNYI-XEYE-YWIDTH_Y:{i}", {"auto_monitor": True}) for i in range(0, 11)
|
||||
}
|
||||
width_y = Dcpt(width_y_dynamic)
|
||||
width_x_dynamic = {
|
||||
f"width_x_{i}": (Signal, f"XOMNYI-XEYE-XWIDTH_X:{i}", {"auto_monitor": True}) for i in range(0, 11)
|
||||
}
|
||||
width_x = Dcpt(width_x_dynamic)
|
||||
enable_mv_x = Cpt(
|
||||
Signal, name="enable_mv_x", read_pv="XOMNYI-XEYE-ENAMVX:0",auto_monitor=True
|
||||
)
|
||||
enable_mv_y = Cpt(
|
||||
Signal, name="enable_mv_y", read_pv="XOMNYI-XEYE-ENAMVY:0",auto_monitor=True
|
||||
)
|
||||
send_message = Cpt(
|
||||
Signal, name="send_message", read_pv="XOMNYI-XEYE-MESSAGE:0.DESC",auto_monitor=True
|
||||
)
|
||||
sample_name = Cpt(
|
||||
Signal, name="sample_name", read_pv="XOMNYI-XEYE-SAMPLENAME:0.DESC",auto_monitor=True
|
||||
)
|
||||
angle = Cpt(
|
||||
Signal, name="angle", read_pv="XOMNYI-XEYE-ANGLE:0",auto_monitor=True
|
||||
)
|
||||
pixel_size = Cpt(
|
||||
Signal, name="pixel_size", read_pv="XOMNYI-XEYE-PIXELSIZE:0",auto_monitor=True
|
||||
)
|
||||
update_frame_acqdone = Cpt(Signal, value=0)
|
||||
update_frame_acq = Cpt(Signal, value=0)
|
||||
enable_mv_x = Cpt(Signal, value=0)
|
||||
enable_mv_y = Cpt(Signal, value=0)
|
||||
send_message = Cpt(Signal, value=0)
|
||||
sample_name = Cpt(Signal, value=0)
|
||||
angle = Cpt(Signal, value=0)
|
||||
pixel_size = Cpt(Signal, value=0)
|
||||
submit = Cpt(
|
||||
Signal, name="submit", read_pv="XOMNYI-XEYE-SUBMIT:0",auto_monitor=True
|
||||
)
|
||||
step = Cpt(
|
||||
Signal, name="step", read_pv="XOMNYI-XEYE-STEP:0",auto_monitor=True
|
||||
)
|
||||
xval_x_dynamic = {
|
||||
f"xval_x_{i}": (Signal, f"XOMNYI-XEYE-XVAL_X:{i}", {"auto_monitor": True}) for i in range(0, 11)
|
||||
}
|
||||
xval_x = Dcpt(xval_x_dynamic)
|
||||
yval_y_dynamic = {
|
||||
f"yval_y_{i}": (Signal, f"XOMNYI-XEYE-YVAL_Y:{i}", {"auto_monitor": True}) for i in range(0, 11)
|
||||
}
|
||||
yval_y = Dcpt(yval_y_dynamic)
|
||||
recbg = Cpt(
|
||||
Signal, name="recbg", read_pv="XOMNYI-XEYE-RECBG:0",auto_monitor=True
|
||||
)
|
||||
stage_pos_x_dynamic = {
|
||||
f"stage_pos_x_{i}": (Signal, f"XOMNYI-XEYE-STAGEPOSX:{i}", {"auto_monitor": True}) for i in range(1, 6)
|
||||
}
|
||||
stage_pos_x = Dcpt(stage_pos_x_dynamic)
|
||||
mvx = Cpt(
|
||||
Signal, name="mvx", read_pv="XOMNYI-XEYE-MVX:0",auto_monitor=True
|
||||
)
|
||||
mvy = Cpt(
|
||||
Signal, name="mvy", read_pv="XOMNYI-XEYE-MVY:0",auto_monitor=True
|
||||
)
|
||||
EpicsSignal, name="submit", read_pv="XOMNYI-XEYE-SUBMIT:0",auto_monitor=True
|
||||
)
|
||||
step = Cpt(Signal, value=0)
|
||||
recbg = Cpt(Signal, value=0)
|
||||
mvx = Cpt(Signal, value=0)
|
||||
mvy = Cpt(Signal, value=0)
|
||||
|
||||
fit_array = Cpt(Signal, value=np.zeros((3, 10)))
|
||||
fit_params_x = Cpt(Signal, value=np.zeros((2, 3)))
|
||||
fit_params_y = Cpt(Signal, value=np.zeros((2, 3)))
|
||||
|
||||
# Generate width_y_0 to width_y_10
|
||||
for i in range(11):
|
||||
locals()[f'width_y_{i}'] = Cpt(Signal, value=0)
|
||||
|
||||
|
||||
fit_array = Cpt(Signal, name="fit_array", value=np.zeros((3, 10)))#, dtype=np.float32))
|
||||
fit_params_x = Cpt(Signal, name="fit_params_x", value=np.zeros((2,3)))#, dtype=np.float32))
|
||||
fit_params_y = Cpt(Signal, name="fit_params_y", value=np.zeros((2,3)))#, dtype=np.float32))
|
||||
|
||||
|
||||
# Generate width_x_0 to width_x_10
|
||||
for i in range(11):
|
||||
locals()[f'width_x_{i}'] = Cpt(Signal, value=0)
|
||||
|
||||
# Generate xval_x_0 to xval_x_10
|
||||
for i in range(11):
|
||||
locals()[f'xval_x_{i}'] = Cpt(Signal, value=0)
|
||||
|
||||
# Generate yval_y_0 to yval_y_10
|
||||
for i in range(11):
|
||||
locals()[f'yval_y_{i}'] = Cpt(Signal, value=0)
|
||||
|
||||
# Generate stage_pos_x_1 to stage_pos_x_5
|
||||
for i in range(1, 6):
|
||||
locals()[f'stage_pos_x_{i}'] = Cpt(Signal, value=0)
|
||||
|
||||
Reference in New Issue
Block a user