Time Series Analysis#
Overview#
The time_series module provides classes and functions for analyzing temporal data, particularly useful for adaptive optics telemetry and signal processing:
TimeSeries: Container class for temporal data with time stamps, units, and metadata
MultiTimeSeries: Handle multiple synchronized time series
Indexer: Index and access time series data efficiently
PSD Computer: Power spectral density analysis and temporal frequency analysis
These tools support:
Data storage with proper time stamps and physical units
Resampling and interpolation
Statistical analysis (mean, variance, temporal structure)
Frequency domain analysis
Data merging and synchronization
Fluent API#
The TimeSeries class provides a modern chainable fluent API for data analysis:
Chainable Properties:
Ensemble reductions:
ensemble_rms,ensemble_mean,ensemble_std,ensemble_median,ensemble_ptpTime reductions:
time_mean,time_std,time_rms,time_median,time_ptpValue extraction:
.valueproperty (like pandas)Filtering:
filter(**kwargs)andwith_times(times)
Example:
# Chainable operations
mean_rms = ts.filter(modes=[2,3,4]).ensemble_rms.time_mean.value
# Bidirectional chaining
long_exposure = ts.time_mean.ensemble_rms.value
See the tutorial notebook for detailed examples.
Legacy API:
Old methods (ensemble_rms(), time_average(), etc.) have been renamed with get_ prefix
and marked deprecated. Use the new property-based API for new code.
API Reference#
For detailed API documentation of all submodules, see: