Filter¶
-
class
gunagala.optical_filter.
Filter
(transmission_filename=None, chebyshev_params=None, butterworth_params=None, apply_aoi=False, n_eff=1.75, theta_range=None, *kwargs)[source]¶ Bases:
object
Class representing an optical bandpass filter.
The filter bandpass can be defined either by a table of transmission versus wavelength data or by one of the included analytic functions: Butterworth function or Chebyshev Type I.
Parameters: - transmission_filename : str, optional
Name of file containing transmission as a function of wavelength data. Must be in a format readable by
astropy.table.Table.read()
and use column namesWavelength
andTransmission
. If the data file does not provide units nm and dimensionless unscaled will be assumed.- chebyshev_params : dict, optional
Dictionary containing the parameters wave1, wave2, order, ripple and peak for the Chebyshev Type I parameterised filter model.
- butterworth_params : dict, optional
Dictionary containing the parameters wave1, wave2, order and peak for the Butterworth parameterised filter model.
- apply_aoi : bool, optional
Whether to model angle of incidence effects due to installation of the filter in a converging beam. If the filter is to be installed in a pupil or the transmission profile already includes these effects this should be set to False. If set to True then calls to the
transmission()
method will have to specify the range of angles of incidence. Default False- n_eff : float, optional
Effective refractive index value for the filter coatings. This is used only by the angle of incidence effect model. Typical values for real interference filters range from ~1.5 to ~2, and are in general polarisation dependent (not modelled here). Default 1.75.
- theta_range : astropy.units.Quantity, optional
2 element Quantity specifying the range of angles of incidence (min, max). If specified this will be used to model the effect of a converging beam on the calculated filter parameters (FWHM, lambda_c, etc).
Attributes Summary
FWHM
Full-Width at Half Maximum of the filter lambda_c
Central wavelength of the filter, defined here as the mid point between the two wavelengths where transmission is half peak transmission. lambda_peak
Wavelength at peak transmission of the filter peak
Peak transmission of the filter theta_range
2 element Quantity specifying the range of angles of incidence (min, max). Methods Summary
transmission
(waves[, theta_range])Return filter transmission at the given wavelength(s). Attributes Documentation
-
FWHM
¶ Full-Width at Half Maximum of the filter
Returns: - FWHM : astropy.units.Quantity
FWHM of the filter transmission profile
-
lambda_c
¶ Central wavelength of the filter, defined here as the mid point between the two wavelengths where transmission is half peak transmission.
Returns: - lambda_c : astropy.units.Quantity
Central wavelength
-
lambda_peak
¶ Wavelength at peak transmission of the filter
Returns: - lambda_peak : astropy.units.Quantity
Wavelength at peak transmission
-
peak
¶ Peak transmission of the filter
Returns: - peak : astropy.units.Quantity
Peak transmission of the filter in dimensionless unscaled units
-
theta_range
¶ 2 element Quantity specifying the range of angles of incidence (min, max).
Returns: - theta_range: astropy.units.Quantity
2 element Quantity specifying the range of angles of incidence (min, max).
Methods Documentation
-
transmission
(waves, theta_range=None)[source]¶ Return filter transmission at the given wavelength(s).
For filter bandpasses defined by data tables this will interpolate/extrapolate as required while for filter bandpasses defined by analytic expressions it will be calculated directly.
Parameters: - waves : astropy.units.Quantity
Wavelength(s) for which the filter transmission is required
- theta_range : astropy.units.Quantity, optional
2 element quantity specifying the range of angles of incidence (min, max). If specified this will be used to model the effect of a converging beam on the filter bandpass. If not specified the default values set when creating the Filter instance will be used.
Returns: - waves : astropy.units.Quantity
Filter transmission at the given wavelength(s)