tomoscan.tomoscan_7bm

Software for tomography scanning with EPICS at APS beamline 7-BM-B

Classes

TomoScan7BM

Derived class for tomography scanning with EPICS at APS beamline 7-BM-B

Functions:

tomoscan.tomoscan_7bm

Software for tomography scanning with EPICS at APS beamline 7-BM-B

class tomoscan.tomoscan_7bm.TomoScan7BM(pv_files, macros)[source]

Bases: TomoScanHelical

Derived class used for tomography scanning with EPICS at APS beamline 7-BM-B

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

add_gain_exp_times()[source]

Add gain exposure times to the output file.

add_theta()[source]

Add theta at the end of a scan. Taken from tomoscan_2BM.py function. This gives the correct theta for scans with missing frames

auto_copy_data()[source]

Copies data from detector computer to analysis computer.

begin_scan()[source]

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

This is an override of the begin_scan in TomoScanPSO to account for the extra frames due to saving camera gains. 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

close_shutter()[source]

Closes the shutter to collect dark fields and at the end of a scan This does the following:

  • Checks if we are in testing mode. If we are, do nothing

  • Closes the 7-BM-B fast shutter.

  • Closes the beamline shutter.

collect_flat_fields()[source]

Collects flat field data

This overrides the super class’s method to allow for camera gain images to be acquired.

  • Performs the normal flat corrections

  • Set the FrameType to the appropriate value

  • For exposure times from 0 to the flat exposure time:

    • Change exposure time to the appropriate value

    • Take a single frame

collect_static_frame()[source]

Collects num_frames images in “InternalSingle” trigger mode for gains

end_scan()[source]

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

This does the following:

  • Add theta to the raw data file.

  • Close the shutter

  • Calls the base class method.

fly_scan()[source]

Overrides fly_scan in super class to catch a bad file path.

open_shutter()[source]

Opens the shutter to collect flat fields or projections.

This does the following:

  • Checks if we are in testing mode. If we are, do nothing.

  • Opens the front end shutter, waiting for it to indicate it is open.

    This is copied from the 2-BM implementation 9/2020

  • Opens the 7-BM-B fast shutter.

set_trigger_mode(trigger_mode, num_images)[source]

Sets the trigger mode for the camera.

Parameters
  • trigger_mode (str) – Choices are: “FreeRun”, “Internal”, or “PSOExternal”

  • num_images (int) – Number of images to collect. Ignored if trigger_mode=”FreeRun”. This is used to set the NumImages PV of the camera.

wait_pv(epics_pv, wait_val, timeout=numpy.inf, delta_t=0.01)[source]

Wait on a pv to be a value until max_timeout (default forever) delay for pv to change