stack_cfg.h

00001 
00002 /*---------------------------------------------------------------------------
00003    
00004    File name    :   stack_cfg.h
00005    Author       :   Juergen Schreiber
00006    Created on   :   September 2001
00007    Description  :   stack_ini definitions + handling prototypes
00008 
00009  ---------------------------------------------------------------------------*/
00010 
00011 
00012 #ifndef _STACK_CFG_H_
00013 #define _STACK_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   prepare stacked images blackboard container
00038 
00039   This structure holds all information related to the stacked images handling
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 stack_config {
00047 /*-------General---------*/
00048         char inFile[FILENAMESZ] ; /* file name of the file containing the list of all input frames */
00049         char outName[FILENAMESZ] ; /* output name of resulting fits wavelength map */
00050         char ** framelist ; /* list of frames */
00051         int  * frametype ; /* list of frame types on or off */
00052         int  * frameposition ; /* list of grating positions */  
00053         int    contains_sky ; /* indicates if off or sky frames were exposed */
00054         int    contains_dither ; /* indicates if spectral dithering was applied */
00055         int    nframes ; /* number of frames in frame list */
00056         int    nobj ;  /* number of object frames in frame list */
00057         int    noff ;  /* number of off frames in frame list */
00058         int    nditherobj ;  /* number of dithered object frames in frame list */
00059         int    nditheroff ;  /* number of dithered off frames in frame list */
00060 
00061 /*------ CleanMean ------*/
00062         /* percentage of rejected low intensity pixels */
00063         float loReject ;      
00064         /* percentage of rejected high intensity pixels */
00065         float hiReject ;
00066 
00067 /*------ Flatfielding ------*/
00068         /* indicator if a flatfielding is carried through or not */
00069         int flatInd ;
00070         char flatfield1[FILENAMESZ] ; /* name of the flatfield fits file for grating position 1 */
00071         char flatfield2[FILENAMESZ] ; /* name of the flatfield fits file for grating position 2 */
00072 
00073 /*------ BadPixel ------*/
00074         /* indicates if the bad pixels should be interpolated or not */
00075         int maskInd ;
00076         /* file name of the bad pixel mask fits file */
00077         char mask[FILENAMESZ] ;
00078         /* maximal pixel distance from the bad pixel to which valid pixels are searched for*/ 
00079         int maxRad ;
00080         /* file name of the slitlet edge position list */
00081         char slitposList[FILENAMESZ] ;
00082 
00083 /*------ ColTilt ------*/
00084         /* indicator if the tilt correction should be carried through */
00085         int coltiltInd ;
00086         /* file name of the ASCII file containing the slope value */
00087         char slopeFile[FILENAMESZ] ;
00088 
00089 /*------ Interleaving ------*/
00090         /* indicator if the interleaving or Convolution with a Gaussian or nothing should take place */
00091         int interInd ;
00092     /* number of rows from which the general offset between the frames is determined */
00093     int noRows ;
00094 
00095 /*------ GaussConvolution ------*/
00096     /* indicator if Gaussian convolution is applied or not */
00097         int gaussInd ;
00098     /* kernel half width of the Gaussian response function */
00099     int hw ;
00100 } stack_config ;
00101 /*</python>*/
00102 
00103 
00104 
00105 /*---------------------------------------------------------------------------
00106                             Function prototypes
00107  ---------------------------------------------------------------------------*/
00108 
00109 
00110 /*---------------------------------------------------------------------------
00111    Function :   stack_cfg_create()
00112    In       :   void
00113    Out      :   pointer to allocated base stack_cfg structure
00114    Job      :   allocate memory for a stack_cfg struct
00115    Notice   :   only the main (base) structure is allocated
00116  ---------------------------------------------------------------------------*/
00117 
00118 stack_config * stack_cfg_create(void);
00119 
00120 
00121 /*---------------------------------------------------------------------------
00122    Function :   stack_cfg_destroy()
00123    In       :   stack_config to deallocate
00124    Out      :   void
00125    Job      :   deallocate all memory associated with a stack_config data structure
00126    Notice   :   
00127  ---------------------------------------------------------------------------*/
00128 /*<python>*/
00129 void stack_cfg_destroy(stack_config * sc);
00130 /*</python>*/
00131 
00132 #endif

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