Miscellanous functions¶
This class is dedicated to fitting lines on observed spectra.
This class contains a variety of function to fit emission or absorption lines in galaxy spectra.

class
LineFittingLibrary.
LineFittingLibrary
(dV=9999.99)[source]  Loads the environement proper to fit lines :
 Gaussian line model
 Lorentzian line model
 pseudoVoigt line model
 conversion magnitude AB to flux : flambda to fnu
Parameters: dV – the default value (def: 9999.99) 
fit_Line
(wl, spec1d, err1d, a0, lineName='AL', fitWidth=20, DLC=20, p0_sigma=15.0, p0_flux=8e17, p0_share=0.5, continuumSide='left', model='gaussian')[source]¶ fits a line profile to a spectrum around a fixed line position
Parameters:  wl – wavelength (array, Angstrom)
 spec1d – flux observed in the broad band (array, f lambda)
 err1d – error on the flux observed in the broad band (array, f lambda)
 a0 – expected position of the peak of the line in the observed frame (redshifted). a0 is not fitted, it is given.
 lineName – suffix characterizing the line in the headers of the output
 DLC – wavelength extent to fit the continuum around the line. (def: 230 Angstrom)
 p0_sigma – prior on the line width in A (def: 15 A)
 p0_flux – prior on the line flux in erg/cm2/s/A (def: 8e17)
 p0_share – prior on the share of Gaussian and Lorentzian model. Only used if the line is fitted with a pseudoVoigt profile width (def: 0.5 no units)
 continuumSide – “left” = bluewards of the line or “right” = redwards of the line
 model – line model to be fitted : “gaussian”, “lorentz” or “pseudoVoigt”.
 Returns :
 array 1 with the parameters of the model
 array 2 with the model (wavelength, flux model)
 header corresponding to the array 1

fit_Line_OIIdoublet
(wl, spec1d, err1d, a0=3726.0321735398957, lineName='OII', fitWidth=20, DLC=20, p0_sigma=4.0, p0_flux=1e16, p0_share=0.58, model='gaussian')[source]¶ fits the [OII] doublet line profile
Parameters:  wl – wavelength (array, Angstrom)
 spec1d – flux observed in the broad band (array, f lambda)
 err1d – error on the flux observed in the broad band (array, f lambda)
 a0 – expected position of the peak of the line in the observed frame (redshifted). 2 positions given.
 lineName – suffix characterizing the line in the headers of the output
 DLC – wavelength extent to fit the continuum around the line. (def: 230 Angstrom)
 p0_sigma – prior on the line width in A (def: 15 A)
 p0_flux – prior on the line flux in erg/cm2/s/A (def: 8e17)
 p0_share – prior on the share between the two [OII] lines. (def: 0.58)
 continuumSide – “left” = bluewards of the line or “right” = redwards of the line
 model – line model to be fitted : “gaussian”, “lorentz” or “pseudoVoigt”
 Returns :
 array 1 with the parameters of the model
 array 2 with the model (wavelength, flux model)
 header corresponding to the array 1

fit_Line_OIIdoublet_position
(wl, spec1d, err1d, a0=3726.0321, lineName='O2_3728', fitWidth=20, DLC=20, p0_sigma=4.0, p0_flux=1e16, p0_share=0.58, model='gaussian')[source]¶ fits the [OII] doublet line profile
Parameters:  wl – wavelength (array, Angstrom)
 spec1d – flux observed in the broad band (array, f lambda)
 err1d – error on the flux observed in the broad band (array, f lambda)
 a0 – expected position of the peak of the line in the observed frame (redshifted). 2 positions given.
 lineName – suffix characterizing the line in the headers of the output
 DLC – wavelength extent to fit the continuum around the line. (def: 230 Angstrom)
 p0_sigma – prior on the line width in A (def: 15 A)
 p0_flux – prior on the line flux in erg/cm2/s/A (def: 8e17)
 p0_share – prior on the share between the two [OII] lines. (def: 0.58)
 continuumSide – “left” = bluewards of the line or “right” = redwards of the line
 model – line model to be fitted : “gaussian”, “lorentz” or “pseudoVoigt”
 Returns :
 array 1 with the parameters of the model
 array 2 with the model (wavelength, flux model)
 header corresponding to the array 1

fit_Line_OIIdoublet_position_C0noise
(wl, spec1d, err1d, a0=3726.0321, lineName='O2_3728', fitWidth=20, DLC=20, p0_sigma=4.0, p0_flux=1e16, p0_share=0.58, model='gaussian')[source]¶ fits the [OII] doublet line profile
Parameters:  wl – wavelength (array, Angstrom)
 spec1d – flux observed in the broad band (array, f lambda)
 err1d – error on the flux observed in the broad band (array, f lambda)
 a0 – expected position of the peak of the line in the observed frame (redshifted). 2 positions given.
 lineName – suffix characterizing the line in the headers of the output
 DLC – wavelength extent to fit the continuum around the line. (def: 230 Angstrom)
 p0_sigma – prior on the line width in A (def: 15 A)
 p0_flux – prior on the line flux in erg/cm2/s/A (def: 8e17)
 p0_share – prior on the share between the two [OII] lines. (def: 0.58)
 continuumSide – “left” = bluewards of the line or “right” = redwards of the line
 model – line model to be fitted : “gaussian”, “lorentz” or “pseudoVoigt”
 Returns :
 array 1 with the parameters of the model
 array 2 with the model (wavelength, flux model)
 header corresponding to the array 1

fit_Line_position
(wl, spec1d, err1d, a0=5007.0, lineName='AL', fitWidth=20, DLC=20, p0_sigma=15.0, p0_flux=8e17, p0_share=0.5, continuumSide='left', model='gaussian')[source]¶ fits a line profile to a spectrum around a fixed line position
Parameters:  wl – wavelength (array, Angstrom)
 spec1d – flux observed in the broad band (array, f lambda)
 err1d – error on the flux observed in the broad band (array, f lambda)
 a0 – expected position of the peak of the line in the observed frame (redshifted). a0 is not fitted, it is given.
 lineName – suffix characterizing the line in the headers of the output
 DLC – wavelength extent to fit the continuum around the line. (def: 230 Angstrom)
 p0_sigma – prior on the line width in A (def: 15 A)
 p0_flux – prior on the line flux in erg/cm2/s/A (def: 8e17)
 p0_share – prior on the share of Gaussian and Lorentzian model. Only used if the line is fitted with a pseudoVoigt profile width (def: 0.5 no units)
 continuumSide – “left” = bluewards of the line or “right” = redwards of the line
 model – line model to be fitted : “gaussian”, “lorentz” or “pseudoVoigt”.
 Returns :
 array 1 with the parameters of the model
 array 2 with the model (wavelength, flux model)
 header corresponding to the array 1

fit_Line_position_C0noise
(wl, spec1d, err1d, a0=5007.0, lineName='AL', fitWidth=20, DLC=20, p0_sigma=15.0, p0_flux=8e17, p0_share=0.5, continuumSide='left', model='gaussian')[source]¶ fits a line profile to a spectrum where the error model is takes the value of the continuum.
Parameters:  wl – wavelength (array, Angstrom)
 spec1d – flux observed in the broad band (array, f lambda)
 err1d – error on the flux observed in the broad band (array, f lambda)
 a0 – expected position of the peak of the line in the observed frame (redshifted). a0 is fitted.
 lineName – suffix characterizing the line in the headers of the output
 fitWidth – width in Angstrom around the line where the fit is performed, default 20 Angstrom
 continuumSide – “left” = bluewards of the line or “right” = redwards of the line
 DLC – wavelength extent to fit the continuum around the line. (def: 230 Angstrom)
 p0_sigma – prior on the line width in A (def: 15 A)
 p0_flux – prior on the line flux in erg/cm2/s/A (def: 8e17)
 p0_share – prior on the share of Gaussian and Lorentzian model. Only used if the line is fitted with a pseudoVoigt profile width (def: 0.5 no units)
 model – line model to be fitted : “gaussian”, “lorentz” or “pseudoVoigt”.
 Returns :
 array 1 with the parameters of the model
 array 2 with the model (wavelength, flux model)
 header corresponding to the array 1

fit_recLine
(wl, spec1d, err1d, a0, lineName='AL', fitWidth=20, DLC=20, p0_sigma=5.0, p0_flux=5e17, continuumSide='left')[source]¶ fits a recombination line profile : emission and absorption modeled by Gaussians. Only for high SNR spectra.
Parameters:  wl – wavelength (array, Angstrom)
 spec1d – flux observed in the broad band (array, f lambda)
 err1d – error on the flux observed in the broad band (array, f lambda)
 a0 – expected position of the peak of the line in the observed frame (redshifted)
 lineName – suffix characterizing the line in the headers of the output
 DLC – wavelength extent to fit the continuum around the line. (def: 230 Angstrom)
 p0_sigma – prior on the line width in A (def: 15 A)
 p0_flux – prior on the line flux in erg/cm2/s/A (def: 8e17)
 continuumSide – “left” = bluewards of the line or “right” = redwards of the line
 Returns :
 array 1 with the parameters of the model
 array 2 with the model (wavelength, flux model)
 header corresponding to the array 1

getFractionObsMag
(mag, lambdaMag, filter, xmin, xmax, wl, fl, flErr)[source]¶ Computes the fraction of light captured by the spectrograph in a broad band by comparing the integrated flux in the broad band to the magnitude.
Parameters:  mag – magnitude AB (float, mag)
 lambdaMag – mean wavelength covered by the magnitude AB (float, Angstrom)
 fl – flux observed in the broad band (array, f lambda)
 flErr – error on the flux observed in the broad band (array, f lambda)
 filt – filter curve (interpolation 1d)
 xmin – lower integration boundary (Angstrom)
 xmax – higher integration boundary (Angstrom)
 Returns :
 fraction of light observed
 error on the fraction of light observed

getFractionObsMed
(mag, lambdaMag, fl, flErr)[source]¶ Computes the fraction of light captured by the spectrograph in a broad band by comparing the median flux in the broad band to the magnitude converted to flux at the mean wavelength of the broad band.
Parameters:  mag – magnitude AB (float, mag)
 lambdaMag – mean wavelength covered by the magnitude AB (float, Angstrom)
 fl – flux observed in the broad band (array, f lambda)
 flErr – error on the flux observed in the broad band (array, f lambda)
 Returns :
 fraction of light observed
 error on the fraction of light observed

integrateMAG
(wl, spec1d, err1d, filt, xmin=5000.0, xmax=7500.0)[source]¶ Integrates a spectrum over a filter curve.
Parameters:  wl – wavelength (array)
 spec1d – flux, f lambda convention (array)
 err1d – flux error (array)
 filt – filter curve (interpolation 1d)
 xmin – lower integration boundary (Angstrom)
 xmax – higher integration boundary (Angstrom)
 returns :
 integral of filter curve
 integral of spec1d
 integral of spec1d * filter curve
 integral of (spec1d + err1d) * filter curve
 integral of (spec1d  err1d) * filter curve

plotLineFit
(wl, fl, flErr, lineModel, a0, datI, path_to_fig='plot.pdf', title='  ', fitWidth=70.0, DLC=50, doublet=False)[source]¶ Plots a spectrum and the emission line model fitted.
Parameters:  wl – wavelength (array, Angstrom)
 fl – flux observed in the broad band (array, f lambda)
 flErr – error on the flux observed in the broad band (array, f lambda)
 lineModel – model output by the line fitting functions (array, (2,N) wavelength and flux)
 a0 – position of the peak of the line
 path_to_fig – where you wish to save the figure