Extinction Law Object¶
The extinction law can be defined using the classes in spisea/reddening.py. These can be called by:
from spisea import reddening
red_law = reddening.<redlaw_name>()
SPISEA uses the pysynphot framework to define the extinction law. The output is a pysynphot.reddening.CustomRedLaw oject. The reddening law is reported in terms of A_lambda / A_Ks, and thus is normalized to A_Ks = 1.
The red_law object is passed into the Isochrone Object in order to define the extinction for the stars. See the Quick Start for an example.
Available extinction laws:
RedLawPowerLaw
RedLawBrokenPowerLaw
RedLawRiekeLebofsky
RedLawCardelli
RedLawIndebetouw05
RedLawRomanZuniga07
RedLawFitzpatrick09
RedLawNishiyama09 (default)
RedLawSchoedel10
RedLawFritz11
RedLawDamineli16
RedLawDeMarchi16
RedLawSchlafly16
RedLawHosek18b
RedLawNoguerasLara18
RedLawNoguerasLara20
RedLawSODC
Extinction Law Classes¶
- class reddening.RedLawPowerLaw(alpha, K_wave, wave_min=0.5, wave_max=5.0)¶
Extinction object that is a power-law extinction law: \(A_{\lambda} \propto \lambda^{\alpha}\).
For example, to create an extinction law between 0.8 and 3 microns where \(\alpha = 2.21\), where \(A_{\lambda} / A_{Ks} = 1\) at 2.12 microns:
>>> from spisea import reddening >>> red_law = reddening.RedLawPowerLaw(2.21, 2.12, wave_min=0.8, wave_max=3.0)
- Parameters
- alphafloat
Exponent of the extinction power-law.
- K_wavefloat
Extinction law is normalized such that AKs = 1 at K_wave.
- wave_minfloat; optional
Minimum wavelength of the extinction law, in microns. Default is 0.5 microns.
- wave_maxfloat; optional
Maximum wavelength of the extinction law, in microns. Default is 5.0 microns
Methods
powerlaw(wavelength, AKs)Return the extinction at a given wavelength assuming the extinction law and an overall AKs value.
- powerlaw(wavelength, AKs)¶
Return the extinction at a given wavelength assuming the extinction law and an overall AKs value.
- Parameters
- wavelengthfloat or array
Wavelength to return extinction for, in microns
- AKsfloat
Total extinction in AKs, in mags
- class reddening.RedLawBrokenPowerLaw(lambda_limits, alpha_vals, K_wave)¶
Extinction object that is a broken power-law extinction law: \(A_{\lambda} \propto \lambda^{\alpha[n]}\)
for: :math: lambda_{limits}[n] < lambda <= lambda_{limits}[n+1]
Note: lambda_limits must be continuous in wavelength and K_wave must be within one of the section defined by the lambda_limits array. Extinction law is only defined over lambda_limits
Units of lambda_limits array is microns.
- Parameters
- lambda_limitsnumpy array
Array of length (N + 1) with lower and upper wavelength limits of the power-law segments. Units are microns.
- alpha_valsnumpy array
Array of length N that contains the powers for each power-law segment.
- K_wavefloat
Extinction law is normalized such that AKs = 1 at K_wave.
Methods
broken_powerlaw(wavelength, AKs)Return the extinction at a given wavelength assuming the extinction law and an overall AKs value.
- broken_powerlaw(wavelength, AKs)¶
Return the extinction at a given wavelength assuming the extinction law and an overall AKs value.
- Parameters
- wavelengthfloat or array
Wavelength to return extinction for, in microns
- AKsfloat
Total extinction in AKs, in mags
- class reddening.RedLawRiekeLebofsky¶
Defines the extinction law from Rieke & Lebofsky 1985 for the Galactic Center. The law is defined between 1.0 - 5.0 microns.
A_lambda / A_Ks = 1 when lambda = 2.2 microns
Methods
RiekeLebofsky85(wavelength, AKs)Return the extinction at a given wavelength assuming the extinction law and an overall AKs value.
- RiekeLebofsky85(wavelength, AKs)¶
Return the extinction at a given wavelength assuming the extinction law and an overall AKs value.
- Parameters
- wavelengthfloat or array
Wavelength to return extinction for, in microns
- AKsfloat
Total extinction in AKs, in mags
- class reddening.RedLawCardelli(Rv)¶
Defines the extinction law from Cardelli et al. 1989. The law is defined from 0.3 - 3 microns, and in terms of \(A_{\lambda} / A_{Ks}\), where Ks is 2.174 microns.
- Parameters
- Rvfloat
Ratio of absolute to selective extinction, \(A(V) / E(B-V)\). The standard value for the diffuse ISM is 3.1.
Methods
Cardelli89(wavelength, AKs)Return the extinction at a given wavelength assuming the extinction law and an overall AKs value.
- Cardelli89(wavelength, AKs)¶
Return the extinction at a given wavelength assuming the extinction law and an overall AKs value.
- Parameters
- wavelengthfloat or array
Wavelength to return extinction for, in microns
- AKsfloat
Total extinction in AKs, in mags
- class reddening.RedLawIndebetouw05¶
Defines the extinction law from Indebetouw et al. 2005. The law is defined between 1.25 - 8 microns using Equation 4 in their paper.
Note that A_lambda / A_K = 1 when lambda = 2.164 microns.
Methods
Indebetouw05(wavelength, AKs)Return the extinction at a given wavelength assuming the extinction law and an overall extinction at AK (2.164 microns)
- Indebetouw05(wavelength, AKs)¶
Return the extinction at a given wavelength assuming the extinction law and an overall extinction at AK (2.164 microns)
- Parameters
- wavelengthfloat or array
Wavelength to return extinction for, in microns
- AKsfloat
Total extinction in AKs, in mags
- class reddening.RedLawRomanZuniga07¶
Defines extinction law from Roman-Zuniga et al. 2007 for the dense cloud core Barnard 59. The law is a cubic spline fit to the values of A_lambda / A_Ks derived using the color-color diagrams slopes in their Table 1. It is defined between 1.0 - 8.0 microns.
A_lambda / A_Ks = 1 when lambda = 2.164 microns
Methods
RomanZuniga07(wavelength, AKs)Return the extinction at a given wavelength assuming the extinction law and an overall AKs value.
- RomanZuniga07(wavelength, AKs)¶
Return the extinction at a given wavelength assuming the extinction law and an overall AKs value.
- Parameters
- wavelengthfloat or array
Wavelength to return extinction for, in microns
- AKsfloat
Total extinction in AKs, in mags
- class reddening.RedLawFitzpatrick09(alpha, RV)¶
Defines the extinction law from Fitzpatrick et al. 2009. The law is defined between 0.5 – 3 microns.
The extinction law is as defined in their equation 5, and has two free parameters: \(lpha\) and R(V). Averaged over 14 sight-lines, the authors generally find either \(alpha\) ~ 2.5, R(V) ~ 3, or \(alpha\) ~ 1.8, R(V) ~ 5 (their Figure 6).
A_lambda / A_K = 1 at lambda = 2.18
- Parameters
- alphafloat
alpha parameter for extinction law.
- RVfloat
R(V) parameter for extinction law.
Methods
Fitzpatrick09(wavelength, AKs)Return the extinction at a given wavelength assuming the extinction law and an overall AKs value.
- Fitzpatrick09(wavelength, AKs)¶
Return the extinction at a given wavelength assuming the extinction law and an overall AKs value.
- Parameters
- wavelengthfloat or array
Wavelength to return extinction for, in microns
- AKsfloat
Total extinction in AKs, in mags
- class reddening.RedLawNishiyama09¶
The extinction law towards the Galactic Center from Nishiyama et al. 2009, combined with the Av / AKs value from Nishiyama et al. 2008. This law is defined between 0.5 - 8.0 microns.
This law is constructed in 3 segments:
0.5 – 1.24 microns: a linear interpolation in log(1/lambda) vs log(A/AKs) space between the Av/AKs and AJ/AKs values
1.25 – 2.14 microns: a power law with index of 2.0
2.14 – 8.0 microns: a spline interpolation between the observed extinction values
A_lambda / A_Ks = 1 when lambda = 2.14 microns
This is the default extinction law.
Methods
Nishiyama09(wavelength, AKs)Return the extinction at a given wavelength assuming the extinction law and an overall AKs value.
- Nishiyama09(wavelength, AKs)¶
Return the extinction at a given wavelength assuming the extinction law and an overall AKs value.
- Parameters
- wavelengthfloat or array
Wavelength to return extinction for, in microns
- AKsfloat
Total extinction in AKs, in mags
- class reddening.RedLawSchoedel10¶
Defines extinction law from Schoedel et al. 2010 for the Galactic Center. It is defined between 1.5 - 3.8 microns.
Power law indices:
1.677 - 2.168 microns —> alpha = 2.21 +/- 0.24
2.168 - 3.636 microns —> alpha = 1.34 +/- 0.29
Wavelengths come from effective wavelengths of observations (some buffer is added to either side of these values).
Reddening law is scaled such that A_lambda / A_Ks = 1 at lambda = 2.168 microns.
Methods
Schoedel10(wavelength, AKs)Return the extinction at a given wavelength assuming the extinction law and a total extinction at scale_lambda (the wavelength where the extinction law = 1)
- Schoedel10(wavelength, AKs)¶
Return the extinction at a given wavelength assuming the extinction law and a total extinction at scale_lambda (the wavelength where the extinction law = 1)
- Parameters
- wavelengthfloat or array
Wavelength to return extinction for, in microns
- AKsfloat
Total extinction at scale_lambda, in mags
- class reddening.RedLawFritz11(scale_lambda=2.166)¶
Defines extinction law from Fritz et al. 2011 for the Galactic Center. The law is defined from 1.0 – 26 microns.
By default, law is scaled such that A_lambda / A_2.166 microns = 1. According to Fritz+11, A_2.166 microns = 2.62 +/- 0.11 mag is the total extinction towards the inner 14”x20” of the MW.
Methods
Fritz11(wavelength, A_scale_lambda)Return the extinction at a given wavelength assuming the extinction law and a total extinction at the scale_lambda (the wavelength where the extinction law = 1)
- Fritz11(wavelength, A_scale_lambda)¶
Return the extinction at a given wavelength assuming the extinction law and a total extinction at the scale_lambda (the wavelength where the extinction law = 1)
- Parameters
- wavelengthfloat or array
Wavelength to return extinction for, in microns
- A_scale_lambdafloat
Total extinction at scale_lambda, in mags
- class reddening.RedLawDamineli16¶
Defines the extinction law of Damineli et al. 2016, derived for the Wd1 cluster. The law is derived between 0.4 - 4.8 microns.
Law is scaled such that A_lambda / A_Ks = 1 at 2.156 microns
Methods
Damineli16(wavelength, AKs)Return the extinction at a given wavelength assuming the extinction law and an overall AKs value.
- Damineli16(wavelength, AKs)¶
Return the extinction at a given wavelength assuming the extinction law and an overall AKs value.
- Parameters
- wavelengthfloat or array
Wavelength to return extinction for, in microns
- AKsfloat
Total extinction in AKs, in mags
- class reddening.RedLawDeMarchi16¶
Defines extinction law from De Marchi et al. 2016 derived for 30 Dorodus. The law is defined between 0.3 - 8.0 microns.
Methods
DeMarchi16(wavelength, AK)Return the extinction at a given wavelength assuming the extinction law and an overall AKs value.
- DeMarchi16(wavelength, AK)¶
Return the extinction at a given wavelength assuming the extinction law and an overall AKs value.
- Parameters
- wavelengthfloat or array
Wavelength to return extinction for, in microns
- AKsfloat
Total extinction in AKs, in mags
- class reddening.RedLawSchlafly16(AH_AKs, x)¶
Defines the extinction law from Schlafly et al. 2016. The law is defined between 0.5 - 4.8 microns.
The law is scaled such that A_lambda / A_Ks = 1 when lambda = 2.151
- Parameters
- AH_AKsfloat
Ratio of A_H / A_Ks, which sets the normalization of the law (see Schlafly+16)
- xfloat
Free parameter in extinction law (see Schlafly+16, Eqn 6)
Methods
Schlafly16(wavelength, AKs)Return the extinction at a given wavelength assuming the extinction law and an overall AKs value.
- Schlafly16(wavelength, AKs)¶
Return the extinction at a given wavelength assuming the extinction law and an overall AKs value.
- Parameters
- wavelengthfloat or array
Wavelength to return extinction for, in microns
- AKsfloat
Total extinction in AKs, in mags
- class reddening.RedLawHosek18b¶
Defines extinction law from Hosek et al. 2019 for the Arches cluster and Wd1. The law is derived between 0.7 - 3.54 microns
Methods
Hosek18b(wavelength, AKs)Return the extinction at a given wavelength assuming the extinction law and an overall AKs value.
- Hosek18b(wavelength, AKs)¶
Return the extinction at a given wavelength assuming the extinction law and an overall AKs value.
- Parameters
- wavelengthfloat or array
Wavelength to return extinction for, in microns
- AKsfloat
Total extinction in AKs, in mags
- class reddening.RedLawNoguerasLara18¶
Defines extinction law from Nogueras-Lara et al. 2018 for the Galactic Center. It is defined between 1.0 - 3.0 microns. Measurements were made in JHK, with effective wavelengths of 1.2685, 1.6506, and 2.1629 microns, respectively.
This extinction law is a single power law with exponent of alpha = 2.3 +/- 0.08.
Reddening law is scaled such that A_lambda / A_Ks = 1 at lambda = 2.163 microns (the observed K-band)
Methods
NoguerasLara18(wavelength, AKs)Return the extinction at a given wavelength assuming the extinction law and an overall AKs value.
- NoguerasLara18(wavelength, AKs)¶
Return the extinction at a given wavelength assuming the extinction law and an overall AKs value.
- Parameters
- wavelengthfloat or array
Wavelength to return extinction for, in microns
- AKsfloat
Total extinction in AKs, in mags
- class reddening.RedLawNoguerasLara20¶
Defines extinction law from Nogueras-Lara et al. 2020 for the Galactic Center. It is defined between 1.0 – 3 microns. Measurements were made in JHK, with effective wavelengths of 1.2685, 1.6506, and 2.1629 microns, respectively
Measured power law indices:
1.2685 - 1.6505 microns —> alpha = 2.44 +/- 0.05
1.6505 - 2.1629 microns —> alpha = 2.23 +/- 0.05
Wavelengths come from effective wavelengths of observations (some buffer is added to either side of these values).
Reddening law is scaled such that A_lambda / A_Ks = 1 at lambda = 2.163 microns (the observed K-band)
Methods
NoguerasLara20(wavelength, AKs)Return the extinction at a given wavelength assuming the extinction law and a total extinction at scale_lambda (the wavelength where the extinction law = 1)
- NoguerasLara20(wavelength, AKs)¶
Return the extinction at a given wavelength assuming the extinction law and a total extinction at scale_lambda (the wavelength where the extinction law = 1)
- Parameters
- wavelengthfloat or array
Wavelength to return extinction for, in microns
- AKsfloat
Total extinction at scale_lambda, in mags
- class reddening.RedLawSODC(Rv)¶
Defines the SODC extinction law from SynthPop, described by Klüter & Huston et al. (2025). It is based on the Cardelli et al. (1989) formulation with an updated optical end from O’Donnell et al (1994) and infrared side adjusted to match Surot et al. (2020). The law is defined from 0.25 - 3.5 microns, and in terms of \(A_{\lambda} / A_{Ks}\), where Ks is 2.174 microns.
- Parameters
- Rvfloat
Ratio of absolute to selective extinction, \(A(V) / E(B-V)\). The standard value for the diffuse ISM is 3.1. Toward the Galactic bulge, 2.5 is more typical.
Methods
SODC(wavelength, AKs)Return the extinction at a given wavelength assuming the extinction law and an overall AKs value.
- SODC(wavelength, AKs)¶
Return the extinction at a given wavelength assuming the extinction law and an overall AKs value.
- Parameters
- wavelengthfloat or array
Wavelength to return extinction for, in microns
- AKsfloat
Total extinction in AKs, in mags