The visir_util_convert_weight recipe
===============================================================

.. data:: visir_util_convert_weight

Synopsis
--------

Conversion between different weight maps

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

The files listed in the Set Of Frames (sof-file) must be tagged:
VISIR-weight-map.fits WEIGHT_MAP or
VISIR-error-map.fits ERROR_MAP or
VISIR-variance-map.fits VARIANCE_MAP
VISIR-bpm-file.fits BPM (optional)

The relation between an error e, a weight w and a variance v is:
e = sqrt(v) = 1/sqrt(w).


Depending on the setting of the boolean recipe parameters each input file will cause the following product(s) to be created (each with a FITS card 'HIERARCH ESO PRO CATG' with the specified value)
ERROR_MAP: An error map, requires input v >= 0, w > 0
WEIGHT_MAP: A weight map, requires input e > 0, v > 0
VARIANCE_MAP: A variance map, requires input e >= 0, w > 0
If for a given input the identical output is specified, the data unit(s) may still change according to the provided bad pixel map
In a weight map product any bad pixel is set to 0.

In a variance or error map product any bad pixel is set to the value specified by the relevant recipe option.


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

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

   Create an object for the recipe visir_util_convert_weight.

::

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

Parameters
----------

.. py:attribute:: visir_util_convert_weight.param.error

    Convert to error (bool; default: True) [default=True].
.. py:attribute:: visir_util_convert_weight.param.weight

    Convert to weight. Bad pixels are seto to 0 (bool; default: False) [default=False].
.. py:attribute:: visir_util_convert_weight.param.variance

    Convert to variance. Bad pixels are seto to 0 (bool; default: False) [default=False].
.. py:attribute:: visir_util_convert_weight.param.bad_value

    The value to use for any bad pixel in an error or variance map (float;  default: 3.4028234663852886e+38) [default=3.40282346639e+38].
.. py:attribute:: visir_util_convert_weight.param.bad_flag

    The value used to flag a bad pixel in an input bad pixel map. True: 1.  False: 0. (bool; default: True) [default=True].


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

::

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

   visir_util_convert_weight.param.error = True
   visir_util_convert_weight.param.weight = False
   visir_util_convert_weight.param.variance = False
   visir_util_convert_weight.param.bad_value = 3.40282346639e+38
   visir_util_convert_weight.param.bad_flag = True


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

::

   import cpl
   visir_util_convert_weight = cpl.Recipe("visir_util_convert_weight")
   [...]
   res = visir_util_convert_weight( ..., param = {"error":True, "weight":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 `Lars Lundin <llundin@eso.org>`_. Alternatively, you may 
send a report to the `ESO User Support Department <usd-help@eso.org>`_.

Copyright
---------

This file is part of the VISIR Instrument Pipeline
Copyright (C) 2011 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  02111-1307  USA

.. codeauthor:: Lars Lundin <llundin@eso.org>
