id4_common.devices.vortex_xspress3_me4 ====================================== .. py:module:: id4_common.devices.vortex_xspress3_me4 .. autoapi-nested-parse:: Eiger 1M setup Module Contents --------------- .. py:data:: logger .. py:data:: MAX_IMAGES :value: 12216 .. py:data:: MAX_ROIS :value: 8 .. py:class:: Trigger(*args, image_name=None, **kwargs) Bases: :py:obj:`ophyd.areadetector.trigger_mixins.TriggerBase` This trigger mixin class takes one acquisition per trigger. .. py:method:: setup_manual_trigger() Configure stage_sigs for internal single-image triggered acquisition. .. py:method:: setup_external_trigger() Configure stage_sigs for TTL-veto flyscan triggering. .. py:method:: setup_sgzbca_trigger() Configure stage_sigs for SoftGlue BCA TTL-veto triggering. .. py:method:: stage() Erase the detector, configure the trigger mode, and arm the Xspress3 before staging. .. py:method:: unstage() Stop the Xspress3, unsubscribe the busy callback, and restore manual- trigger mode. .. py:method:: trigger() Start one Xspress3 acquisition and return a status object that completes when done. .. py:method:: arm_plan() Bluesky plan that arms the Xspress3 and waits until the detector is ready. .. py:class:: ROIStatN Bases: :py:obj:`ophyd.Device` Single ROI statistics device with name, bounds, and integrated-count readbacks. .. py:attribute:: roi_name .. py:attribute:: use .. py:attribute:: max_sizex .. py:attribute:: roi_startx .. py:attribute:: roi_sizex .. py:attribute:: max_sizey .. py:attribute:: roi_startxy .. py:attribute:: roi_sizey .. py:attribute:: bdg_width .. py:attribute:: min_value .. py:attribute:: max_value .. py:attribute:: mean_value .. py:attribute:: total_value .. py:attribute:: net_value .. py:attribute:: reset_button .. py:class:: VortexROIStatPlugin Bases: :py:obj:`id4_common.devices.ad_mixins.ROIStatPlugin` ROIStatPlugin with eight named ROI statistics sub-devices for the Vortex Xspress3. .. py:attribute:: roi1 .. py:attribute:: roi2 .. py:attribute:: roi3 .. py:attribute:: roi4 .. py:attribute:: roi5 .. py:attribute:: roi6 .. py:attribute:: roi7 .. py:attribute:: roi8 .. py:class:: VortexSCA Bases: :py:obj:`id4_common.devices.ad_mixins.AttributePlugin` Xspress3 per-channel SCA providing deadtime and event-count attributes. .. py:attribute:: clock_ticks .. py:attribute:: reset_ticks .. py:attribute:: reset_counts .. py:attribute:: all_events .. py:attribute:: all_good .. py:attribute:: window1 .. py:attribute:: window2 .. py:attribute:: pileup .. py:attribute:: event_width .. py:attribute:: dt_factor .. py:attribute:: dt_percent .. py:class:: VortexHDF1Plugin(*args, write_path_template='', **kwargs) Bases: :py:obj:`id4_common.devices.ad_mixins.PolarHDF5Plugin` HDF5 plugin for the Xspress3 4-element Vortex with a separate array-counter readback PV. .. py:attribute:: array_counter .. py:attribute:: array_counter_readback .. py:class:: TotalCorrectedSignal(prefix, roi_index, **kwargs) Bases: :py:obj:`ophyd.SignalRO` Signal that returns the deadtime corrected total counts .. py:attribute:: roi_index .. py:method:: get(**kwargs) Return the sum of deadtime-corrected ROI counts across all Xspress3 channels. .. py:class:: VortexXspress34(*args, default_folder=Path('/net/s4data/export/sector4/4idd/bluesky_images/vortex'), hdf1_file_format='%s/%s_%6.6d.h5', **kwargs) Bases: :py:obj:`Trigger`, :py:obj:`id4_common.devices.counters_mixin.ROICountersMixin`, :py:obj:`ophyd.areadetector.DetectorBase` Four-element Vortex detector driven by an Xspress3 controller with HDF5 file saving. .. py:attribute:: cam .. py:attribute:: chan1 .. py:attribute:: chan2 .. py:attribute:: chan3 .. py:attribute:: chan4 .. py:attribute:: stats1 .. py:attribute:: stats2 .. py:attribute:: stats3 .. py:attribute:: stats4 .. py:attribute:: sca1 .. py:attribute:: sca2 .. py:attribute:: sca3 .. py:attribute:: sca4 .. py:attribute:: total .. py:attribute:: hdf1 .. py:attribute:: default_folder .. py:attribute:: hdf1_file_format :value: '%s/%s_%6.6d.h5' .. py:method:: align_on(time=0.1) Start detector in alignment mode .. py:method:: align_off() Stop detector .. py:method:: save_images_on() Enable the HDF5 plugin so acquisitions are written to disk. .. py:method:: save_images_off() Disable the HDF5 plugin so acquisitions are not written to disk. .. py:method:: auto_save_on() Enable HDF5 autosave so files are written automatically. .. py:method:: auto_save_off() Disable HDF5 autosave. .. py:method:: wait_for_detector() Bluesky plan that waits until the detector array counter stops incrementing. .. py:method:: default_settings() Configure HDF5 path, stage signals, ROIs, and manual-trigger mode. .. py:property:: read_rois Return the list of ROI indices that are currently included in reads. .. py:method:: select_roi(rois) Set the hinted ROI totals to those in rois, keeping other read_rois as normal. .. py:method:: plot_roi1() Set ROI 1 as the hinted plot channel. .. py:method:: plot_roi2() Set ROI 2 as the hinted plot channel. .. py:method:: plot_roi3() Set ROI 3 as the hinted plot channel. .. py:method:: plot_roi4() Set ROI 4 as the hinted plot channel. .. py:property:: label_option_map Return a mapping from human-readable ROI label strings to ROI index integers. .. py:method:: setup_images(base_folder, file_name_base, file_number, flyscan=False) Configure HDF5 file name, number, path, and flysetup flag for an upcoming scan. .. py:property:: save_image_flag Return True if the HDF5 plugin is enabled or autosave is on.