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=8e-17, 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: 8e-17)
- 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=1e-16, 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: 8e-17)
- 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=1e-16, 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: 8e-17)
- 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=1e-16, 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: 8e-17)
- 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=8e-17, 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: 8e-17)
- 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=8e-17, 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: 8e-17)
- 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=5e-17, 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: 8e-17)
- 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