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 FutureScanLocation Data for information on future locations to scan.
Class ScanPlanner A base class for a scan planner.
Class SmartSpiral A scan planner that spirals outward from the centre, prioritising short moves.
Class VisitedScanLocation Data for information on locations already visited during a scan.
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
Type Alias XYPos Undocumented
Type Alias XYPosList Undocumented
Type Alias XYZPos Undocumented
Type Alias XYZPosList Undocumented
def distance_between(current_pos: XYPos | np.ndarray | FutureScanLocation, next_pos: XYPos | np.ndarray | FutureScanLocation) -> 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__)
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]