reflectance¶
- sbpy.units.reflectance(wfb, cross_section=None, reflectance=None, **kwargs)[source]¶
Reflectance related equivalencies.
Supports conversion from/to reflectance and scattering cross-section to/from total flux or magnitude at 1 au for both heliocentric and observer distances. Uses
sbpy
’s photometric calibration system:solar_spectrum
andsolar_fluxd
.Spectral flux density equivalencies for Vega are automatically used, if possible. Dimensionless logarithmic units are also supported if the corresponding solar value is set by
set
.- Parameters:
- wfb
astropy.units.Quantity
,synphot.SpectralElement
, string Wavelength, frequency, or a bandpass corresponding to the flux density being converted.
- cross_section
astropy.units.Qauntity
, optional Total scattering cross-section. One of
cross_section
orreflectance
is required.- reflectance
astropy.units.Quantity
, optional Average reflectance. One of
cross_section
orreflectance
is required.- **kwargs
Keyword arguments for
observe()
.
- wfb
- Returns:
- equivlist
List of equivalencies
Examples
Convertion between scattering cross-section and reflectance >>> import numpy as np >>> from astropy import units as u >>> from sbpy.units import reflectance, VEGAmag, spectral_density_vega >>> from sbpy.calib import solar_fluxd, vega_fluxd >>> >>> solar_fluxd.set({‘V’: -26.77471503 * VEGAmag}) … # doctest: +IGNORE_OUTPUT >>> vega_fluxd.set({‘V’: 3.5885e-08 * u.Unit(‘W / (m2 um)’)}) … # doctest: +IGNORE_OUTPUT >>> mag = 3.4 * VEGAmag >>> cross_sec = np.pi * (460 * u.km)**2 >>> ref = mag.to(‘1/sr’, reflectance(‘V’, cross_section=cross_sec)) >>> print(‘{0:.4f}’.format(ref)) 0.0287 1 / sr >>> mag1 = ref.to(VEGAmag, reflectance(‘V’, cross_section=cross_sec)) >>> print(‘{0:.2f}’.format(mag1)) 3.40 mag(VEGA)
>>> # Convertion between magnitude and scattering cross-section >>> ref = 0.0287 / u.sr >>> cross_sec = mag.to('km2', reflectance('V', reflectance=ref)) >>> radius = np.sqrt(cross_sec/np.pi) >>> print('{0:.2f}'.format(radius)) 459.69 km >>> mag2 = cross_sec.to(VEGAmag, reflectance('V', reflectance=ref)) >>> print('{0:.2f}'.format(mag2)) 3.40 mag(VEGA)