firionus / nonuniformresampling1d.jl Goto Github PK
View Code? Open in Web Editor NEWResamples uniformly sampled 1D data at nonuniform locations
License: MIT License
Resamples uniformly sampled 1D data at nonuniform locations
License: MIT License
Come up with a good way to state the requirements and how to test them.
Currently, an error is thrown if out-of-bounds points would be required. I think this is a good default behavior, but for advanced usage some boundary conditions would be useful like:
During early development, I noticed that the use case of resampling from arbitrary grids to something else is a bit too special for me. Therefore, I'll focus on resampling from uniform to nonuniform grids with the main goal of smoothing FFT data, even though upsampling would also be supported.
Alternative Name: NonuniformResampling
Pros:
Cons:
EDIT: ToDo
rectwin
: not very readable with the mashed abbreviationsWindowFuncitons.rect
: long, wordy, the important part (rect) at the endrect_window
: my favorite so farEDIT: I think this would be better put into a separate package that depends on this one, called something like "NonuniformSmoothing1D".
Move private implementations for logrange and polyrange into the repo.
Improve the API to be as close to Base's range as possible. Use something like step=1/24, base=2
for 24 points per octave in logrange.
Check if it makes sense to return an iterator instead of an array (see here: https://stackoverflow.com/questions/59985035/does-there-exist-any-alternative-of-logspace-in-julia-v1-3-1/59987565#59987565)
The end goal is to have a high level API to perform log or poly non-linear smoothing.
For example, emulate the behavior of normalize
in LinearAlgebra
:
https://github.com/JuliaLang/julia/blob/bf534986350a991e4a1b29126de0342ffd76205e/stdlib/LinearAlgebra/src/generic.jl#L1744-L1787
Some suggested content:
Examples, e.g. frequency response measurements -> do that in smoothing library
There should be a diagram and concise explanation of the resampling approach in the README.
E.g. use the hopefully already existing examples. This should be low priority.
Once done, the following list of performance concerns could be tackled:
regrid
instead of allocating every time. Problem: With current upsampling scheme, the maximum length required for this buffer is not well defined.see https://docs.julialang.org/en/v1/base/base/#Base.@assert
We must not rely on AssertionErrors for e.g. input validation.
Perform a Style Check, etc.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.