focus_cfg.h

00001 
00002 /*---------------------------------------------------------------------------
00003    
00004    File name    :   focus_cfg.h
00005    Author   :   Juergen Schreiber
00006    Created on   :   February 2002
00007    Description  :   focus_cfg.c definitions + handling prototypes
00008 
00009  ---------------------------------------------------------------------------*/
00010 
00011 
00012 #ifndef _FOCUS_CFG_H_
00013 #define _FOCUS_CFG_H_
00014 
00015 /*---------------------------------------------------------------------------
00016                                 Includes
00017  ---------------------------------------------------------------------------*/
00018 
00019 /*
00020 #include <stdio.h>
00021 */
00022 #include <stdlib.h>
00023 #include "static_sz.h"
00024 
00025 
00026 /*---------------------------------------------------------------------------
00027                                 Defines
00028  ---------------------------------------------------------------------------*/
00029 
00030 
00031 /*---------------------------------------------------------------------------
00032                                 New types
00033  ---------------------------------------------------------------------------*/
00034 
00035 
00036 /*
00037   point source 2D-Gaussian fit blackboard container
00038 
00039   This structure holds all information related to the 2D-Gaussian fit
00040   routine. It is used as a container for the flux of ancillary data,
00041   computed values, and algorithm status. Pixel flux is separated from
00042   the blackboard.
00043   */
00044 
00045 /*<python>*/
00046 typedef struct focus_config {
00047 /*-------General---------*/
00048         char inFile[FILENAMESZ] ;       /* file name of frame list */
00049         char ** inFrameList ; /* input averaged, bad pixel corrected, off subtracted, \
00050                                 flatfielded, spectral tilt corrected list of frames */
00051         int nframes ;        /* number of frames in the list */
00052         char outName[FILENAMESZ] ;     /* output name of resulting fits data cube */
00053 
00054 /*------ Reconstruction ------*/
00055         /* the fraction [0...1] of rejected low intensity pixels when taking the average of columns */
00056         float lo_reject ;
00057         /* the fraction [0...1] of rejected high intensity pixels when taking the average of columns */
00058         float hi_reject ;
00059         /* indicates if the slitlet distances are determined by a north-south test (1) 
00060            or slitlet edge fits (0) */ 
00061         int northsouthInd  ;
00062         /* name of the ASCII list of the fitted slitlet edge positions or the distances of the slitlets */
00063         char poslist[FILENAMESZ] ;
00064         /* number of slitlets (32) */
00065         int nslits ;
00066         /* sub pixel position of the column position of the left edge of 
00067            the first slitlet needed if the slitlet distances were determined by a north
00068            south test */
00069         char firstCol[FILENAMESZ] ;
00070     /* indicator for the shifting method to use */
00071     char  method[1] ;
00072         /* order of polynomial if the polynomial interpolation shifting method is used */
00073         int order ;
00074 /*------ Gauss2Dfit ------*/
00075         /* lower left edge coordinates of fitting box for 2D Gaussian fit */
00076         int llx ;
00077         int lly ;
00078         /* half length in pixels of the box within the point source is fitted in x and y-direction */
00079         int halfbox_x ;
00080         int halfbox_y ;
00081         /* mask parameters ( 1 or 0 ) for the fit parameters. If 1 the corresponding parameter
00082            is set free, if 0 the parameter is kept fixed. */
00083         int mpar0 ; /* mask for the x-position */
00084         int mpar1 ; /* mask for the y-position */
00085         int mpar2 ; /* mask for the amplitude */
00086         int mpar3 ; /* mask for the background */
00087         int mpar4 ; /* mask for the fwhmx */
00088         int mpar5 ; /* mask for the fwhmy */
00089         int mpar6 ; /* mask for the position angle of fwhmx line */
00090         /* name of the resulting ASCII file containing the fit parameters */
00091         char fitlist[FILENAMESZ] ;
00092         /* indicator if the resulting 2D-Gaussian is stored in a fits file or not */
00093         int plotGaussInd ;
00094         /* name of the fits file containing the resulting 2D-Gaussian */
00095         char gaussplotName[FILENAMESZ] ;
00096 } focus_config ;
00097 /*</python>*/
00098 
00099 
00100 
00101 /*---------------------------------------------------------------------------
00102                             Function prototypes
00103  ---------------------------------------------------------------------------*/
00104 
00105 
00106 /*---------------------------------------------------------------------------
00107    Function :   focus_cfg_create()
00108    In       :   void
00109    Out      :   pointer to allocated base focus_cfg structure
00110    Job      :   allocate memory for a focus_config struct
00111    Notice   :   only the main (base) structure is allocated
00112  ---------------------------------------------------------------------------*/
00113 
00114 focus_config * focus_cfg_create(void);
00115 
00116 
00117 /*---------------------------------------------------------------------------
00118    Function :   focus_cfg_destroy()
00119    In       :   focus_config to deallocate
00120    Out      :   void
00121    Job      :   deallocate all memory associated with a focus_config data structure
00122    Notice   :   
00123  ---------------------------------------------------------------------------*/
00124 /*<python>*/
00125 void focus_cfg_destroy(focus_config * cc);
00126 /*</python>*/
00127 
00128 #endif

Generated on Wed Oct 26 13:08:52 2005 for SINFONI Pipeline Reference Manual by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001