Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
bandpasses : list
List of `pysynphot` bandpass objects, e.g.,
>>> import pysynphot as S
>>> bandpasses = [S.ObsBandpass('wfc3,ir,f140w')]
Returns
-------
ab_mags : dict
Dictionary with keys from `bandpasses` and the integrated magnitudes
"""
import pysynphot as S
flat = S.FlatSpectrum(0, fluxunits='ABMag')
ab_mags = OrderedDict()
for bp in bandpasses:
flat_obs = S.Observation(flat, bp)
spec_obs = S.Observation(spectrum, bp)
ab_mags[bp.name] = -2.5*np.log10(spec_obs.countrate()/flat_obs.countrate())
return ab_mags
'F140W': 13922.907350356367,
'F160W': 15369.175708965562,
'F435W': 4328.256914042873,
'F606W': 5921.658489236346,
'F775W': 7693.297933335407,
'F814W': 8058.784799323767,
'VISTAH':1.6433e+04,
'GRISM': 1.6e4}
no_newline = '\x1b[1A\x1b[1M' # character to skip clearing line on STDOUT printing
### Demo for computing photflam and photplam with pysynphot
if False:
import pysynphot as S
n = 1.e-20
spec = S.FlatSpectrum(n, fluxunits='flam')
photflam = {}
photplam = {}
for filter in ['F098M', 'F105W', 'F110W', 'F125W', 'F140W', 'F160W']:
bp = S.ObsBandpass('wfc3,ir,%s' %(filter.lower()))
photplam[filter] = bp.pivot()
obs = S.Observation(spec, bp)
photflam[filter] = n/obs.countrate()
for filter in ['F435W', 'F606W', 'F775W', 'F814W']:
bp = S.ObsBandpass('acs,wfc1,%s' %(filter.lower()))
photplam[filter] = bp.pivot()
obs = S.Observation(spec, bp)
photflam[filter] = n/obs.countrate()
class GrismFLT(object):