id4_common.devices.ad_lightfield ================================ .. py:module:: id4_common.devices.ad_lightfield .. autoapi-nested-parse:: LightField based area detector Module Contents --------------- .. py:class:: MySingleTrigger(*args, image_name=None, delay_time=0.1, **kwargs) Bases: :py:obj:`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') .. py:method:: stage() Subscribe to detector state changes and stage the detector. .. py:method:: unstage() Unstage the detector and unsubscribe from detector state changes. .. py:method:: trigger() Trigger one acquisition. .. py:class:: LF_HDF(*args, write_path_template='', **kwargs) Bases: :py:obj:`id4_common.devices.ad_mixins.PolarHDF5Plugin` HDF5 plugin for LightField that translates Windows paths to Linux read paths. .. py:method:: make_write_read_paths(write_path=None, read_path=None) Return write path, full read path, and relative read path for HDF5 file. .. py:class:: LightFieldFilePlugin(*args, **kwargs) Bases: :py:obj:`ophyd.Device`, :py:obj:`ophyd.areadetector.filestore_mixins.FileStoreBase` Using the filename from EPICS. .. py:attribute:: enable .. py:attribute:: filestore_spec :value: 'AD_SPE_APSPolar' .. py:property:: base_name Return the base filename from the LightField camera. .. py:method:: make_write_read_paths(write_path=None, read_path=None) Return write path, full read path, and relative read path for SPE file. .. py:method:: stage() Stage the file plugin, verifying the output file does not already exist. .. py:method:: generate_datum(key, timestamp, datum_kwargs) Using the num_images_counter to pick image from scan. .. py:class:: MyLightFieldCam Bases: :py:obj:`ophyd.areadetector.LightFieldDetectorCam` LightField camera with additional file naming and grating wavelength PVs. .. py:attribute:: file_name_base .. py:attribute:: file_path .. py:attribute:: file_name .. py:attribute:: file_number .. py:attribute:: file_template .. py:attribute:: num_images_counter .. py:attribute:: grating_wavelength .. py:attribute:: pool_max_buffers :value: None .. py:attribute:: background_file .. py:attribute:: background_full_file .. py:attribute:: background_path .. py:class:: LightFieldDetector(*args, hdf1_name_template='%s/%s_%6.6d', hdf1_file_extension='h5', bluesky_files_root='', windows_files_root='', relative_default_folder='', **kwargs) Bases: :py:obj:`MySingleTrigger`, :py:obj:`id4_common.devices.counters_mixin.CountersMixin`, :py:obj:`ophyd.areadetector.DetectorBase` Princeton Instruments LightField spectrometer detector with HDF5 and SPE file writing. .. py:attribute:: cam .. py:attribute:: image .. py:attribute:: hdf1 .. py:attribute:: file .. py:attribute:: hdf1_name_format :value: '%s/%s_%6.6d.h5' .. py:attribute:: default_ioc_folder :value: '' .. py:attribute:: bluesky_files_root :value: '' .. py:attribute:: windows_files_root :value: '' .. py:property:: label_option_map :type: dict No selectable plot channels — LightField saves full spectra. .. py:property:: plot_options :type: list Return empty list — LightField has no selectable plot channels. .. py:method:: select_plot(channels: list) -> None No-op — LightField has no selectable plot channels. .. py:method:: field_for_label(label: str) -> str Return label unchanged — LightField has no channel mapping. .. py:method:: save_images_on() Enable HDF5 image saving. .. py:method:: save_images_off() Disable HDF5 image saving. .. py:method:: auto_save_on() Enable automatic HDF5 saving on each acquisition. .. py:method:: auto_save_off() Disable automatic HDF5 saving on each acquisition. .. py:method:: default_settings() Apply default detector settings and stage signal configuration. .. py:method:: setup_images(base_path, name_template, file_number, flyscan=False) Configure HDF5 and SPE file paths and names for the upcoming scan. .. py:property:: save_image_flag Return True; LightField detector always saves images. .. py:method:: 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. .. py:data:: spectrometer