bluesky.plans.scan_nd#
- bluesky.plans.scan_nd(detectors: Sequence[Readable], cycler: Cycler, *, per_step: Callable[[Sequence[Readable], Movable, Any, Callable[[Sequence[Readable]], Generator[Msg, Any, Mapping[str, Reading]]] | None], Generator[Msg, Any, P]] | Callable[[Sequence[Readable], Mapping[Movable, Any], dict[Movable, Any], Callable[[Sequence[Readable]], Generator[Msg, Any, Mapping[str, Reading]]] | None], Generator[Msg, Any, P]] | None = None, md: dict[str, Any] | None = None) Generator[Msg, Any, str] [source]#
Scan over an arbitrary N-dimensional trajectory.
- Parameters:
- detectorslist or tuple
- cyclerCycler
cycler.Cycler object mapping movable interfaces to positions
- 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
metadata
See also
bluesky.plans.inner_product_scan()
bluesky.plans.grid_scan()
Examples
>>> from cycler import cycler >>> cy = cycler(motor1, [1, 2, 3]) * cycler(motor2, [4, 5, 6]) >>> scan_nd([sensor], cy)