The kmo_copy recipe
===============================================================

.. data:: kmo_copy

Synopsis
--------

Copy a section of a cube to another cube, image or spectrum

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

With this recipe a specified region of an IFU-based cube (F3I), image (F2I) or
vector (F1I) can be copied to a new FITS file. One can copy just a plane out
of a cube (any orientation) or a vector out of an image etc. By default the
operation applies to all IFUs. The input data can contain noise frames which
is then copied in the same manner as the input data.

It is also possible to extract a specific IFU out of a KMOS FITS structure
with 24 IFU extensions or 48 extensions if noise is present.


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

   DO                    KMOS                                                  
   category              Type   Explanation                    Required #Frames
   --------              -----  -----------                    -------- -------
   <none or any>         F3I    Data cube                         Y        1   
   or                                                                          
   <none or any>         F2I    Image                                          
   or                                                                          
   <none or any>         F1I    Vector                                         
                                (All inputs with or                            
                                without noise frame)                           

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

   DO                    KMOS
   category              Type   Explanation
   --------              -----  -----------
   COPY                  F3I or Cropped input data
                         F2I or                   
                         F1I                      


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

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

   Create an object for the recipe kmo_copy.

::

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

Parameters
----------

.. py:attribute:: kmo_copy.param.ifu

    Specific IFU to process (long; default: -1) [default=-1].
.. py:attribute:: kmo_copy.param.autocrop

    Crop automatically NaN values at borders (bool; default: False) [default=False].
.. py:attribute:: kmo_copy.param.x

    Start value in first dimension (pixels). (long; default: 1) [default=1].
.. py:attribute:: kmo_copy.param.y

    Start value in second dimension (pixels). (long; default: 1) [default=1].
.. py:attribute:: kmo_copy.param.z

    Start value in third dimension (pixels). (long; default: 1) [default=1].
.. py:attribute:: kmo_copy.param.xsize

    Length in first dimension (pixels). (long; default: 1) [default=1].
.. py:attribute:: kmo_copy.param.ysize

    Length in second dimension (pixels). (long; default: 1) [default=1].
.. py:attribute:: kmo_copy.param.zsize

    Length in third dimension (pixels). (long; default: 1) [default=1].


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

::

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

   kmo_copy.param.ifu = -1
   kmo_copy.param.autocrop = False
   kmo_copy.param.x = 1
   kmo_copy.param.y = 1
   kmo_copy.param.z = 1
   kmo_copy.param.xsize = 1
   kmo_copy.param.ysize = 1
   kmo_copy.param.zsize = 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_copy = cpl.Recipe("kmo_copy")
   [...]
   res = kmo_copy( ..., param = {"ifu":-1, "autocrop":False})


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

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

Please report any problems to `Alex Agudo Berbel <kmos-spark@mpe.mpg.de>`_. Alternatively, you may 
send a report to the `ESO User Support Department <usd-help@eso.org>`_.

Copyright
---------

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

.. codeauthor:: Alex Agudo Berbel <kmos-spark@mpe.mpg.de>
