Alessandro Ridolfi's home page


Latest version: 1.1.5 (08Jun2020)

git clone


PULSAR_MINER is a simple, easy-to-use, PRESTO-based pulsar searching pipeline.

Edit the configuration file, input your observation to search, and you are ready to go!


1) Installation

No actual installation procedure is needed to use PULSAR_MINER itself. However, it is based on PRESTO and PSRCHIVE, hence, you first need to have the latter installed.

I can recommend you follow this pulsar software installation guide.

Once PRESTO and PSRCHIVE are installed and correctly working, you can get started with PULSAR_MINER:

  1. Download the code from GitHub using the "git clone" command above
    git clone

  2. Move to the newly dowloaded directory

  3. Run the code with:

Obviously, to have PULSAR_MINER at hand from any directory, you can add the folder where the code is located to your PATH environment variable.

2) Basic usage

To successfully use PULSAR_MINER, you need:

  1. A search-mode observation file in a format compatible with PRESTO (tipically a ".fil" filterbank file or a ".fits"/".sf" psrfits file).

  2. A ".cfg" configuration file containing all the relevant search parameters. A template of such a file can be generated using the -init_default option.

Assuming to have an observation file called "NGC6752_MeerKAT_0001.fits" you can generate a configuration file template with the command:

pulsar_miner -init_default NGC6752_MeerKAT_0001.fits

The code creates a template configuration file named after the current working directory ("NGC6752.cfg" in this example).

The configuration file sets all the relevant parameters for the search itself. The code also tries to fill a few entries autonomously (e.g. your PRESTO installation directory, the number of CPU cores available etc.) buy reading some environment variables and and getting some system information. It also sets the data file format by reading the input observation file. However, it is highly recommended that you cross-check these values.

Also, the majority of the parameters (such as the DM range to search, the acceleration search parameters etc.) are set to some generic default values. Obsvioulsy you may want to change them, since they will likely not be the optimal ones for your own search.

The parameters in the configuration file can be changed using a simple text editor, sucs as emacs.

emacs NGC6752.cfg

Once you are happy with the parameters of the configuration file, run the pipeline through the command:
pulsar_miner -config NGC6752.cfg -obs NGC6752_MeerKAT_0001.fits
and hopefully you can just wait for it to finish.

If everything went well, you should end up with five folders in your working directory:

To look for the resulting candidates, go into "05_FOLDING/NGC6752_MeerKAT_0001". Here you can find all the folding plots.

Hopefully some new pulsars will appear among them! :-)

3) Command line options

Here follows a list of all the available options:

  • -obs <observation_to_search>
    The input search-mode data file of the observation to search. Must be a PRESTO-compatible format (filterbank, psrfits)

  • -config <configuration_file>
    The input configuration file containing all the relevant search parameters and processing options.
    A template configuration file can be created using the -init_default option.

  • [ -init_default [<observation_to_search>] ]
    Create a template configuration file.
    If the observation file to search is also provided, the correct file format is also automatically set (specify it manually by editing the configuration file, otherwise).

  • [{ -Q | -v | -V}]
    -Q: quiet mode. Do not print anything.
    -v: verbose mode. print more useful info about the processing.
    -V: very verbose mode. Print a lot of additional information.

  • [{ -version | --version }]
    Show code version.

  • [{ -h | -help | --help }]
    Show a simple usage help and the list of options.

4) Acknowledgements

Credits to Tasha Gautam for adding support to jerk search. Big thanks to Tasha Gautam and Laila Vleeschower Calas for testing the pipeline, reporting bugs, and suggesting improvements.