OpticalPath

class of dascore.core.inventory
inherits from: TimeRangedModel, InventoryModel, DascoreBaseModel, pydantic.main.BaseModel
source

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.