MothNik / robust_fourier

Noise- and Outlier-Robust Fourier Transform with Hermite Functions with NumPy and Numba
MIT License
1 stars 0 forks source link

🧮〰️ Implement Robust Weighted Least Squares Regression-based Fourier transform #13

Open MothNik opened 1 month ago

MothNik commented 1 month ago

Now, with the Hermite-functions and a CI properly set up, the core functionality of the package can be implemented:

The Robust Weighted Least Squares approach to Fourier Transform as described in

Mihály Dobróka, Hajnalka Szegedi and Péter Vass: Inversion-Based Fourier Transform as a New Tool for Noise Rejection, 2017, DOI

MothNik commented 1 month ago

✔️ Checklist of things to do

MothNik commented 1 month ago

A PR to develop will be made now that the first 6 points on the checklist are done. It's a good place to make a PR to keep it "small" and also self-consistent in terms of topic covered.

MothNik commented 1 month ago

Point (7) was partially merged into point (9) because a completely separate function interface made no sense. The class interface now offers the static method eval as a function interface with the class HermiteFunctionBasis just wrapped around it to handle all the input validation and magic methods like __len__. HermiteFunctionBasis.__call__ now just specifies an internal call to eval.

MothNik commented 1 month ago

I will put this temporarily on ice after noticing that Hermite functions are not necessarily the best basis functions to tackle this problem. I will still work on this, but I think the package needs a bit of a generalization first.