id4_common.plans.flyscan_demo#

Flyscan using area detector

Module Contents#

id4_common.plans.flyscan_demo.iconfig#
id4_common.plans.flyscan_demo.logger#
id4_common.plans.flyscan_demo.sgz#
id4_common.plans.flyscan_demo.dm_experiment#
id4_common.plans.flyscan_demo.HDF1_NAME_FORMAT#
id4_common.plans.flyscan_demo.flyscan_snake(detectors, stepping_motor, stepping_motor_start, stepping_motor_end, stepping_motor_number_of_points, flying_motor, flying_motor_start, flying_motor_end, flying_motor_speed, detector_trigger_period: float = 0.02, detector_collection_time: float = 0.01, file_name_base: str = 'scan', master_file_templates: list = None, md: dict = None, dm_concise: bool = False, dm_wait: bool = False, dm_reporting_period: float = 10 * 60, dm_reporting_time_limit: float = 10**6, nxwriter_warn_missing: bool = False, wf_run: bool = False, wf_settings_file_path: str = None, **wf_kwargs)#

Flyscan using a “snake” trajectory.

Note the first motor in *args will step and the second will fly (by doing a two point step).

Parameters:
  • eiger (Eiger detector instance) – Currently sort of hardwired for the Eiger, but this will be removed in the future to match with the POLAR standard of defaulting to our counters class.

  • *args

    The first motor is the outer loop that will step, with the second motor flying between the ends. Thus the first motor needs a number of steps. .. code-block:: python

    motor1, start1, stop1, number of point, motor2, start2, stop

  • speed (float, default to 10) – Velocity of the flying motor. This will be passed to motor2.velocity through staging.

  • trigger_time (float, default to 0.02 seconds) – Time between detector triggers.

  • collection_time (float, default to 0.01 seconds) – Time that detector spend collecting the image. It must be smaller or equal to the trigger_time otherwise a ValueError is raised.

  • md (dictionary, optional) – Metadata to be added to the run start.

See also

bluesky.plan_patterns.outter_product(), flyscan_cycler()

id4_common.plans.flyscan_demo.flyscan_1d(detectors, motor, start, end, speed, detector_trigger_period: float = 0.02, detector_collection_time: float = 0.01, master_file_templates: list = None, file_name_base: str = 'scan', md: dict = None, dm_concise: bool = False, dm_wait: bool = False, dm_reporting_period: float = 10 * 60, dm_reporting_time_limit: float = 10**6, nxwriter_warn_missing: bool = False, wf_run: bool = False, wf_settings_file_path: str = None, **wf_kwargs)#

Flyscan in 1 dimension.

Parameters:
  • eiger (Eiger detector instance) – Currently sort of hardwired for the Eiger, but this will be removed in the future to match with the POLAR standard of defaulting to our counters class.

  • motor (ophyd motor object) – Ideally it is a motor with a custom unstaging that removes “velocity” from the stage_sigs, see ../devices/nanopositioners.py

  • start (float) – Initial motor position

  • end (float) – Final motor position

  • speed (float, default to 10) – Velocity of the flying motor. This will be passed to motor.velocity through staging.

  • trigger_time (float, default to 0.02 seconds) – Time between detector triggers.

  • collection_time (float, default to 0.01 seconds) – Time that detector spend collecting the image. It must be smaller or equal to the trigger_time otherwise a ValueError is raised.

  • md (dictionary, optional) – Metadata to be added to the run start.

See also

bluesky.plan_patterns.inner_product(), flyscan_cycler()

id4_common.plans.flyscan_demo.flyscan_cycler(detectors: list, cycler, speeds: list, detector_trigger_period: float = 0.02, detector_collection_time: float = 0.01, master_file_templates: list = None, file_name_base: str = 'scan', md: dict = None, dm_concise: bool = False, dm_wait: bool = False, dm_reporting_period: float = 10 * 60, dm_reporting_time_limit: float = 10**6, nxwriter_warn_missing: bool = False, wf_run: bool = False, wf_settings_file_path: str = None, **wf_kwargs)#

Flyscan using a generic path.

Note that only the last motor will fly (by doing a two point step).

Parameters:
  • detectors (list of ophyd detectors) – Currently sort of hardwired for the Eiger, which must be the first item in the list. But this will be removed in the future to match with the POLAR standard of defaulting to our counters class.

  • cycler (Cycler) – cycler.Cycler object mapping movable interfaces to positions.

  • speeds (list) – Velocity of the motors, this is particularly useful for the flying motor. If None, then the speed will not be changed. The speed will be passed to motor.velocity through staging (see ../devices/nanopositioners.py).

  • trigger_time (float, default to 0.02 seconds) – Time between detector triggers.

  • collection_time (float, default to 0.01 seconds) – Time that detector spend collecting the image. It must be smaller or equal to the trigger_time otherwise a ValueError is raised.

  • md (dictionary, optional) – Metadata to be added to the run start.

See also

bluesky.plan_patterns.outter_product(), bluesky.plan_patterns.inner_product()