suboptimumg.track.track_factory#
- suboptimumg.track.track_factory.from_corners(corner_input)[source]#
Factory method to generate a Track class from a list of corners. Compatible with tracks saved in YAML.
- Parameters:
corner_input (CornerListInput) – Corner list input containing corners and track parameters
- Returns:
Track instance created from corner list
- Return type:
- suboptimumg.track.track_factory.from_data(data)[source]#
Factory method to create a Track from a TrackData model.
- Parameters:
data (ContinuousTrackData | DiscreteTrackData) – A TrackData instance containing all track fields including pre-computed seed indices
- Returns:
A new Track instance with all fields populated from the data model
- Return type:
- suboptimumg.track.track_factory.from_perda_logs(log_input)[source]#
Build a QSS-compatible Track from a PERDA lap segment.
- Parameters:
log_input (PerdaLogInput) – Validated input holding a SingleRunData lap segment with required fields (body.curvature, groundSpeed, posN, posE) and filter/resample parameters.
- Returns:
Continuous Track instance with precomputed radius and B-spline.
- Return type:
Notes
- Pipeline:
Align body.curvature and posE onto posN timestamp grid.
Compute cumulative arc-length distance DataInstance from posN/posE.
Apply PERDA spatial lowpass filter on aligned curvature.
Resample filtered curvature, posN, posE onto uniform distance grid.
Convert curvature to radius, clamped at max_radius.
Fit B-spline to uniformly-resampled XY.