alfa: automated line fitting algorithm
install … manual … change log … source code on github
Measuring emission line fluxes is a boring task if you are doing it manually, and when dealing with integral field spectra, automation is required to extract the vast amount of information now obtainable from a modest investment of observing time. MUSE on the VLT, for example, can give you some 90,000 spectra simultaneously, each one covering 4800-9300Å at a resolution of λ/Δλ=3000.
alfa is designed to fit emission line spectra rapidly and robustly, with as little user input as possible. From a list of lines likely to be present in a nebular spectrum, alfa constructs a synthetic spectrum to match the observations. It optimises the parameters of all the Gaussian line profiles by means of a genetic algorithm, and returns a list of all the lines which are present to a given degree of statistical significance.
The processing time depends on the number of wavelength bins in the spectrum and the number of lines assumed to be present; the current version of the code takes a few seconds to fit a spectrum containing 2000 data points in a wavelength range covering 285 emission lines. For the analysis of data cubes, alfa is parallelised using openMP and will analyse as many pixels simultaneously as you have processors.
Output from alfa can be fed directly into the nebular empirical analysis tool, which will turn a list of line fluxes into measurements of temperatures, densities and abundances in a small fraction of a second. The two codes in combination thus carry out in a few minutes work that would formerly have taken days, weeks or months.
A paper describing alfa was published in January 2016: Wesson R., 2016, MNRAS, 456, 3774.