will is a library to create, inject, and detect pulses from Fast Radio Bursts (FRBs) and pulsars.
There are many pulsar and FRB simulators. These lack ability to handle complex band shapes (from bandstop filters, rolloff, etc). They also try to inject pulses at a given Signal-to-Noise ratio. This signal strength methodology can lead to circular logic, in worse radio frequency environments, the injected signal is brighter and still detectible.
Will attempts the following
- Signal energy fidelity
- Custom bandpass weighting
- Straightforward Pulse Detection
- Good Documentation
There are four submodules will.create, will.inject, will.detect, and will.calculate.
GaussPulsecan make multiple independent component pulses.SimpleGaussPulsecreated pulses that are not correlated in frequency and timefilter_weightsUses Gaussian smoothing to create bandpass weights model filter and rolloffclone_spectramakes dynamic spectra with Gaussian noise that copies statisticsdynamic_from_statisticsCreates a noise dynamic spectra w/ given STD and median per channelclone_spectraMakes a noise clone of a give dynamic spectra
inject_constant_into_fileinject pulse(s) of the same intensityinject_distribution_into_fileallows you to specify the pulse energies
find_first_pulseHelps find the first pulse in a filesearch_filesearch a file for periodic pulses at given DM and pulse width
log_normal_from_statscreates a log-normal distro. with given median and Stand. Dev.sort_subarraysgives correlation across time to pulse powersnoise_infocalculates the noise level across a file for a variety of boxcar widths
We have a docs website which contains the examples and and API documentation
To install directly into your current Python environment
pip install git+https://github.com/josephwkania/will.gitIf you want a local version
git clone https://github.com/josephwkania/will.git
pip install will
For tests `pip install will[tests]`, for docs `pip install will[docs]`There are example notebooks that show how to create, inject, and detect pulses.
See CONTRIBUTING.md
- https://github.com/kiyo-masui/burst_search/blob/master/burst_search/simulate.py
- https://github.com/kmsmith137/simpulse
- https://github.com/liamconnor/injectfrb
- https://github.com/vivgastro/Furby
- https://github.com/astrogewgaw/pataka
- https://github.com/jayanthc/fakefrb
- https://gitlab.com/houben.ljm/frb-faker

