Coder Social home page Coder Social logo

presto's Introduction

             PRESTO
             ------

http://www.cv.nrao.edu/~sransom/presto/

PRESTO is a large suite of pulsar search and analysis software
developed by Scott Ransom mostly from scratch.  It was primarily
designed to efficiently search for binary millisecond pulsars from
long observations of globular clusters (although it has since been
used in several surveys with short integrations and to process a lot
of X-ray data as well).  It is written primarily in ANSI C, with many
of the recent routines in Python.  According to Steve Eikenberry,
PRESTO stands for: PulsaR Exploration and Search TOolkit!

Written with portability, ease-of-use, and memory efficiency in mind,
it can currently handle raw data from the following pulsar machines or
formats:

    * PSRFITS search-format data (as from GUPPI at the GBT, the 
      Mock Spectrometers at Arecibo, and much new and archived data
      from Parkes)
    * 1-, 2-, 4-, and 8-bit filterbank format from SIGPROC
    * Wideband Arecibo Pulsar Processor (WAPP) at Arecibo
    * The Parkes and Jodrell Bank 1-bit filterbank formats
    * SPIGOT at the GBT (may it RIP...)
    * Berkeley-Caltech Pulsar Machine (BCPM) at the GBT (may it RIP...)
    * A time series composed of single precision (i.e. 4-byte) 
      floating point data
    * Photon arrival times (or events) in ASCII or double-precision 
      binary formats

The software is composed of numerous routines designed to handle three
main areas of pulsar analysis:

   1. Data Preparation: Interference detection (rfifind) and removal
      (zapbirds) , de-dispersion (prepdata, prepsubband, and
      mpiprepsubband), barycentering (via TEMPO).

   2. Searching: Fourier-domain acceleration (accelsearch),
      single-pulse (single_pulse_search.py), and phase-modulation or
      sideband searches (search_bin).

   3. Folding: Candidate optimization (prepfold) and Time-of-Arrival
      (TOA) generation (get_TOAs.py).

   4. Misc: Data exploration (readfile, exploredat, explorefft),
      de-dispersion planning (DDplan.py), date conversion (mjd2cal,
      cal2mjd), tons of python pulsar/astro libraries, average pulse
      creation, flux density estimation, and more...

Many additional utilities are provided for various tasks that are
often required when working with pulsar data such as time conversions,
Fourier transforms, time series and FFT exploration, byte-swapping,
etc.

The Fourier-Domain acceleration search technique that PRESTO uses in
the routine accelsearch is described in Ransom, Eikenberry, and
Middleditch (2002), and the phase-modulation search technique used by
search_bin is described in Ransom, Cordes, and Eikenberry (2003).
Some other basic information about PRESTO can be found in my thesis.
I will eventually get around to finishing the documentation for
PRESTO, but until then you should know that each routine returns its
basic usage when you call it with no arguments.  I am also willing to
provide limited support via email or telephone (434-296-0320).

Tutorial(!): Note that in the "docs" directory there is a now a
tutorial which walks you through all the main steps of finding pulsars
using PRESTO.

To date, PRESTO has discovered nearly two hundred pulsars, including
more than 100 recycled pulsars, most of which are in binaries!

Getting it: The PRESTO source code is released under the GPL and can
be browsed or gotten from here in many different ways (including
zipped or tar'd or via git).  If you are too lazy to read how to get
it but have git on your system do:

> git clone git://github.com/scottransom/presto.git

To update it on a regular basis do

> cd $PRESTO
> git pull

and then re-make things in $PRESTO/src. 

If you don't want to mess with git (which means that you will need to
re-install a tarball whenever there are updates) you can get it from
the "Download Source" link on the github page.

If you plan to tweak the code, I highly suggest that you use git and
clone the directory (or fork it using an account on github).  Read the
following "living document" on how to develop and collaborate in a
relatively sane way using git:
  http://matthew-brett.github.com/pydagogue/gitwash_build.html
If you plan on doing any significant development, please let me know
and I'll either add you as a developer, or we can push/pull changes
via git/github (see the "gitwash" document above).  Code contributions
and/or patches to fix bugs are most welcome!

NOTE: for barycentering data, PRESTO uses TEMPO.  You should get the
newest version from Sourceforge.  You will also need FFTW, CFITSIO,
and PGPLOT.

Final Thoughts: Please let me know if you decide to use PRESTO for any
"real" searches.  And if you find anything with it, it would be great
if you would cite either my thesis or whichever of the two papers
listed above is appropriate.  Thanks!

Acknowledgements: Big thanks go to Steve Eikenberry for his help
developing the algorithms, Dunc Lorimer for the basic code which is
used to process BCPM and WAPP data, David Kaplan for lots of help with
the GBT SPIGOT code, Jason Hessels for many contributions to the
Python routines (and along with Maggie Livingstone for the rednoise
reduction routine), Anne Archibald (for significant help with the
recent accelsearch improvements), and Paul Demorest, Paul Ray, Ingrid
Stairs, Fernando Camilo, Cees Bassa, Patrick Lazarus, Mike Keith,
Slavko Bogdanov, and Paulo Freire for many comments and suggestions
(and even some patches!).

Scott Ransom <[email protected]>

presto's People

Contributors

scottransom avatar paulray avatar joerivanleeuwen avatar plazar avatar demorest avatar ariofrio avatar gdesvignes avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.