HAWKI Pipeline Reference Manual 1.8.12
hawki_bkg.h
00001 /* $Id: hawki_bkg.h,v 1.11 2012/12/10 12:31:33 cgarcia Exp $
00002  *
00003  * This file is part of the HAWKI Pipeline
00004  * Copyright (C) 2002,2003 European Southern Observatory
00005  *
00006  * This program is free software; you can redistribute it and/or modify
00007  * it under the terms of the GNU General Public License as published by
00008  * the Free Software Foundation; either version 2 of the License, or
00009  * (at your option) any later version.
00010  *
00011  * This program is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014  * GNU General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU General Public License
00017  * along with this program; if not, write to the Free Software
00018  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00019  */
00020 
00021 /*
00022  * $Author: cgarcia $
00023  * $Date: 2012/12/10 12:31:33 $
00024  * $Revision: 1.11 $
00025  * $Name: hawki-1_8_12 $
00026  */
00027 
00028 #ifndef HAWKI_BKG_H
00029 #define HAWKI_BKG_H
00030 
00031 /*-----------------------------------------------------------------------------
00032                                 Includes
00033  -----------------------------------------------------------------------------*/
00034 
00035 #include <cpl.h>
00036 
00037 typedef struct _hawki_bkg_frames_buffer_ hawki_bkg_frames_buffer;
00038 
00039 struct _hawki_bkg_frames_buffer_
00040 {
00041     cpl_image   ** images;
00042     double      * medians;
00043     cpl_frameset * frames;
00044     cpl_size       nframes;
00045 };
00046 
00047 CPL_BEGIN_DECLS
00048 
00049 hawki_bkg_frames_buffer * hawki_bkg_frames_buffer_init
00050 (const cpl_frameset * fset);
00051 
00052 void hawki_bkg_frames_buffer_delete(hawki_bkg_frames_buffer * frames_buffer);
00053 
00054 int hawki_bkg_fill_assoc(cpl_frameset * objframes, cpl_propertylist * proplist);
00055 
00056 int hawki_bkg_from_objects_median
00057 (const cpl_frameset  *  objframes, cpl_imagelist * bkg);
00058 
00059 int hawki_bkg_from_sky_median
00060 (const cpl_frameset     *  skyframes, 
00061  cpl_imagelist    *  bkg);
00062 
00063 int hawki_bkg_from_running_mean
00064 (cpl_imagelist       * objimages,
00065  const cpl_vector    * medians,
00066  int                   i_target,
00067  int                   half_width,
00068  int                   rejlow,
00069  int                   rejhigh,
00070  cpl_image           * bkg);
00071 
00072 int hawki_bkg_from_running_mean_frame_extension
00073 (hawki_bkg_frames_buffer * frames_buffer,
00074  cpl_vector              * offsets_x,
00075  cpl_vector              * offsets_y,
00076  cpl_image               * globalmask,
00077  double                    mask_off_x,
00078  double                    mask_off_y,
00079  cpl_image               * distortion_x,
00080  cpl_image               * distortion_y,
00081  int                       iextension,
00082  int                       i_target,
00083  int                       half_width,
00084  int                       rejlow,
00085  int                       rejhigh,
00086  cpl_image               * bkg);
00087 
00088 int hawki_bkg_set_obj_mask
00089 (cpl_image  * target_image,
00090  cpl_image  * globalmask,
00091  cpl_image  * distor_x,
00092  cpl_image  * distor_y,
00093  double       target_off_x,
00094  double       target_off_y,
00095  double       mask_off_x,
00096  double       mask_off_y);
00097 
00098 CPL_END_DECLS
00099 
00100 #endif