Extensions
TimeseriesTools exposes most of its analysis surface as package extensions. The function stubs live in core, but each method is only loaded when you using the corresponding package. This keeps the base load light and prevents the package from pulling unwanted heavy dependencies (CUDA, Makie, DSP, …) into every project.
| Extension | Loaded by | Provides |
|---|---|---|
DSPExt | using DSP | bandpass, highpass, lowpass, hilbert, analyticphase, analyticamplitude, instantaneousfreq, phasestitch, downsample |
DataInterpolationsExt | using DataInterpolations | interpolate, upsample, resample, impute (1-D / per-axis) |
DataInterpolationsNDExt | using DataInterpolationsND | interpolate, upsample, resample (joint multi-axis) |
ContinuousWaveletsExt | using ContinuousWavelets | waveletspectrogram |
CUDAExt | using CUDA, ContinuousWavelets | GPU-accelerated wavelet transform |
AutocorrelationsExt | using Autocorrelations | fftacf, dotacf, msdist |
ComplexityMeasuresExt | using ComplexityMeasures | apply estimators directly to AbstractTimeseries |
GeneralizedPhaseExt | using GeneralizedPhase | generalizedphase |
NaturalNeighboursExt | using NaturalNeighbours | 2-D scattered interpolation |
SignalDecompositionExt | using SignalDecomposition | trend/oscillation decomposition |
OptimExt | using Optim | MAPPLE refinement (fit!) |
BootstrapExt | using Bootstrap | bootstrapmean, bootstrapmedian, bootstrapaverage |
Why extensions?
Faster cold start: no precompile-time cost for capabilities you don't use.
No version churn: heavy deps (CUDA, Makie, DSP) move quickly; a weak dep means TimeseriesTools doesn't force a particular version on the rest of your project.
Discoverable failure mode: calling
bandpass(x)withoutusing DSPreturnsxunchanged (the stub) rather than throwing aMethodError. (See the warning at the top of each function's docstring.)