v-morello / riptide

Pulsar searching with the Fast Folding Algorithm (FFA)
https://riptide-ffa.readthedocs.io/
MIT License
30 stars 11 forks source link

arXiv License Python versions Build Status codecov

riptide

riptide ("searching for pulsars in the time domain") is a pulsar searching package implementing the Fast Folding Algorithm (FFA), the theoretically optimal search method for periodic signals. Its interface is entirely in python while the core algorithms are implemented in C. riptide provides:

Citation

If using riptide contributes to a project that leads to a scientific publication, please cite the article:
"Optimal periodicity searching: Revisiting the Fast Folding Algorithm for large scale pulsar surveys"

Sensitivity of the FFA

The article covers the topic of the FFA's sensitivity in theory, here is a practical example on a faint source. Below is an L-band observation of PSR J1932-3655 from the SUPERB survey, significantly offset from the true position of the source. The first plot was obtained by folding the observation using the known ephemeris of the pulsar with PSRCHIVE. This is one of the faintest known pulsar instances identifiable in the survey.

psrchive_plot

And below is a blind detection of the pulsar, running riptide on the same observation:
riptide_plot

Documentation

A quickstart guide, a pipeline configuration tutorial and the full API documentation can be found here.

Installation

The easiest method is to use pip install, which pulls the latest release from the python package index and installs all required dependencies:

pip install riptide-ffa

The alternative is to clone the repository, especially if you want the absolute latest version:

git clone https://github.com/v-morello/riptide

And then in the base directory of riptide run

make install

This simply runs pip install in editable mode, which means you can freely edit the code. It also installs any required dependencies with pip that are not present already. The installer also adds links to two command-line apps in your python environment using console_scripts entry points:

You may check that it all works by typing:

rffa -h
rseek -h

And you should see the full help of both applications.