id4_common.plans.local_scans#
Modifed bluesky scans
Module Contents#
- id4_common.plans.local_scans.count(num, time, detectors=None, lockin=False, dichro=False, vortex_sgz=False, g_sgz=False, delay=None, per_shot=None, md=None)#
Take one or more readings from detectors.
This is a local version of bluesky.plans.count. Note that the per_shot cannot be set here, as it is used for dichro scans.
- Parameters:
num (integer) – number of readings to take If None, capture data until canceled
time (float) – If a number is passed, it will modify the counts over time. All detectors need to have a .preset_monitor signal.
detectors (list, optional) – List of ‘readable’ objects. If None, will use the detectors defined in counters.detectors.
lockin (boolean, optional) – Flag to do a lock-in scan. Please run pr_setup.config() prior do a lock-in scan.
dichro (boolean, optional) – Flag to do a dichro scan. Please run pr_setup.config() prior do a dichro scan. Note that this will switch the x-ray polarization at every point using the +, -, -, + sequence, thus increasing the number of points by a factor of 4
vortex_sgz (boolean, optional) – Measures the Vortex detector using the softgluezynq triggers. This is a special mode that requires the ‘vortex’ and ‘sgz_vortex’ devices to exist otherwise an error will be thrown.
delay (iterable or scalar, optional) – Time delay in seconds between successive readings; default is 0.
per_shot (callable, optional) – Hook for customizing action of inner loop (messages per step). See docstring of
bluesky.plan_stubs.one_nd_step()(the default) for details.md (dict, optional) – metadata
Notes
If
delayis an iterable, it must have at leastnum - 1entries or the plan will raise aValueErrorduring iteration.
- id4_common.plans.local_scans.ascan(*args, detectors=None, lockin=False, dichro=False, fixq=False, vortex_sgz=False, g_sgz=False, per_step=None, md=None)#
Scan over one multi-motor trajectory.
This is a local version of bluesky.plans.scan. Note that the per_step cannot be set here, as it is used for dichro scans.
- Parameters:
*args –
For one dimension,
motor, start, stop, number of points, time. In general: .. code-block:: pythonmotor1, start1, stop1, motor2, start2, start2, …, motorN, startN, stopN, number of points, time
Motors can be any ‘settable’ object (motor, temp controller, etc.)
detectors (list, optional) – List of detectors to be used in the scan. If None, will use the detectors defined in counters.detectors.
lockin (boolean, optional) – Flag to do a lock-in scan. Please run pr_setup.config() prior do a lock-in scan.
dichro (boolean, optional) – Flag to do a dichro scan. Please run pr_setup.config() prior do a dichro scan. Note that this will switch the x-ray polarization at every point using the +, -, -, + sequence, thus increasing the number of points by a factor of 4
fixq (boolean, optional) – Flag for fixQ scans. If True, it will fix the diffractometer hkl position during the scan. This is particularly useful for energy scan. Note that hkl is moved ~after~ the other motors!
vortex_sgz (boolean, optional) – Measures the Vortex detector using the softgluezynq triggers. This is a special mode that requires the ‘vortex’ and ‘sgz_vortex’ devices to exist otherwise an error will be thrown.
per_step (callable, optional) – hook for customizing action of inner loop (messages per step). See docstring of
bluesky.plan_stubs.one_nd_step()(the default) for details.md (dictionary, optional) – Metadata to be added to the run start.
See also
bluesky.plans.scan(),lup()
- id4_common.plans.local_scans.lup(*args, detectors=None, lockin=False, dichro=False, fixq=False, vortex_sgz=False, g_sgz=False, per_step=None, md=None)#
Scan over one multi-motor trajectory relative to current position.
This is a local version of bluesky.plans.rel_scan. Note that the per_step cannot be set here, as it is used for dichro scans.
- Parameters:
*args –
For one dimension,
motor, start, stop, number of points. In general: .. code-block:: pythonmotor1, start1, stop1, motor2, start2, start2, …, motorN, startN, stopN, number of points
Motors can be any ‘settable’ object (motor, temp controller, etc.)
detectors (list, optional) – List of detectors to be used in the scan. If None, will use the detectors defined in counters.detectors.
lockin (boolean, optional) – Flag to do a lock-in scan. Please run pr_setup.config() prior do a lock-in scan.
dichro (boolean, optional) – Flag to do a dichro scan. Please run pr_setup.config() prior do a dichro scan. Note that this will switch the x-ray polarization at every point using the +, -, -, + sequence, thus increasing the number of points by a factor of 4
fixq (boolean, optional) – Flag for fixQ scans. If True, it will fix the diffractometer hkl position during the scan. This is particularly useful for energy scan. Note that hkl is moved ~after~ the other motors!
vortex_sgz (boolean, optional) – Measures the Vortex detector using the softgluezynq triggers. This is a special mode that requires the ‘vortex’ and ‘sgz_vortex’ devices to exist otherwise an error will be thrown.
per_step (callable, optional) – hook for customizing action of inner loop (messages per step). See docstring of
bluesky.plan_stubs.one_nd_step()(the default) for details.md (dictionary, optional) – Metadata to be added to the run start.
See also
bluesky.plans.rel_scan(),ascan()
- id4_common.plans.local_scans.grid_scan(*args, detectors=None, snake_axes=None, lockin=False, dichro=False, fixq=False, vortex_sgz=False, g_sgz=False, per_step=None, md=None)#
Scan over a mesh; each motor is on an independent trajectory.
- Parameters:
*args –
- patterned like (
motor1, start1, stop1, num1, motor2, start2, stop2, num2,motor3, start3, stop3, num3,…motorN, startN, stopN, numN)
The first motor is the “slowest”, the outer loop. For all motors except the first motor, there is a “snake” argument: a boolean indicating whether to following snake-like, winding trajectory or a simple left-to-right trajectory.
- patterned like (
time (float, optional) – If a number is passed, it will modify the counts over time. All detectors need to have a .preset_monitor signal.
detectors (list, optional) – List of detectors to be used in the scan. If None, will use the detectors defined in counters.detectors.
snake_axes (boolean or iterable, optional) – which axes should be snaked, either
False(do not snake any axes),True(snake all axes) or a list of axes to snake. “Snaking” an axis is defined as following snake-like, winding trajectory instead of a simple left-to-right trajectory. The elements of the list are motors that are listed in args. The list must not contain the slowest (first) motor, since it can’t be snaked.lockin (boolean, optional) – Flag to do a lock-in scan. Please run pr_setup.config() prior do a lock-in scan.
dichro (boolean, optional) – Flag to do a dichro scan. Please run pr_setup.config() prior do a dichro scan. Note that this will switch the x-ray polarization at every point using the +, -, -, + sequence, thus increasing the number of points by a factor of 4
fixq (boolean, optional) – Flag for fixQ scans. If True, it will fix the diffractometer hkl position during the scan. This is particularly useful for energy scan. Note that hkl is moved ~after~ the other motors!
vortex_sgz (boolean, optional) – Measures the Vortex detector using the softgluezynq triggers. This is a special mode that requires the ‘vortex’ and ‘sgz_vortex’ devices to exist otherwise an error will be thrown.
per_step (callable, optional) – hook for customizing action of inner loop (messages per step). See docstring of
bluesky.plan_stubs.one_nd_step()(the default) for details.md (dict, optional) – metadata
See also
bluesky.plans.grid_scan(),bluesky.plans.rel_grid_scan(),bluesky.plans.inner_product_scan(),bluesky.plans.scan_nd()
- id4_common.plans.local_scans.rel_grid_scan(*args, detectors=None, snake_axes=None, lockin=False, dichro=False, fixq=False, vortex_sgz=False, g_sgz=False, per_step=None, md=None)#
Scan over a mesh relative to current position.
Each motor is on an independent trajectory.
- Parameters:
*args –
- patterned like (
motor1, start1, stop1, num1, motor2, start2, stop2, num2,motor3, start3, stop3, num3,…motorN, startN, stopN, numN)
The first motor is the “slowest”, the outer loop. For all motors except the first motor, there is a “snake” argument: a boolean indicating whether to following snake-like, winding trajectory or a simple left-to-right trajectory.
- patterned like (
snake_axes (boolean or iterable, optional) – which axes should be snaked, either
False(do not snake any axes),True(snake all axes) or a list of axes to snake. “Snaking” an axis is defined as following snake-like, winding trajectory instead of a simple left-to-right trajectory. The elements of the list are motors that are listed in args. The list must not contain the slowest (first) motor, since it can’t be snaked.detectors (list, optional) – List of detectors to be used in the scan. If None, will use the detectors defined in counters.detectors.
lockin (boolean, optional) – Flag to do a lock-in scan. Please run pr_setup.config() prior do a lock-in scan
dichro (boolean, optional) – Flag to do a dichro scan. Please run pr_setup.config() prior do a dichro scan. Note that this will switch the x-ray polarization at every point using the +, -, -, + sequence, thus increasing the number of points by a factor of 4
fixq (boolean, optional) – Flag for fixQ scans. If True, it will fix the diffractometer hkl position during the scan. This is particularly useful for energy scan. Note that hkl is moved ~after~ the other motors!
vortex_sgz (boolean, optional) – Measures the Vortex detector using the softgluezynq triggers. This is a special mode that requires the ‘vortex’ and ‘sgz_vortex’ devices to exist otherwise an error will be thrown.
per_step (callable, optional) – hook for customizing action of inner loop (messages per step). See docstring of
bluesky.plan_stubs.one_nd_step()(the default) for details.md (dict, optional) – metadata
See also
grid_scan(),bluesky.plans.grid_scan(),bluesky.plans.rel_grid_scan(),bluesky.plans.inner_product_scan(),bluesky.plans.scan_nd()
- id4_common.plans.local_scans.qxscan(edge_energy, time, detectors=None, lockin=False, dichro=False, fixq=False, vortex_sgz=False, g_sgz=False, per_step=None, md=None)#
Energy scan with fixed delta_K steps.
WARNING: please run qxscan_params() before using this plan! It will use the parameters set in qxscan_params to determine the energy points.
- Parameters:
edge_energy (float) – Absorption edge energy. The parameters in qxscan_params offset by this energy.
time (float) – If a number is passed, it will modify the counts over time. All detectors need to have a .preset_monitor signal.
detectors (list, optional) – List of detectors to be used in the scan. If None, will use the detectors defined in counters.detectors.
lockin (boolean, optional) – Flag to do a lock-in scan. Please run pr_setup.config() prior do a lock-in scan
dichro (boolean, optional) – Flag to do a dichro scan. Please run pr_setup.config() prior do a dichro scan. Note that this will switch the x-ray polarization at every point using the +, -, -, + sequence, thus increasing the number of points by a factor of 4
fixq (boolean, optional) – Flag for fixQ scans. If True, it will fix the diffractometer hkl position during the scan. Note that hkl is moved ~after~ the other motors!
md (dictionary, optional) – Metadata to be added to the run start.
See also
bluesky.plans.scan(),lup()
- id4_common.plans.local_scans.mv(*args, **kwargs)#
Move one or more devices to a setpoint, and wait for all to complete.
This is a local version of bluesky.plan_stubs.mv. If more than one device is specifed, the movements are done in parallel.
- Parameters:
args – device1, value1, device2, value2, …
kwargs – passed to bluesky.plan_stubs.mv
- Yields:
msg (Msg)
See also
bluesky.plan_stubs.mv()
- id4_common.plans.local_scans.mvr(*args, **kwargs)#
Move one or more devices to a relative setpoint. Wait for all to complete.
If more than one device is specified, the movements are done in parallel.
This is a local version of bluesky.plan_stubs.mvr.
- Parameters:
args – device1, value1, device2, value2, …
kwargs – passed to bluesky.plan_stub.mvr
- Yields:
msg (Msg)
See also
bluesky.plan_stubs.rel_set(),bluesky.plan_stubs.mv()
- id4_common.plans.local_scans.abs_set(*args, **kwargs)#
Set a value. Optionally, wait for it to complete before continuing.
This is a local version of bluesky.plan_stubs.abs_set. If more than one device is specifed, the movements are done in parallel.
- Parameters:
obj (Device)
group (string (or any hashable object), optional) – identifier used by ‘wait’
wait (boolean, optional) – If True, wait for completion before processing any more messages. False by default.
args – passed to obj.set()
kwargs – passed to obj.set()
- Yields:
msg (Msg)
See also
bluesky.plan_stubs.rel_set(),bluesky.plan_stubs.wait(),bluesky.plan_stubs.mv()