Filter
provides a unit-aware interface to photometric bandpasses from the Spanish Virtual Observatory (SVO) Filter Profile Service (FPS). It enables retrieval of transmission curves and metadata for thousands of astronomical filters, interpolation of the transmission function, bandpass-weighting of spectra, magnitude–flux conversions using per-filter zero points, and publication-ready plots with effective wavelength and width annotations when available.
This library is intended for research workflows in observational astronomy and SED analysis where accurate knowledge of the instrumental bandpass is required for synthetic photometry, bandpass-weighted fluxes, and conversions between magnitudes and flux densities.
- Access SVO FPS bandpasses by
filterID
(from_svo
) or construct custom bandpasses from arrays (from_data
). - Interpolate transmission at arbitrary wavelengths via call syntax
f(wavelength)
(Angstrom units). - Search the SVO catalog with wildcard patterns (
search
). - Convert between magnitudes and flux densities using the filter’s SVO zero point (
mag_to_flux
,flux_to_mag
, Pogson only). - Apply a bandpass to a spectrum to obtain
T(λ) * F(λ)
on a provided grid (apply
). - Plot the transmission curve and annotate effective wavelength/width when metadata are available (
plot
). - Collect structured logs in memory or optionally to file for reproducibility (
get_logs
,dump_logs
,clear_logs
).
- Python ≥ 3.9
numpy
matplotlib
pandas
requests
beautifulsoup4
lxml
astropy
See guide.ipynb
to learn how to use the library.