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)