DAQ: Minor fixes to logic for setting up JFJoch dataset

This commit is contained in:
leonarski_f committed 2025-06-24 11:12:33 +02:00
1 parent 35e7ad3ce0
commit 7298f75dfa
2 files changed
+30 -74

No files matched your search

+23 -69
View File
@@ -150,79 +150,32 @@ class AareWrapper:
verify=False, headers=headers)
print(response.status_code)
def create_characterization_run(self, s: Optional[SampleShortInfo], r:RotationScanRequest, d:DAQStatusModel):
if s is None:
return
try:
characterization = CharacterizationParameters(
omegaStart_deg=r.start_omega_deg,
omegaStep=r.incr_omega_deg,
phi=d.geom.smargon.phi_deg,
chi=d.geom.smargon.chi_deg,
numberOfImages=r.steps,
exposureTime_s=r.exp_time_s,
)
dataset = Datasets(
filepath=r.file_prefix,
status="written",
written_at=datetime.datetime.now()
)
detector_data = DetectorParameters(
manufacturer="DECTRIS",
model=d.diffraction.detector_description,
type="photon-counting",
serialNumber=d.diffraction.detector_serial_number,
detectorDistance_mm=r.dtz,
beamCenterX_px=d.diffraction.beam_center_pxl[0],
beamCenterY_px=d.diffraction.beam_center_pxl[1],
pixelSizeX_um=d.diffraction.pixel_size_mm * 1000,
pixelSizeY_um=d.diffraction.pixel_size_mm * 1000,
dataset=dataset
)
beamline_params = BeamlineParametersInput(
synchrotron="Swiss Light Source",
beamline=d.bl.name,
detector=detector_data,
energy_keV=d.diffraction.energy_keV,
wavelength_Ang=d.diffraction.wavelength_angstrom,
ringCurrent_mA=d.bl.ring_current_mA,
ringMode="Beamline Development",
monochromator="Si111",
transmission=r.transmission,
focusingOptic="Kirkpatrick-Baez",
beamlineFluxAtSample_ph_s=d.bl.flux_ph_s,
beamSizeWidth=d.geom.beam_size_mm.x * 100,
beamSizeHeight=d.geom.beam_size_mm.y * 100,
cryojetTemperature_K=d.bl.cryojet_K,
characterization=characterization,
)
experiment_params_payload = ExperimentParametersCreate(
type="standard",
beamline_parameters=beamline_params,
sample_id=s.db_id
)
response = self.__sample_api.create_experiment_parameters_for_sample(
sample_id=s.db_id,
experiment_parameters_create=experiment_params_payload
)
print("Experiment parameters created:", response)
except Exception as e:
print(e)
def create_rotation_run(self, s: Optional[SampleShortInfo], r:RotationScanRequest, d:DAQStatusModel):
if s is None:
return
try:
rotation = RotationParameters(
omegaStart_deg=r.start_omega_deg,
omegaStep=r.incr_omega_deg,
phi=d.geom.smargon.phi_deg,
chi=d.geom.smargon.chi_deg,
numberOfImages=r.steps,
exposureTime_s=r.exp_time_s,
)
if r.screening:
characterization = CharacterizationParameters(
omegaStart_deg=r.start_omega_deg,
omegaStep=r.incr_omega_deg,
phi=d.geom.smargon.phi_deg,
chi=d.geom.smargon.chi_deg,
numberOfImages=r.steps,
exposureTime_s=r.exp_time_s,
oscillation_deg=r.wedge_omega_deg
)
rotation = None
else:
rotation = RotationParameters(
omegaStart_deg=r.start_omega_deg,
omegaStep=r.incr_omega_deg,
phi=d.geom.smargon.phi_deg,
chi=d.geom.smargon.chi_deg,
numberOfImages=r.steps,
exposureTime_s=r.exp_time_s,
)
characterization = None
dataset = Datasets(
filepath=r.file_prefix,
status="written",
@@ -255,7 +208,8 @@ class AareWrapper:
beamSizeWidth=d.geom.beam_size_mm.x * 100,
beamSizeHeight=d.geom.beam_size_mm.y * 100,
cryojetTemperature_K=d.bl.cryojet_K,
rotation=rotation
rotation=rotation,
characterization=characterization
)
experiment_params_payload = ExperimentParametersCreate(
type="standard",
+7 -5
View File
@@ -51,7 +51,7 @@ class JFJochWrapper:
step=r.incr_omega_deg,
start=r.start_omega_deg,
name="omega",
vector= [0,1,0],
vector= [1,0,0],
screening_wedge_deg = wedge
)
@@ -67,14 +67,16 @@ class JFJochWrapper:
beam_y_pxl=s.diffraction.beam_center_pxl[1],
ntrigger= trigger,
images_per_trigger=images,
detector_distance_mm=s.diffraction.dtz_mm,
detector_distance_mm=r.dtz,
file_prefix=f"{pgroup}/raw/{r.file_prefix}",
incident_energy_keV=s.diffraction.energy_keV,
goniometer=goniometer_settings,
sample_name=sample,
image_time_us=round(r.exp_time_s * 1e6),
experiment_group=pgroup,
transmission=s.bl.transmission
transmission=s.bl.transmission,
ring_current_mA=s.bl.ring_current_mA,
sample_temperature_K=s.bl.cryojet_K
)
self.__api.start_post(dataset_settings=dataset_settings)
@@ -109,8 +111,8 @@ class JFJochWrapper:
image_time_us=round(r.exp_time_s * 1e6),
experiment_group=pgroup,
transmission=s.bl.transmission,
ring_current_m_a=s.bl.ring_current_mA,
sample_temperature_k=s.bl.cryojet_K
ring_current_mA=s.bl.ring_current_mA,
sample_temperature_K=s.bl.cryojet_K
)
self.__api.start_post(dataset_settings=dataset_settings)