tomoscan.tomoscan_13bm_mcs
¶
Software for tomography scanning with EPICS at APS beamline 13-BM-D
Classes¶
- TomoScan13BM_MCS
Derived class for tomography scanning with EPICS at APS beamline 13-BM-D using the OMS-58 controller step output and the SIS233820 MCS as the trigger source
Functions:
Software for tomography scanning with EPICS at APS beamline 13-BM-D |
- class tomoscan.tomoscan_13bm_mcs.TomoScan13BM_MCS(pv_files, macros)[source]¶
Bases:
TomoScan
- Derived class used for tomography scanning with EPICS at APS beamline 13-BM-D
using the OMS-58 controller step output and the SIS233820 MCS as the trigger source
- Parameters
pv_files (list of str) – List of files containing EPICS pvNames to be used.
macros (dict) – Dictionary of macro definitions to be substituted when reading the pv_files
- abort_scan()[source]¶
Performs the operations needed when a scan is aborted.
This does the following:
Calls the base class method.
- begin_scan()[source]¶
Performs the operations needed at the very start of a scan.
This does the following:
Calls the base class method.
Collects 3 dummy images with
collect_static_frames
. This is required when switching from “FreeRun” to triggered mode on the Point Grey camera.Waits for 1 exposure time because the MCS LNE output stays low for up to the exposure time.
- collect_dark_fields()[source]¶
Collects dark field images.
Calls
collect_static_frames()
with the number of images specified by theNumDarkFields
PV.
- collect_flat_fields()[source]¶
Collects flat field images.
Calls
collect_static_frames()
with the number of images specified by theNumFlatFields
PV.
- collect_projections()[source]¶
Collects projections in fly scan mode.
This does the following: - Sets the
ScanStatus
PV.Moves the rotation motor to the position specified by the
RotationStart
PV minus a delta angle so that the first projection is centered on that position, and also compensates for the behavior of the SIS MCS.Computes and sets the speed of the rotation motor so that it reaches the next projection angle just after the current exposure and readout are complete.
Sets the prescale factor of the MCS to be the number of motor pulses per rotation angle. The MCS is set to external trigger mode and is triggered by the stepper motor pulses for the rotation stage.
Starts the file plugin capturing in stream mode.
Starts the camera acquiring in external trigger mode.
Starts the MCS acquiring.
Moves the rotation motor to the position specified by the
RotationStop
PV. This triggers the acquisition of the camera.Calls
wait_camera_done()
.
- collect_static_frames(num_frames)[source]¶
Collects num_frames images in “MCSInternal” trigger mode for dark fields and flat fields.
- Parameters
num_frames (int) – Number of frames to collect.
- end_scan()[source]¶
Performs the operations needed at the very end of a scan.
This does the following:
Calls
save_configuration()
.Put the camera back in “FreeRun” mode and acquiring so the user sees live images.
Sets the speed of the rotation stage back to the maximum value.
Calls
move_sample_in()
.Calls the base class method.
- set_trigger_mode(trigger_mode, num_images)[source]¶
Sets the trigger mode SIS3820 and the camera.
- Parameters
trigger_mode (str) – Choices are: “FreeRun”, “MCSInternal”, or “MCSExternal”
num_images (int) – Number of images to collect. Ignored if trigger_mode=”FreeRun”. This is used to set the
NuseAll
PV of the SIS MCS and theNumImages
PV of the camera.