tomoscan.tomoscan_pso

Software for tomography scanning with EPICS

Classes

TomoScanPSO

Derived class for tomography scanning with EPICS using Aerotech controllers and PSO trigger outputs

Functions:

tomoscan.tomoscan_pso

Software for tomography scanning with EPICS

class tomoscan.tomoscan_pso.TomoScanPSO(pv_files, macros)[source]

Bases: TomoScan

Derived class used for tomography scanning with EPICS using Aerotech controllers and PSO trigger outputs

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

begin_scan()[source]

Performs the operations needed at the very start of a scan.

This does the following:

  • Calls the base class method.

  • Sets the speed of the rotation motor

  • Computes the delta theta, start and stop motor positions for the scan

  • Programs the Aerotech driver to provide pulses at the right positions

cleanup_PSO()[source]

Cleanup activities after a PSO scan. Turns off PSO and sets the speed back to default.

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:

  • Call the superclass collect_projections() function

  • Taxi to the start position

  • Set the trigger mode on the camera

  • Move the stage to the end position

  • 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.

  • These will be used by the PSO to calculate the Taxi distance and rotary stage acceleration.

  • Starts the file plugin capturing in stream mode.

  • Starts the camera acquiring in external trigger mode.

  • Starts the PSOfly.

  • Wait on the PSO done.

collect_static_frames(num_frames)[source]

Collects num_frames images in “Internal” trigger mode for dark fields and flat fields.

Parameters

num_frames (int) – Number of frames to collect.

compute_positions_PSO()[source]

Computes several parameters describing the fly scan motion. Computes the spacing between points, ensuring it is an integer number of encoder counts. Uses this spacing to recalculate the end of the scan, if necessary. Computes the taxi distance at the beginning and end of scan to allow the stage to accelerate to speed. Assign the fly scan angular position to theta[]

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.

program_PSO()[source]

Performs programming of PSO output on the Aerotech driver.