bluesky.plans.spiral_fermat#

bluesky.plans.spiral_fermat(detectors: Sequence[Readable], x_motor: NamedMovable, y_motor: NamedMovable, x_start: float, y_start: float, x_range: float, y_range: float, dr: float, factor: float, *, dr_y: float | None = None, tilt: float | None = 0.0, 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]#

Absolute fermat spiral scan, centered around (x_start, y_start)

Parameters:
detectorslist

list of ‘readable’ objects

x_motorobject

any ‘settable’ object (motor, temp controller, etc.)

y_motorobject

any ‘settable’ object (motor, temp controller, etc.)

x_startfloat

x center

y_startfloat

y center

x_rangefloat

x width of spiral

y_rangefloat

y width of spiral

drfloat

delta radius

factorfloat

radius gets divided by this

dr_yfloat, optional

Delta radius along the major axis of the ellipse, if not specifed defaults to dr.

tiltfloat, optional

Tilt angle in radians, default 0.0

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