Vega

class sbpy.calib.Vega(source, description=None, bibcode=None)[source]

Bases: sbpy.calib.SpectralStandard

Vega spectrum.

Parameters
waveQuantity

Spectral wavelengths.

fluxdQuantity

Spectral flux density.

descriptionstring, optional

Brief description of the source spectrum.

bibcodestring, optional

Bibliography code for sbpy.bib.register.

metadict, optional

Any additional meta data, passed on to SourceSpectrum.

Examples

Get the default Vega spectrum: >>> vega = Vega.from_default() # doctest: +IGNORE_OUTPUT

Create Vega from a file: >>> vega = Vega.from_file(‘filename’) # doctest: +SKIP

Evaluate Vega at 1 μm (interpolation): >>> print(vega(1 * u.um)) # doctest: +FLOAT_CMP 6.326492514857613e-09 W / (m2 um)

Observe Vega through as if through a spectrometer: >>> import numpy as np >>> wave = np.linspace(0.4, 0.6) * u.um >>> spec = vega.observe(wave)

Observe Vega through a filter: >>> from sbpy.photometry import bandpass >>> V = bandpass(‘Johnson V’) >>> fluxd = vega.observe(V)

User provided calibration: >>> from sbpy.calib import vega_fluxd >>> vega = Vega(None) >>> with vega_fluxd.set({‘V’: 3674 * u.Jy, … ‘V(lambda pivot)’: 5511 * u.AA}): … print(vega.observe(‘V’, unit=’Jy’)) 3674.0 Jy

Attributes
wave - Wavelengths of the source spectrum.
fluxd - Source spectrum.
description - Brief description of the source spectrum.
meta - Meta data.

Attributes Summary

description

Description of the source spectrum.

fluxd

The source spectrum.

meta

source

wave

Wavelengths of the source spectrum.

Methods Summary

__call__(self, wave_or_freq[, unit])

Evaluate/interpolate the source spectrum.

color_index(self, wfb, unit)

Color index (magnitudes) and effective wavelengths.

from_array(wave, fluxd[, meta])

Create standard from arrays.

from_builtin(name)

Spectrum from a built-in sbpy source.

from_default()

Initialize new spectral standard from current default.

from_file(filename[, wave_unit, flux_unit, …])

Load the source spectrum from a file.

observe(self, wfb[, unit, interpolate])

Observe as through filters or spectrometer.

observe_bandpass(self, bp[, unit])

Observe through a bandpass.

observe_filter_name(self, filt[, unit])

Flux density through this filter.

observe_spectrum(self, wave_or_freq[, unit])

Observe source as through a spectrometer.

show_builtin([print])

List built-in spectra.

Attributes Documentation

description

Description of the source spectrum.

fluxd

The source spectrum.

meta
source
wave

Wavelengths of the source spectrum.

Methods Documentation

__call__(self, wave_or_freq, unit=None)

Evaluate/interpolate the source spectrum.

Parameters
wave_or_freqQuantity

Requested wavelengths or frequencies of the resulting spectrum.

unitstring, Unit, optional

Spectral units of the output (flux density). If None, the default depends on wave_or_freq: W/(m2 μm) for wavelengths, Jy for frequencies.

Returns
fluxdQuantity

The spectrum evaluated/interpolated to the requested wavelengths or frequencies.

color_index(self, wfb, unit)

Color index (magnitudes) and effective wavelengths.

Parameters
wfbQuantity, or tuple/list of SectralElement, string

Two wavelengths, frequencies, or bandpasses.

unitstring or MagUnit

Units for the calculation, e.g., astropy.units.ABmag or sbpy.units.VEGAmag.

Returns
eff_waveQuantity

Effective wavelengths for each wfb.

ciQuantity

Color index, m_0 - m_1, where 0 and 1 are element indexes for wfb.

classmethod from_array(wave, fluxd, meta=None, **kwargs)

Create standard from arrays.

Parameters
waveQuantity

The spectral wavelengths.

fluxdQuantity

The spectral flux densities.

metadict, optional

Meta data.

**kwargs

Passed to object initialization.

classmethod from_builtin(name)

Spectrum from a built-in sbpy source.

Parameters
namestring

The name of the spectrum. See show_builtin() for available sources.

classmethod from_default()

Initialize new spectral standard from current default.

The spectrum will be None if synphot is not available.

classmethod from_file(filename, wave_unit=None, flux_unit=None, cache=True, **kwargs)

Load the source spectrum from a file.

NaNs are dropped.

Parameters
filenamestring

The name of the file. See from_file for details.

wave_unit, flux_unitstr or Unit, optional

Wavelength and flux units in the file.

cachebool, optional

If True, cache the contents of URLs.

**kwargs

Passed to object initialization.

observe(self, wfb, unit=None, interpolate=False, **kwargs)

Observe as through filters or spectrometer.

Calls observe_bandpass, observe_spectrum, or self(), as appropriate.

Parameters
wfbQuantity, SpectralElement, string

Wavelengths, frequencies, or bandpasses. Bandpasses may be a filter name (string). May also be a list of SpectralElement or strings.

unitstring, Unit, optional

Units of the output (spectral flux density).

interpolatebool, optional

For wavelengths/frequencies, set to True for interpolation instead of rebinning. Use this when the spectral resolution of the source is close to that of the requested wavelengths.

**kwargs

Additional keyword arguments for Observation, e.g., force.

Returns
fluxdQuantity
observe_bandpass(self, bp, unit=None, **kwargs)

Observe through a bandpass.

Parameters
bpSpectralElement, list, or tuple

Bandpass.

unitstring, Unit, optional

Spectral flux density units for the output. The default is W/(m2 μm).

**kwargs

Additional keyword arguments for Observation, e.g., force.

Returns
lambda_effQuantity

Effective wavelength(s) of the observation(s).

fluxdQuantity

The spectrum rebinned.

observe_filter_name(self, filt, unit=None)

Flux density through this filter.

Does not use the spectrum, but instead the flux density calibration manager. If the name of the filter is BP, then the expected keys are:

BP : flux density BP(lambda eff) : effective wavelength, optional BP(lambda pivot) : pivot wavelength, optional

Parameters
filtstring

Name of the filter.

unitstring, Unit, optional

Spectral flux density units for the output.

Returns
lambda_eff: Quantity

Effective wavelength. None if it is not provided.

lambda_pivot: Quantity

Pivot wavelength. None if it is not provided.

fluxdQuantity

Spectral flux density.

Raises
FilterLookupError if the filter is not defined.
observe_spectrum(self, wave_or_freq, unit=None, **kwargs)

Observe source as through a spectrometer.

Important

This method works best when the requested spectral resolution is lower than the spectral resolution of the internal data. If the requested wavelengths/frequencies are exactly the same as the internal spectrum, then the internal spectrum will be returned without binning. This special case does not work for subsets of the wavelengths.

Parameters
wave_or_freqQuantity

Wavelengths or frequencies of the spectrum. Spectral bins will be centered at these values. The length must be larger than 1.

unitstring, Unit, optional

Spectral flux density units for the output. If None, the default is W/(m2 μm) for wavelengths, Jy for frequencies.

**kwargs

Additional keyword arguments for Observation, e.g., force.

Returns
fluxdQuantity

The spectrum rebinned.

Raises
SinglePointSpectrumError - If requested wavelengths or

frequencies has only one value.

Notes

Method for spectra adapted from AstroBetter post by Jessica Lu: http://www.astrobetter.com/blog/2013/08/12/python-tip-re-sampling-spectra-with-pysynphot/

classmethod show_builtin(print=True)

List built-in spectra.