As part of my job at the Chandra X-ray Science Center and for my own research, I have been involved with software development for data analysis.  Essentially all of my work has been done in an open-source, scriptable environment, specifically the Interactive Spectral Interpretation System (ISIS), which is scriptable in S-lang.  Some specific packages are described below.

Interactive Spectral Interpretation System (ISIS)

Like most X-ray astronomers, I began my career using XSPEC, supplemented with IDL scripting to post-process the results and files.  But for the past eighteen years, I have been using the Interactive Spectral Interpretation System (ISIS), which in short is the single greatest astrophysical data analysis package ever written.  A lot of my reasons for loving it can be found here:

But why not Python, you ask?  I’ve got nothing against Python (Python mindless zombie hordes, perhaps another story…), but S-lang has had math inherent to the language almost from the beginning, which led to ISIS being a highly mathematical analysis system.  The general rule is that ISIS works just like math.  If what you’re trying to do makes mathematical sense, it is usually very straightforward to script and apply in ISIS, more so than any other spectral fitting program.  While the forerunners of SciPy were still deciding among numericnumpy, and numarrayISIS was a well-developed, stable mathematical analysis system that was already implementing parallelization into many of its analyses.  (I’ve had the Goodman-Weare parallelized Markov Chain Monte Carlo analysis routine running in ISIS for several years longer than it has been available in XSPEC, with more flexibility in post-processing the results of the chains.) 

Although a little bit dated at this point, a number of the points made in the article below still stand:

Go download your copy of ISIS from the git repository!

A very large number of useful ISIS scripts have been developed and maintained by the good folks at the Remeis Observatory.  These scripts include all the most up-to-date versions of my scripts listed elsewhere on this web page.  This should be your default location for getting the latest and greatest ISIS analysis scripts.

S-lang/ISIS Timing Analysis Scripts (SITAR)

In contrast to X-ray spectral analysis, there is no generally accepted and used package for X-ray timing analysis.  To that end, I have written the S-lang/ISIS Timing Analysis Scripts (SITAR).  Although a version exists on the SITAR web pages, the most up-to-date version can be found on the Remeis Observatory ISIS Scripts page.

Suzaku Data Analysis Scripts

The Suzaku X-ray satellite had some issues with maintaining stable attitude control during its pointings, which led to a blurred image.  We created ISIS/S-lang scripts to address this issue.  Additionally, for bright sources (e.g., most X-ray binaries), Suzaku CCD detectors suffered from photon pileup.  We created ISIS/S-lang scripts to estimate the degree of pileup in the observations.

Spectroscopic Line Analysis

This falls into the category of “in development”.  Currently in X-ray astrophysics, high resolution spectroscopy exists at two extremes: phenomenological fitting of individual emission/absorption lines, and global fitting of complex plasma models, e.g., APEC/APED plasma emission models or XSTAR/warmabs photoionized plasma absorption models.  I’m working on putting together something that lies in between these regimes.  The concept will be to have phenomenological line models (i.e., gaussians, Lorentzians, Voit profiles) that can easily be added in emission or absorption, but allow for sensible naming schemes (e.g., “FeKa” instead of “gaussian(10)”), wavelength or energy ordering within the parameter file, easy addition or removal of line components, and multiple functional ties among the line parameters (e.g., common redshifts, or constrained line ratios in line series).  Early versions of these tools exist within the Remeis Observatory ISIS Scripts.

A few years ago I participated in a “blind line search” data analysis challenge, described in this paper:

Not really well-described in that paper, but the ISIS search (using a very early version of the above scripts)  “won”!  At least in the sense that it found the greatest number of lines, including several line blends that no other program found.