Create a calibration frame to correct spatial non-uniformity of flatfield.
This recipe creates the spatial non-uniformity calibration frame needed for all three detectors. It must be called after the kmo_wave_cal-recipe, which generates the spectral calibration frame needed in this recipe. As input at least a sky, a master dark, a master flat and the spatial and spectral cali- bration frames are required.
The created product, the illumination correction, can be used as input for kmo_std_star and kmo_sci_red.
DO KMOS
category Type Explanation Required #Frames
-------- ----- ----------- -------- -------
FLAT_SKY F2D Sky exposures Y 1-n
(at least 3 frames recommended)
MASTER_DARK F2D Master dark Y 1
MASTER_FLAT F2D Master flat Y 1
XCAL F2D x calibration frame Y 1
YCAL F2D y calibration frame Y 1
LCAL F2D Wavelength calib. frame Y 1
WAVE_BAND F2L Table with start-/end-wavelengths Y 1
FLAT_EDGE F2L Table with fitted slitlet edges N 0,1
DO KMOS
category Type Explanation
-------- ----- -----------
ILLUM_CORR F2I Illumination calibration frame
If FLAT_EDGE is provided:
SKYFLAT_EDGE F2L Frame containing parameters of fitted
slitlets of all IFUs of all detectors
Create an object for the recipe kmo_illumination.
import cpl
kmo_illumination = cpl.Recipe("kmo_illumination")
Method to use for interpolation: [“NN” (nearest neighbour), “lwNN” (linear weighted nearest neighbor), “swNN” (square weighted nearest neighbor), “MS” (Modified Shepard’s method), “CS” (Cubic spline)] (str; default: ‘CS’) [default=”CS”].
Defines the range to search for neighbors. in pixels (float; default: 1.001) [default=1.001].
The spectral ranges to combine when collapsing the reconstructed cubes. e.g. “x1_start,x1_end;x2_start,x2_end” (microns) (str; default: ‘’) [default=”“].
TRUE: Apply flux conservation. FALSE: otherwise (bool; default: False) [default=False].
FALSE: omit 1st FLAT_SKY frame (acquisition), TRUE: don’t perform any checks, add them all (bool; default: False) [default=False].
Change the pixel scale [arcsec]. Default of 0.2” results into cubes of 14x14pix, a scale of 0.1” results into cubes of 28x28pix, etc. (float; default: 0.2) [default=0.2].
Suppress arbitrary filename extension. (TRUE (apply) or FALSE (don’t apply) (bool; default: False) [default=False].
The number of samples in wavelength for the reconstructed cube (long; default: 2048) [default=2048].
The lowest wavelength [um] to use when reconstructing. Derived by default, depending on the band (float; default: -1.0) [default=-1.0].
The highest wavelength [um] to use when reconstructing. Derived by default, depending on the band (float; default: -1.0) [default=-1.0].
Apply “average”, “median”, “sum”, “min_max.” or “ksigma”. (str; default: ‘ksigma’) [default=”ksigma”].
The positive rejection threshold for kappa-sigma-clipping (sigma). (float; default: 3.0) [default=3.0].
The negative rejection threshold for kappa-sigma-clipping (sigma). (float; default: 3.0) [default=3.0].
The number of iterations for kappa-sigma-clipping. (long; default: 3) [default=3].
The number of maximum pixel values to clip with min/max-clipping. (long; default: 1) [default=1].
The number of minimum pixel values to clip with min/max-clipping. (long; default: 1) [default=1].
The following code snippet shows the default settings for the available parameters.
import cpl
kmo_illumination = cpl.Recipe("kmo_illumination")
kmo_illumination.param.imethod = "CS"
kmo_illumination.param.neighborhoodRange = 1.001
kmo_illumination.param.range = ""
kmo_illumination.param.flux = False
kmo_illumination.param.add_all = False
kmo_illumination.param.pix_scale = 0.2
kmo_illumination.param.suppress_extension = False
kmo_illumination.param.b_samples = 2048
kmo_illumination.param.b_start = -1.0
kmo_illumination.param.b_end = -1.0
kmo_illumination.param.cmethod = "ksigma"
kmo_illumination.param.cpos_rej = 3.0
kmo_illumination.param.cneg_rej = 3.0
kmo_illumination.param.citer = 3
kmo_illumination.param.cmax = 1
kmo_illumination.param.cmin = 1
You may also set or overwrite some or all parameters by the recipe parameter param, as shown in the following example:
import cpl
kmo_illumination = cpl.Recipe("kmo_illumination")
[...]
res = kmo_illumination( ..., param = {"imethod":"CS", "neighborhoodRange":1.001})
See also
cpl.Recipe for more information about the recipe object.
Please report any problems to Alex Agudo Berbel. Alternatively, you may send a report to the ESO User Support Department.
This file is part of the KMOS Instrument Pipeline Copyright (C) 2002,2003 European Southern Observatory
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
Code author: Alex Agudo Berbel <usd-help@eso.org>