id4_common.devices.ad_lightfield#

LightField based area detector

Module Contents#

class id4_common.devices.ad_lightfield.MySingleTrigger(*args, image_name=None, delay_time=0.1, **kwargs)#

Bases: ophyd.areadetector.TriggerBase

This trigger mixin class takes one acquisition per trigger. .. rubric:: Examples

>>> class SimDetector(SingleTrigger):
...     pass
>>> det = SimDetector('..pv..')
# optionally, customize name of image
>>> det = SimDetector('..pv..', image_name='fast_detector_image')
stage()#

Subscribe to detector state changes and stage the detector.

unstage()#

Unstage the detector and unsubscribe from detector state changes.

trigger()#

Trigger one acquisition.

class id4_common.devices.ad_lightfield.LF_HDF(*args, write_path_template='', **kwargs)#

Bases: id4_common.devices.ad_mixins.PolarHDF5Plugin

HDF5 plugin for LightField that translates Windows paths to Linux read paths.

make_write_read_paths(write_path=None, read_path=None)#

Return write path, full read path, and relative read path for HDF5 file.

class id4_common.devices.ad_lightfield.LightFieldFilePlugin(*args, **kwargs)#

Bases: ophyd.Device, ophyd.areadetector.filestore_mixins.FileStoreBase

Using the filename from EPICS.

enable#
filestore_spec = 'AD_SPE_APSPolar'#
property base_name#

Return the base filename from the LightField camera.

make_write_read_paths(write_path=None, read_path=None)#

Return write path, full read path, and relative read path for SPE file.

stage()#

Stage the file plugin, verifying the output file does not already exist.

generate_datum(key, timestamp, datum_kwargs)#

Using the num_images_counter to pick image from scan.

class id4_common.devices.ad_lightfield.MyLightFieldCam#

Bases: ophyd.areadetector.LightFieldDetectorCam

LightField camera with additional file naming and grating wavelength PVs.

file_name_base#
file_path#
file_name#
file_number#
file_template#
num_images_counter#
grating_wavelength#
pool_max_buffers = None#
background_file#
background_full_file#
background_path#
class id4_common.devices.ad_lightfield.LightFieldDetector(*args, hdf1_name_template='%s/%s_%6.6d', hdf1_file_extension='h5', bluesky_files_root='', windows_files_root='', relative_default_folder='', **kwargs)#

Bases: MySingleTrigger, id4_common.devices.counters_mixin.CountersMixin, ophyd.areadetector.DetectorBase

Princeton Instruments LightField spectrometer detector with HDF5 and SPE file writing.

cam#
image#
hdf1#
file#
hdf1_name_format = '%s/%s_%6.6d.h5'#
default_ioc_folder = ''#
bluesky_files_root = ''#
windows_files_root = ''#
property label_option_map: dict#

No selectable plot channels — LightField saves full spectra.

property plot_options: list#

Return empty list — LightField has no selectable plot channels.

select_plot(channels: list) None#

No-op — LightField has no selectable plot channels.

field_for_label(label: str) str#

Return label unchanged — LightField has no channel mapping.

save_images_on()#

Enable HDF5 image saving.

save_images_off()#

Disable HDF5 image saving.

auto_save_on()#

Enable automatic HDF5 saving on each acquisition.

auto_save_off()#

Disable automatic HDF5 saving on each acquisition.

default_settings()#

Apply default detector settings and stage signal configuration.

setup_images(base_path, name_template, file_number, flyscan=False)#

Configure HDF5 and SPE file paths and names for the upcoming scan.

property save_image_flag#

Return True; LightField detector always saves images.

predict_save_path(base_path, name_template, file_number)#

Return (full_path, relative_path) without any EPICS I/O.

Overrides CountersMixin default because LightField uses read_path.name (not a trailing slash) as the directory token in make_write_read_paths.

id4_common.devices.ad_lightfield.spectrometer#