Table of Contents
Fetching ...

ELFO: A Python package for emission line fitting optimization in integral field spectroscopy data

Hui Guo, Guilin Liu, Jianghui Xu, Chao Geng, Zhicheng He, Shiyin Shen, Lei Hao

TL;DR

ELFO addresses the problem of spurious spatial discontinuities in emission line fits of IFS data by initializing fits for each spectrum from neighboring spaxels and selecting the most spatially smooth solution. The method is implemented in Python and built on PyQSOFit, operating through a row/column sequential fitting scheme and a four-step, iterative selection process that enforces velocity coherence across the field. Applied to MUSE data of two quasars, ELFO smooths velocity maps, corrects anomalous decompositions, and reveals substructures and coherent large-scale kinematics that may be obscured by traditional per-spaxel fitting or aggressive binning. The approach preserves spatial information better than adaptive binning, is adaptable to other IFS datasets and lines, but requires substantial computation, and could gain from integration with machine learning to refine parameter bounds and initialization.

Abstract

Integral field spectroscopy (IFS) provides spatially resolved spectra, enabling detailed studies that address the physical and kinematic properties of the interstellar medium. A critical step in analyzing IFS data is the decomposition of emission lines, where different velocity components are often modeled with Gaussian profiles. However, conventional fitting methods that treat each spectrum independently often yield spatial discontinuities in the fitting results. Here, we present Emission Line Fitting Optimization (ELFO), a Python package for IFS spectral fitting. ELFO uses the results of neighboring spectra to determine multiple initial guesses and selects the result that exhibits spatial smoothness. We tested ELFO on IFS data of two quasars obtained from the Multi-Unit Spectroscopic Explorer, where it successfully corrected anomalous fits, revealed previously unresolved substructures, and made large-scale kinematic structures more evident. With minor modifications, this method can also be easily adapted to other IFS data and different emission lines.

ELFO: A Python package for emission line fitting optimization in integral field spectroscopy data

TL;DR

ELFO addresses the problem of spurious spatial discontinuities in emission line fits of IFS data by initializing fits for each spectrum from neighboring spaxels and selecting the most spatially smooth solution. The method is implemented in Python and built on PyQSOFit, operating through a row/column sequential fitting scheme and a four-step, iterative selection process that enforces velocity coherence across the field. Applied to MUSE data of two quasars, ELFO smooths velocity maps, corrects anomalous decompositions, and reveals substructures and coherent large-scale kinematics that may be obscured by traditional per-spaxel fitting or aggressive binning. The approach preserves spatial information better than adaptive binning, is adaptable to other IFS datasets and lines, but requires substantial computation, and could gain from integration with machine learning to refine parameter bounds and initialization.

Abstract

Integral field spectroscopy (IFS) provides spatially resolved spectra, enabling detailed studies that address the physical and kinematic properties of the interstellar medium. A critical step in analyzing IFS data is the decomposition of emission lines, where different velocity components are often modeled with Gaussian profiles. However, conventional fitting methods that treat each spectrum independently often yield spatial discontinuities in the fitting results. Here, we present Emission Line Fitting Optimization (ELFO), a Python package for IFS spectral fitting. ELFO uses the results of neighboring spectra to determine multiple initial guesses and selects the result that exhibits spatial smoothness. We tested ELFO on IFS data of two quasars obtained from the Multi-Unit Spectroscopic Explorer, where it successfully corrected anomalous fits, revealed previously unresolved substructures, and made large-scale kinematic structures more evident. With minor modifications, this method can also be easily adapted to other IFS data and different emission lines.
Paper Structure (13 sections, 1 equation, 12 figures, 2 tables)

This paper contains 13 sections, 1 equation, 12 figures, 2 tables.

Figures (12)

  • Figure 1: Example of spectral fitting results. In the upper panel, the black solid line illustrates the observed data, and the blue solid line depicts the best-fitting model obtained from PyQSOFit. The model includes the continuum (orange solid line), Fe II emission (cyan solid line), and emission lines (red solid line for broad emission lines, green solid line for narrow emission lines). The gray dashed line represents the residuals of the spectral fitting. The bottom two panels show the emission line fitting results of the H$\beta$ and H$\alpha$ regions, respectively.
  • Figure 2: Velocity and flux maps of the H$\alpha$ emission line for MR 2251-178. (a) The line center velocity map of H$\alpha$ narrow component. (b)The flux map of H$\alpha$ narrow component. Only spaxels where the peak of the H$\alpha$ line is detected with SNR $>$ 5 are plotted. The red boxes indicate regions used as references for the selection.
  • Figure 3: Flowchart of the fitting process when $x_1 > x_0$. The lower inset illustrates the fitting process for row $x_0+1$. For each spectrum (spaxel N) in row $x_0+1$, the initial guess for the fitting is determined by the result with the minimum $\chi^2_\mathrm{red}$ among the $k$ neighboring spectra(spaxel 1, 2, 3… k) from row $x_0$.
  • Figure 4: Schematic diagram of the fitting sequence. The arrows indicate the fitting order: step (1) is executed first, followed by step (2).
  • Figure 5: Flowchart of the selection method. The selection process consists of four steps: (1) identifying the reference region; (2) selecting valid results; (3) filling in regions without reference values; and (4) repeating steps (2) and (3) until the set number of iterations is reached. For further details, refer to Section \ref{['select']}.
  • ...and 7 more figures