module documentation

Functionality for planning scan routes.

A scan route can be planned by a ScanPlanner class currently there is only one type the SmartSpiral. More can be added using by subclassing the ScanPlanner

Class ScanPlanner A base class for a scan planner.
Class SmartSpiral A scan planner that spirals outward from the centre, prioritising short moves.
Function distance_between Calculate the distance between the two xy positions.
Function enforce_xy_tuple Check input is a tuple and is of length 2.
Function enforce_xyz_tuple Check input is a tuple and is of length 3.
Constant LOGGER Undocumented
Constant NEIGHBOUR_CUTOFF Undocumented
Type Alias XYPos Undocumented
Type Alias XYPosList Undocumented
Type Alias XYZPos Undocumented
Type Alias XYZPosList Undocumented
def distance_between(current_pos: XYPos | np.ndarray, next_pos: XYPos | np.ndarray) -> float: (source)

Calculate the distance between the two xy positions.

This was previously called distance_to_site

def enforce_xy_tuple(value: XYPos) -> XYPos: (source)

Check input is a tuple and is of length 2.

If possible it will coerce the value to a tuple.

Raises
ValueErrorif the input cannot be coerced to a tuple of length 2.
def enforce_xyz_tuple(value: XYZPos) -> XYZPos: (source)

Check input is a tuple and is of length 3.

If possible it will coerce the value to a tuple.

Raises
ValueErrorif the input cannot be coerced to a tuple of length 3.

Undocumented

Value
logging.getLogger(__name__)
NEIGHBOUR_CUTOFF: float = (source)

Undocumented

Value
1.4
XYPos: TypeAlias = (source)

Undocumented

Value
tuple[int, int]
XYPosList: TypeAlias = (source)

Undocumented

Value
list[XYPos]
XYZPos: TypeAlias = (source)

Undocumented

Value
tuple[int, int, int]
XYZPosList: TypeAlias = (source)

Undocumented

Value
list[XYZPos]