expected_flux#

arte.photometry.expected_flux.expected_flux(transmissive_system, star_spectral_type='K5V', magnitude=0, filter_name='eso_etc_r', waveset=None, return_details=False, zenith_angle=<Quantity 30. deg>, include_sky=True)#

Estimate the expected flux for the given transmissive system from a source of a given spectral type .

Parameters:
  • transmissive_system (arte.photometry.transmissive_elements.TransmissiveSystem or TransmissiveElement) – The optical system through which to calculate the flux

  • star_spectral_type (str) – Spectral type of the star (default is ‘K5V’)

  • magnitude (float) – Magnitude of the source in the Vega system (default is 0)

  • filter_name (str) – Filter name for magnitude normalization (default is ESO_ETC_R)

  • waveset (astropy.units.Quantity, optional) – Wavelength set where to compute the expected flux. If None, uses the native waveset of the source spectrum (default is None)

  • return_details (bool) – If True, also return f_source and obs_source (default is False)

  • zenith_angle (astropy.units.Quantity) – Zenith angle for airmass calculation (default is 30 degrees)

  • include_sky (bool) – If True, include sky transmission in the calculation (default is True)

Returns:

  • counts_source (astropy.units.Quantity) – Expected flux in e-/s/m^2

  • f_source (synphot.spectrum.SourceSpectrum (optional)) – Normalized star spectrum of the source. Returned if return_details is True

  • obs_source (synphot.observation.Observation (optional)) – Observation object for the source filtered by the transmissive system. Returned if return_details is True

Examples

Basic usage with default parameters:

>>> from arte.photometry.transmissive_elements_catalogs import FiltersCatalog
>>> filt = FiltersCatalog.bessel_H()
>>> flux = expected_flux(filt)

K5V star with magnitude 8 in R filter through Bessel H:

>>> flux = expected_flux(filt, star_spectral_type='K5V', magnitude=8,
...                      filter_name=Filters.ESO_ETC_R)

Custom wavelength set from 1500 to 1700 nm and zenith angle:

>>> wv = np.arange(15000, 17000, 50) * u.Angstrom
>>> flux = expected_flux(filt, waveset=wv, zenith_angle=45*u.deg)

Get detailed output and exclude sky contribution:

>>> flux, f_src, obs = expected_flux(filt, return_details=True, include_sky=False)

Compare flux in K band for 2 different glasses:

>>> wvset = np.arange(2000, 2200, 10) * u.nm
>>> ideal = expected_flux(TransmissiveElement.ideal(), waveset=wvset)
>>> suprasil = expected_flux(GlassesCatalog.suprasil3002_10mm_internal_001(), waveset=wvset)
>>> npsk53a = expected_flux(GlassesCatalog.schott_NPSK53A_10_mm_internal_001(), waveset=wvset)