Single-pulse Searcher
Written by Daniele Michilli, 2018
Reduce the number of detections generated by interferences in searches for single pulses at ms timescales from radio telescopes.
%%%%%%%%% INSTALLATION
- Install using pip (basic command is "pip install ." to launch within the current folder)
- If "cythonize" is available, run "cythonize -i sps/src/C_Funct.pyx" Alternatively, run "python build_cython.py build_ext --inplace"
%%%%%%%%%%% USAGE
Basic usage: python sps.py NAME.singlepulse
SpS works on a single .singlepulse file generated from the PRESTO utility single_pulse_search.py. If multiple files are produced as it is tipycally the case, they can be merged by using "cat *.singlepulse > OUTNAME". SpS will ignore all the lines starting with a # symbol.
Multiple options are available, a summary can be obtained with "python sps.py -h". -meta_data: path of a .inf file generated by PRESTO. Currently, it is only used to store and display useful information on the search. -no_search: only produce output without searching the data -no_store: do not store output into a database -store_name: name of the output database -no_plot: does not produce diagnostic plots -plot_name: basename of the diagnostic plots, which will be in PDF format -no_filter: do not apply filters to remove some of the pulses generated by radio interference -F_range: frequency extremes of the bandwidth (MHz). If not provided, slope of pulses in the DM/time space will not be corrected for. -DM_range: DM (pc/cc) range where to select pulses -N_min: minimum number of events to form a pulse -SNR_min: minimum value for event S/N -SNR_peak_min: minimum value for pulse S/N -events_dt: time (seconds) between subsequent events to be considered part of the same pulse -events_dDM: number of DM trials between subsequent events to be considered part of the same pulse -DM_cand: DM (pc/cc) between subsequent pulses to be considered part of the same candidate -single_cand_SNR: minumum S/N of candidates formed by a single pulse -multiple_cand_SNR: minumum S/N of candidates formed by multiple pulses
%%%%%%%%%%% HYSTORY
v1.0 - First release Events loaded from a single .singlepulses from PRESTO Events grouped into pulses Part of pulses produced by interference filtered with "classical" filters (no machine learning) Pulses are clustered into candidates based on their proximity in DM A dignostic plot is generated for each candidate, containing information on the observation, pulses and events related to the candidate
%%%%%%%%%%% BUGS AND TODOS
- Add multibeam capability
- Add code parallelization
- Application of machine learning techniques
- Improve diagnostic plots with additional information: test plots of waterfall and timeseries
- Support multiple DM trial sizes
- Better integration with PRESTO: automatically read multiple .singlepulse files and infer their property from the relative .inf file