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
.
GaussPulse
can make multiple independent component pulses.SimpleGaussPulse
created pulses that are not correlated in frequency and timefilter_weights
Uses Gaussian smoothing to create bandpass weights model filter and rolloffclone_spectra
makes dynamic spectra with Gaussian noise that copies statisticsdynamic_from_statistics
Creates a noise dynamic spectra w/ given STD and median per channelclone_spectra
Makes a noise clone of a give dynamic spectra
inject_constant_into_file
inject pulse(s) of the same intensityinject_distribution_into_file
allows you to specify the pulse energies
find_first_pulse
Helps find the first pulse in a filesearch_file
search a file for periodic pulses at given DM and pulse width
log_normal_from_stats
creates a log-normal distro. with given median and Stand. Dev.sort_subarrays
gives correlation across time to pulse powersnoise_info
calculates 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.git
If 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