Photometric Properties
In here, we describe bandpass and spectral photometric properties that can be calculated using pysynphot, along with their respective formulae. More information can also be found in Koornneef et al. (1986), Bandpass, and Observation.
The following table summarizes the available photometric properties, which are further elaborated in the sub-sections below:
Command |
Description |
---|---|
bp.avgwave() |
Bandpass Average Wavelength or reference wavelength |
bp.rmswidth() |
|
bp.photbw() |
|
bp.rectwidth() |
|
bp.equivwidth() |
|
bp.efficiency() |
|
bp.unit_response() |
|
obs.effstim() |
|
obs.efflam() |
|
bp.pivot() obs.pivot() |
These are not directly available but they are used to calculate other properties:
These are some common variables mentioned in the formulae in this section:
Variable |
Description |
---|---|
\(F_{\lambda}\) |
Source flux distribution |
\(P_{\lambda}\) |
Dimensionless bandpass throughput |
area |
Telescope collecting area |
h |
The Planck constant |
c |
The speed of light |
Bandpass Average Wavelength
For a bandpass, avgwave()
implements
the equation for \(\lambda_{0}\) as defined in
Koornneef et al. 1986 (page 836). It is
equivalent to IRAF STSDAS SYNPHOT bandpar
results for avglam
, avgmw
,
or refwave
; The throughput at this wavelength is tlambda
.
Example:
>>> bp = S.ObsBandpass('acs,wfc1,f555w')
>>> bp.avgwave()
5373.2182275673349
Bandpass RMS Band Width (Koornneef)
For a bandpass, rmswidth()
implements
the bandpass RMS width as defined in
Koornneef et al. 1986 (page 836), where
\(\lambda_{0}\) is the Bandpass Average Wavelength.
Example:
>>> bp = S.ObsBandpass('acs,wfc1,f555w')
>>> bp.rmswidth()
361.9997795461671
Bandpass RMS Band Width (SYNPHOT)
For a bandpass, photbw()
implements
the equivalent for bandw
from IRAF STSDAS SYNPHOT bandpar
task, where
\(\bar{\lambda}\) is Bandpass Mean Log Wavelength. This is not the same
as Bandpass RMS Band Width (Koornneef).
Example:
>>> bp = S.ObsBandpass('acs,wfc1,f555w')
>>> bp.photbw()
360.11107577076439
Bandpass Mean Log Wavelength
For a bandpass, this is the mean wavelength as defined in
Schneider, Gunn, and Hoessel (1983).
This rather unusual definition is such that the corresponding mean frequency is
\(c / \bar{\lambda}\). This cannot be directly calculated by
pysynphot, but is used for Bandpass RMS Band Width (SYNPHOT). It is equivalent
to barlam
in IRAF STSDAS SYNPHOT.
Bandpass Rectangular Width
For a bandpass, rectwidth()
implements
the rectangular width, where equvw
is Bandpass Equivalent Width.
It is equivalent to IRAF STSDAS SYNPHOT bandpar
result for rectw
.
Example:
>>> bp = S.ObsBandpass('acs,wfc1,f555w')
>>> bp.rectwidth()
1124.6106504868569
Bandpass Equivalent Width
For a bandpass, equivwidth()
implements the equivalent width. It is equivalent to
integrate()
and IRAF STSDAS SYNPHOT
bandpar
result for equvw
.
Example:
>>> bp = S.ObsBandpass('acs,wfc1,f555w')
>>> bp.equivwidth()
412.91237693252498
Bandpass Dimensionless Efficiency
For a bandpass, efficiency()
implements the dimensionless efficiency. It is equivalent to IRAF STSDAS SYNPHOT
bandpar
result for qtlam
.
Example:
>>> bp = S.ObsBandpass('acs,wfc1,f555w')
>>> bp.efficiency()
0.077196835355538812
Bandpass Unit Response
For a bandpass, unit_response()
implements the computation of the flux (in flam
) of a star that produces a
response of one count per second in that bandpass, where h and c are
astronomical constants, and area is the
telescope collecting area.
It is equivalent to IRAF STSDAS SYNPHOT bandpar
result for uresp
.
Example:
>>> bp = S.ObsBandpass('acs,wfc1,f555w')
>>> bp.unit_response()
1.9791581474812573e-19
Bandpass Equivalent Monochromatic Flux
For a bandpass, its equivalent monochromatic flux is as defined below, where
\(\lambda_{0}\) is Bandpass Average Wavelength.
It is equivalent to IRAF STSDAS SYNPHOT bandpar
result for emflx
.
This can be calculated indirectly in pysynphot, as given in the example below:
>>> bp = S.ObsBandpass('acs,wfc1,f555w')
>>> bp.unit_response() * bp.equivwidth() / bp(bp.avgwave())
2.3693354953649259e-16
Effective Stimulus
For an observation, effstim()
calculates the predicted effective stimulus in given flux unit.
countrate()
is a
special form of effective stimulus in the unit of counts/s given a
pre-defined telescope collecting area. It is equivalent
to IRAF STSDAS SYNPHOT calcphot
result for effstim
.
Example:
>>> obs = S.Observation(S.BlackBody(5000), S.ObsBandpass('acs,wfc1,f555w'))
>>> obs.effstim() # photlam
0.00053965665649945897
>>> obs.effstim('flam')
1.9951166916464645e-15
>>> obs.effstim('counts')
10080.63299128226
>>> obs.countrate()
10080.633086603204
Effective Wavelength
For an observation, efflam()
implements
the effective wavelength, as defined in
Koornneef et al. 1986 (page 836), where flux
unit is converted to flam
prior to calculations. It is equivalent to
IRAF STSDAS SYNPHOT calcphot
result for efflerg
.
Example:
>>> obs = S.Observation(S.BlackBody(5000), S.ObsBandpass('acs,wfc1,f555w'))
>>> obs.efflam()
5406.9723492971125
Pivot Wavelength
For an observation, pysynphot.observation.Observation.pivot()
calculates
the pivot wavelength. For a bandpass, it is
pysynphot.spectrum.SpectralElement.pivot()
.
The formula below applies to an observation.
For a bandpass, replace
\(F_{\lambda}\) with \(P_{\lambda}\) in the formula.
It is equivalent to IRAF STSDAS SYNPHOT result for pivwv
and pivot
.
Example:
>>> bp = S.ObsBandpass('acs,wfc1,f555w')
>>> bp.pivot()
5361.007831073981
>>> obs = S.Observation(S.BlackBody(5000), bp)
>>> obs.pivot()
5394.930514954142