Ecosystem of SampledSignals

I’d like to ask if there is some consensus in the sampled signal domain on basic type definitions. In my work, I have my algorithms and packages for signal processing (FFT spectrum comparisons, different ways of chopping out “resets” or disturbances, etc, all using AxisArrays and dispatching on the :time axis with unitful StepRanges. However, digging into JuliaHub, I’ve found the SampledSignals.jl package defining AbstractSampleBuf and AbstractSampleStream that I’d call the basic type for package interaction. But, on the other hand, SignalAnalysis, however uses SampledSignals, operates on MetaArrays.
It would be just great to have a common trait and an API for all those arrays and streams to be useable.
I very much regret the AxisArray didn’t become the blessed universal interface to deal with all kinds of arrays that have an physical meaningful axis attached, be it FFT, spectroscopy spectra, time series or different types of measurements.
Did I miss some conversation around the ecosystem? I really liked the way Images.jl solved this for image processing ecosystem.

1 Like

If this PR goes through https://github.com/SciML/ArrayInterface.jl/pull/83 then I can complete this package https://github.com/JuliaArrays/SpatioTemporalTraits.jl with minimal dependencies. There’s a lot going on under the hood that carefully ties things together across the ecosystem. I will definitely write a detailed post on it when it is ready to start using, but I can’t give any hard deadlines because it’s entire utility depends on getting others on board.

2 Likes