OpticalPath
OpticalPath(
description: str = ““,
extra_fields: collections.abc.Mapping[str, str | int | float | bool[str, int, float, bool]] =
start_time: datetime64 = NaT,
end_time: datetime64 = NaT,
name: str =”“,
start_distance: float = 0.0,
location_code: str =”“,
optical_components: tuple[dascore.core.inventory.FiberSegment | dascore.core.inventory.Connector | dascore.core.inventory.Splice | dascore.core.inventory.Terminator[FiberSegment, Connector, Splice, Terminator], …] = (),
geometry: tuple[Geometry, …] = (),
coupling: tuple[CouplingCondition, …] = (),
annotations: tuple[OpticalPathAnnotation, …] = (),
measurements: tuple[dascore.core.inventory.OpticalMeasurement | str[OpticalMeasurement, str], …] = (),
)-> None
Continuous optical path described by independent tracks.
Optical components tile [start_distance, start_distance + optical length). Geometry and coupling are function tracks (partial coverage, no overlap); annotations overlap as their group’s value kind allows. No more than one path per (FiberArray, location_code) is valid at a time.
Methods
| Name | Description |
|---|---|
| check | Check track rules for this path. |
| component_intervals | Return each component’s (start, end) on the absolute axis. |
| coordinates_at | Return CRS coordinates at the requested optical distances. |
| is_effective_at | Return True if this epoch is valid at the supplied time (half-open). |
| new | Create a new instance with some attributes updated. |
| overlaps | Return True if two half-open validity intervals overlap. |
| reverse | Return the path traversed from the far end. |
| select | Return a new path clipped to a distance interval. |
| split_at | Split the optical path into two pieces at a distance. |