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:

tomoscan.tomoscan_13bm_mcs

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 the NumDarkFields PV.

collect_flat_fields()[source]

Collects flat field images.

Calls collect_static_frames() with the number of images specified by the NumFlatFields 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 the NumImages PV of the camera.