edit · history · print


Pulsarhunter is a package of useful tools for searching for and confirming pulsars. Here is a list of the available scripts with usage and some basic help. (Please update if you have any good hints/tips).

For more details on the inner workings of pulsarhunter, see PulsarHunterDetails

For installation details and how to download, see: PulsarHunterInstallation

For known issues see PulsarHunterIssues and PulsarHunterVersionHistory for the changelog

Contents (hide)

  1.   1.  Features and functionality
  2.   2.  ph-tune
    1.   2.1  Usage
  3.   3.  ph-pdm
    1.   3.1  Usage
  4.   4.  ph-best
    1.   4.1  Usage
  5.   5.  ph-view-phcf
    1.   5.1  Usage
  6.   6.  ph-pgplot-phcf
    1.   6.1  Usage
  7.   7.  ph-dir2candlist
    1.   7.1  Usage
  8.   8.  ph-view-zapfile
    1.   8.1  Usage
  9.   9.  Supported data formats
    1.   9.1  Read only
    2.   9.2  Read/Write

1.  Features and functionality

PulsarHunter currently provides a set of time domain optimisation tools. These are aimed at processing timeseries produced by Sigproc, however internaly there is no relyance on this format, and I intend to adapt it to read any useful data format (see accepted data types). The functionality of PulsarHunter currently is intended to be a replication of pdm that works on multiple data types, with added acceleration and jerk searching. It is intended to replace both the stand alone version of pdm and the search oriented pdmsuspectfind (with the inclusion of the ph-best script).

As of version JReaper 3.0, JReaper has also been integrated with PulsarHunter. This means that pulsarhunter can natively write candidate lists for JReaper, removing the need to manualy import candidates into JReaper. JReaper of course, also reads the PulsarHunter candidate file format.

In future new processes may be added for dedispersion and even fourier analysis (although currently Sigproc seek seems to be perfectly adiquate).

2.  ph-tune

ph-tune is the basic time domain optimization script in pulsarhunter. It takes input from one of the accepted data types and produces a phcf file and, if the pgplot libaries are available, a postscript plot.

If you use ph-retune it can also take a phcf file as input, for example when re-optimising a candidate, or when using output from ph-best (detailed below). If the phcf to be created file exists, it will use the optimized parameters (i.e. the result of the last process) as the default input parameters. Any user specified parameters will overwrite the new ones. To force creation of a fresh file, simply delete or rename the phcf file.

Note that using ph-tune will remove any existing phcf file! Use ph-retune to re-analyse based on the previously optimized parameters.

2.1  Usage

ph-tune [datafile] [outputfile] {options}
ph-retune [datafile] [outputfile] {options}

‘datafile’ should be one of the accepted input files. ‘outputfile’ is the stem of the produces PHCF file and the associated postscript plot.


  • -period specify the folding period
  • -bary-period specify the folding period in a barycentric coordinate system
  • -accn specify the folding accn
  • -jerk specify the folding jerk (adot)
  • -dm specify the folding dm (for multi-channel data)

  • -useaccn Search in accn space
  • -usejerk Search in jerk space

  • -period-range Specify the range of periods to search
  • -accn-range Specify the range of accn to search
  • -jerk-range Specify the range of jerk to search
  • -dm-range Specify the range of dm to search

  • -period-step Specify the step size in period to search
  • -accn-step Specify the step size in accn to search
  • -jerk-step Specify the step size in jerk to search
  • -dm-step Specify the step size in dm to search

  • -nsub specify the number of sub-integrations to use
  • -nbins specify the number of bins in the output profile

  • -isub specify a comma separated list of sub-integrations to ignore
  • -ibands specify a comma separated list of channels to ignore
  • -iloudsints automatically try to guess the loud sub-integrations to ignore

3.  ph-pdm

This is a derivitive of the ph-tune script that calls Sigproc filterbank and dedisperse to allow easy use of .dat/.hdr files from Parkes. It will only work if filterbank and dedisperse are in your $PATH. It will create a default, 4-channel, subbanded timeseries called {file}.sub, and use this if it is available.

3.1  Usage

ph-pdm [.dat file] [root of output] [dm] {options}

Options are the same as ph-tune.

4.  ph-best

ph-best works in a similar way to Sigproc best. It takes a list of periods from seek (the sigproc FFT software) and returns the top candidates, with best dm/pdot/pddot, as well as signal to noise lists for these parameters.

The output will be a series of PHCF files (one per candidate) and a single .lis file that gives a simple table between the PHCF files and the best parameters. For ease of using in scripts, there is no headers on the table, the format is the same as the standard output from ph-best.

4.1  Usage

ph-best [prd file] [output file root] {options}

‘prd file’ is the output file from seek ‘output file root’ the root of the output files, these will be {root}_001.phcf, {root}_002.phcf,… as well as a summary file {root}.lis


  • -minsnr do not return candidates with signal to noise lower than that specified (default 7.0)
  • -maxresults limit the max results to this value (default 999)
  • -zapfile [zapfile] Zap any candidates that match known frequencies from the zapfile.

5.  ph-view-phcf

This will display a Xwindow (or equivilent) showing the plot for this phcf file. if you want to use the old pgplot plotter, use ph-pgplot-phcf.

5.1  Usage

pg-view-phcf [phcf file]

6.  ph-pgplot-phcf

This will display a simple PGPLOT based rendering of the data in a PHCF file.

6.1  Usage

ph-pgplot-phcf [phcf file] [PGPLOT format]

7.  ph-dir2candlist

This makes JReaper candidate lists from directories of candidates. Note that at this point the scoring is done, therefore this can take a little while. In general the time for a single beam (say 200 cands) is not great, but if you have a lot of beams it might be best to do it as you process on the cluster (as the time is insignificant compared to the process time). If you do this, be sure to check out he -resdir option, which you can use to specify where the cands will go (as the path to the cands is in the candlist file at present). If you need to change the path at a later date, ungzip and do a text search/replace.

7.1  Usage

ph-dir2candlist [input dir] [options]

Options include:

  • -resdir [somedir] - which overwrites the directory that the candidates are listed as (default is the input dir specified). This is useful if you are running from a machine which sees a different disk path than the machine you will run jreaper on.
  • -beamid [beamid] - which overwrites the beam name (default is to read from file)

Below is an example of a script which uses ph-dir2candlist to create candlists for each pointing in a survey ‘tape’.


setenv PULSARHUNTER_HOME /raid1/software/pulsar/pulsarhunter/

setenv PATH ${PATH}:/raid1/software/pulsar/cvshome/pasurv/bin/linux/:/remote/dcore36_1/software/singlepulse/bin/:/raid1/software/pulsar/presto/bin/:${PULSARHUNTER_HOME}/scripts/

setenv PGPLOT_DIR /raid1/pasurv/pgplot

set tapename = $1

set rootpath = "/raid1/pasurv/links/pasurv/results/"

mkdir /raid1/pasurv/links/pasurv/jreapercands/pasurv_re/$tapename

cd /raid1/pasurv/links/pasurv/jreapercands/pasurv_re/$tapename

foreach pointing (`ls -d $rootpath"/"$tapename/PA????_???`)
        foreach beam (`ls  $pointing`)
                set extdir = `echo $pointing/$beam | sed -e 's:/raid1/pasurv/links:/packages/pulsar/links/:'`
                ph-dir2candlist $pointing/$beam/ -resdir $extdir/ -dmlist /raid1/pasurv/links/pasurv/jreapercands/padmlist

8.  ph-view-zapfile

This displays a Xwindow (or equivilent) that shows the details for the given zapfile. To create a new zapfile, call this on a non-existing file.

8.1  Usage

ph-view-zapfile [zapfile]

Zapfiles should have the extention .zap to prevent any confusion when loading them.

9.  Supported data formats

9.1  Read only

Currently these data types are not writable. It is intended that they will be writable when any data manipulation part of the software is completed.

9.2  Read/Write

edit · history · print
Page last modified on October 08, 2007, at 08:31 AM