ter_curves ========== ADCWheel ++++++++ Wheel holding a selection of predefined atmospheric dispersion correctors. Example ------- :: name : adc_wheel class: ADCWheel kwargs: adc_names: [] filename_format: "TER_ADC_{}.dat" current_adc: "const_90" AtmosphericTERCurve +++++++++++++++++++ .. warning: Empty docstring DownloadableFilterCurve +++++++++++++++++++++++ .. warning: Empty docstring FilterCurve +++++++++++ Descripton TBA. Parameters ---------- position : int, optional filter_name : str, optional ``Ks`` - corresponding to the filter name in the filename pattern filename_format : str, optional ``TC_filter_{}.dat`` Can either be created using the standard 3 options: - ``filename``: direct filename of the filter curve - ``table``: an ``astropy.Table`` - ``array_dict``: a dictionary version of a table: ``{col_name1: values, }`` or by passing the combination of ``filter_name`` and ``filename_format`` as kwargs. Here all filter file names follow a pattern (e.g. see above) and the ``{}`` are replaced by ``filter_name`` at run time. ``filter_name`` can also be a !bang string for a ``__currsys__`` entry: ``"!INST.filter_name"`` FilterWheel +++++++++++ Wheel holding a selection of predefined filters. Examples -------- :: name: filter_wheel class: FilterWheel kwargs: filter_names: [] filename_format: "filters/{}. current_filter: "Ks" FilterWheelBase +++++++++++++++ Base class for Filter Wheels. PupilTransmission +++++++++++++++++ Wavelength-independent transmission curve. Use this class to describe a cold stop or pupil mask that is characterised by "grey" transmissivity. The emissivity is set to zero, assuming that the mask is cold. QuantumEfficiencyCurve ++++++++++++++++++++++ .. warning: Empty docstring SkycalcTERCurve +++++++++++++++ Retrieve an atmospheric spectrum from ESO's skycalc server. kwarg parameters ---------------- skycalc parameters can be found by calling:: >>> import skycalc_ipy >>> skycalc_ipy.SkyCalc().keys .. note:: Different to ``skycalc_ipy``, `wmin` and `wmax` must be given in units of ``um`` Examples -------- :: - name : skycalc_background class : SkycalcTERCurve kwargs : wunit : "!SIM.spectral.wave_unit" wmin : "!SIM.spectral.wave_min" wmax : "!SIM.spectral.wave_max" wdelta : 0.0001 # 0.1nm bin width outer : 1 outer_unit : "m" SpanishVOFilterCurve ++++++++++++++++++++ Pulls a filter transmission curve down from the Spanish VO filter service. Parameters ---------- observatory : str instrument : str filter_name : str Examples -------- :: name: HAWKI-Ks class: SpanishVOFilterCurve kwargs: observatory : Paranal instrument : HAWKI filter_name : Ks SpanishVOFilterWheel ++++++++++++++++++++ A FilterWheel that loads all the filters from the Spanish VO service. .. warning:: This use ``astropy.download_file(..., cache=True)``. The filter transmission curves probably won't change, but if you notice discrepancies, try clearing the astropy cache:: >> from astropy.utils.data import clear_download_cache >> clear_download_cache() Parameters ---------- observatory : str instrument : str current_filter : str Default filter name include_str, exclude_str : str String sequences that can be used to include or exclude filter names which contain a certain string. E.g. GTC/OSIRIS has curves for ``sdss_g`` and ``sdss_g_filter``. We can force the inclusion of only the filter curves by setting ``list_include_str: "_filter"``. Examples -------- :: name: svo_filter_wheel class: SpanishVOFilterWheel kwargs: observatory: "GTC" instrument: "OSIRIS" current_filter: "sdss_r_filter" include_str: "_filter" TERCurve ++++++++ Transmission, Emissivity, Reflection Curve. note:: This is basically an ``Effect`` wrapper for the ``SpectralSurface`` object Must contain a wavelength column, and one or more of the following: ``transmission``, ``emissivity``, ``reflection``. Additionally, in the header there should be the following keywords: wavelength_unit kwargs that can be passed:: "rescale_emission" : { "filter_name": str, "value": float, "unit": str} Examples -------- Directly inside a YAML file description:: name: bogus_surface class: TERCurve kwargs: array_dict: wavelength: [0.3, 3.0] transmission: [0.9, 0.9] emission: [1, 1] wavelength_unit: um emission_unit: ph s-1 m-2 um-1 rescale_emission: filter_name: "Paranal/HAWK.Ks" value: 15.5 unit: ABmag Indirectly inside a YAML file:: name: some_curve class TERCurve kwargs: filename: bogus_surface.dat which references this ASCII file:: # name: bogus_surface # wavelength_unit: um wavelength transmission emissivity 0.3 0.9 0.1 3.0 0.9 0.1 TopHatFilterCurve +++++++++++++++++ A simple Top-Hat filter profile. Parameters ---------- transmission : float [0..1] Peak transmission of filter blue_cutoff, red_cutoff : float [um] Blue and Red cutoff wavelengths wing_transmission : float, optional [0..1] Default 0. Wing transmission of filter outside the cutoff range Examples -------- :: name: J_band_tophat class: TopHatFilterCurve kwargs: transmission : 0.9 wing_transmission : 0.001 blue_cutoff : 1.15 red_cutoff : 1.35 TopHatFilterWheel +++++++++++++++++ A selection of top-hat filter curves as defined in the input lists. Parameters ---------- filter_names: list of string transmissions: list of floats [0..1] Peak transmissions inside the cutoff limits wing_transmissions: list of floats [0..1] Wing transmissions outside the cutoff limits blue_cutoffs: list of floats [um] red_cutoffs: list of floats [um] current_filter: str, optional Name of current filter at initialisation. If no name is given, the first entry in `filter_names` is used by default. Examples -------- :: name: top_hat_filter_wheel class: TopHatFilterWheel kwargs: filter_names: ["J", "H", "K"] transmissions: [0.9, 0.95, 0.85] wing_transmissions: [0., 0., 0.001] blue_cutoffs: [1.15, 1.45, 1.9] red_cutoffs: [1.35, 1.8, 2.4] current_filter: "K"