neclib.coordinates.paths.path_base module#

Aliases#

NPArrayValidator

Type validator, to force some instance variables to be Quantity.

class Path(calc, *target, unit=None, **kwargs)[source]#

Bases: ABC

Parameters:
tight: bool#
infinite: bool#
waypoint: bool#
abstract property arguments: Tuple[Tuple[Any, ...], Dict[str, Any]]#
property target_frame: str | BaseCoordinateFrame | Type[BaseCoordinateFrame] | None#
class Index(time: 'NPArrayValidator', index: 'NPArrayValidator')[source]#

Bases: object

Parameters:
time: NPArrayValidator#

Type validator, to force some instance variables to be Quantity.

index: NPArrayValidator#

Type validator, to force some instance variables to be Quantity.

class ControlContext(tight: 'Optional[bool]' = None, start: 'Optional[float]' = None, stop: 'Optional[float]' = None, duration: 'Optional[float]' = None, infinite: 'bool' = False, waypoint: 'bool' = False, kind: 'str' = '', label: 'str' = '', line_index: 'int' = -1, section_plan_index: 'int' = -1, section_sequence_index: 'int' = -1, section_uid: 'str' = '', geometry_valid: 'bool' = False, section_frame: 'str' = '', section_unit: 'str' = '', section_start_lon_deg: 'float' = nan, section_start_lat_deg: 'float' = nan, section_stop_lon_deg: 'float' = nan, section_stop_lat_deg: 'float' = nan, section_speed_deg_per_sec: 'float' = nan)[source]#

Bases: object

Parameters:
  • tight (bool | None)

  • start (float | None)

  • stop (float | None)

  • duration (float | None)

  • infinite (bool)

  • waypoint (bool)

  • kind (str)

  • label (str)

  • line_index (int)

  • section_plan_index (int)

  • section_sequence_index (int)

  • section_uid (str)

  • geometry_valid (bool)

  • section_frame (str)

  • section_unit (str)

  • section_start_lon_deg (float)

  • section_start_lat_deg (float)

  • section_stop_lon_deg (float)

  • section_stop_lat_deg (float)

  • section_speed_deg_per_sec (float)

tight: bool | None = None#

If True, the section is for observation so its accuracy should be inspected.

start: float | None = None#

Start time of this control section.

stop: float | None = None#

End time of this control section.

duration: float | None = None#

Time duration of this control section.

infinite: bool = False#

Whether the control section is infinite hence need interruption or not.

waypoint: bool = False#

Whether this is waypoint hence need some value to be sent or not.

kind: str = ''#

Fine-grained section kind such as line/turn/accelerate.

label: str = ''#

Human-readable section label, typically the upstream scan/line label.

line_index: int = -1#

Primary numeric line identifier inside a scan block, or -1 if N/A.

section_plan_index: int = -1#

Planned section index inside a composite scan block, or -1 if N/A.

section_sequence_index: int = -1#

Runtime section activation sequence index, or -1 if N/A.

section_uid: str = ''#

Stable section identifier for diagnostics/progress display when available.

geometry_valid: bool = False#

Whether the planned section geometry fields below are meaningful.

section_frame: str = ''#

Coordinate frame of the planned section geometry.

section_unit: str = ''#

Angular unit of the planned section geometry values.

section_start_lon_deg: float = nan#

Planned section start longitude in degrees when geometry_valid.

section_start_lat_deg: float = nan#

Planned section start latitude in degrees when geometry_valid.

section_stop_lon_deg: float = nan#

Planned section stop longitude in degrees when geometry_valid.

section_stop_lat_deg: float = nan#

Planned section stop latitude in degrees when geometry_valid.

section_speed_deg_per_sec: float = nan#

Planned section speed in degrees per second when known.

properties_modified(**kwargs)[source]#
Return type:

Generator[None, None, None]

update(other, **kwargs)[source]#
Parameters:
Return type:

None