The fors_subtract_sky recipe
===============================================================

.. data:: fors_subtract_sky

Synopsis
--------

Subtract sky from scientific spectra

Description
-----------

This recipe is used to subtract the sky emission from unrebinned slit
spectra. This is obtained by robust fitting (i.e., excluding the signal
from possible point-like objects in slit) of the emission along the CCD
columns within each spectrum). This method doesn't work if extended
objects are in slit (it really destroys the object spectra), and is
not applicable to LSS data. The input scientific frames are produced
by the recipes fors_remove_bias and fors_flatfield.


This recipe cannot be applied to LSS or long-slit like data (MOS/MXU with
all slits at the same offset). No automatic recipe is available for this.

Please refer to the FORS Pipeline User's Manual for more details.


In the table below the MXU acronym can be alternatively read as MOS, and
SCI as STD.


Input files
^^^^^^^^^^^^
::

  DO category:               Type:       Explanation:         Required:
  SCIENCE_UNBIAS_MXU
  or SCIENCE_UNFLAT_MXU
  or STANDARD_UNBIAS_MXU
  or STANDARD_UNFLAT_MXU     Calib       Frame with sky lines    Y
  CURV_COEFF_MXU             Calib       Spectral curvature      Y
  SLIT_LOCATION_MXU          Calib       Slit location on CCD    Y
  GRISM_TABLE                Calib       Grism table             .


Output files
^^^^^^^^^^^^
::

  DO category:               Data type:  Explanation:
  UNMAPPED_SCI_MXU
  or UNMAPPED_STD_MXU        FITS image  Sky subtracted scientific frame
  UNMAPPED_SKY_SCI_MXU
  or UNMAPPED_SKY_STD_MXU    FITS image  Subtracted sky frame


Constructor
-----------

.. method:: cpl.Recipe("fors_subtract_sky")
   :noindex:

   Create an object for the recipe fors_subtract_sky.

::

   import cpl
   fors_subtract_sky = cpl.Recipe("fors_subtract_sky")

Parameters
----------

.. py:attribute:: fors_subtract_sky.param.dispersion

    Expected spectral dispersion (Angstrom/pixel) (float; default: 0.0) [default=0.0].
.. py:attribute:: fors_subtract_sky.param.startwavelength

    Start wavelength in spectral extraction (float; default: 0.0) [default=0.0].
.. py:attribute:: fors_subtract_sky.param.endwavelength

    End wavelength in spectral extraction (float; default: 0.0) [default=0.0].
.. py:attribute:: fors_subtract_sky.param.cosmics

    Eliminate cosmic rays hits (bool; default: False) [default=False].


The following code snippet shows the default settings for the available 
parameters.

::

   import cpl
   fors_subtract_sky = cpl.Recipe("fors_subtract_sky")

   fors_subtract_sky.param.dispersion = 0.0
   fors_subtract_sky.param.startwavelength = 0.0
   fors_subtract_sky.param.endwavelength = 0.0
   fors_subtract_sky.param.cosmics = False


You may also set or overwrite some or all parameters by the recipe 
parameter `param`, as shown in the following example:

::

   import cpl
   fors_subtract_sky = cpl.Recipe("fors_subtract_sky")
   [...]
   res = fors_subtract_sky( ..., param = {"dispersion":0.0, "startwavelength":0.0})


.. seealso:: `cpl.Recipe <https://packages.python.org/python-cpl/recipe.html>`_
   for more information about the recipe object.

Bug reports
-----------

Please report any problems to `Carlo Izzo <usd-help@eso.org>`_. Alternatively, you may 
send a report to the `ESO User Support Department <usd-help@eso.org>`_.

Copyright
---------

This file is currently part of the FORS Instrument Pipeline
Copyright (C) 2002-2010 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,
Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA


.. codeauthor:: Carlo Izzo <usd-help@eso.org>
