bluesky.plans.rel_list_grid_scan(detectors, *args, snake_axes=False, per_step=None, md=None)[source]

Scan over a mesh; each motor is on an independent trajectory. Each point is relative to the current position.


list of ‘readable’ objects

patterned like (motor1, position_list1,

motor2, position_list2, motor3, position_list3, ..., motorN, position_listN)

The first motor is the “slowest”, the outer loop. position_list’s are lists of positions, all lists must have the same length. Motors can be any ‘settable’ object (motor, temp controller, etc.).

snake_axesboolean 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.

per_stepcallable, optional

hook for customizing action of inner loop (messages per step). See docstring of bluesky.plan_stubs.one_nd_step() (the default) for details.

mddict, optional