DAQ: Minor fixes to logic for setting up JFJoch dataset
This commit is contained in:
1 parent
35e7ad3ce0
commit
7298f75dfa
2 files changed
+30
-74
No files matched your search
+23
-69
@@ -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",
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
Reference in new issue
Block a user