new_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 _NEW_STACK_CFG_H_
00013 #define _NEW_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_n {
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 sky_name[FILENAMESZ] ; /* output name of resulting fits sky frame */
00051         char ** framelist ; /* list of frames */
00052         int  * frametype ; /* list of frame types on or off */
00053         int  * frameposition ; /* list of grating positions */  
00054         int    contains_sky ; /* indicates if off or sky frames were exposed */
00055         int    contains_ref ; /* indicates if ref frames were exposed */
00056         int    contains_dither ; /* indicates if spectral dithering was applied */
00057         int    contains_dark ; /* indicates if spectral dithering was applied */
00058         int    nframes ; /* number of frames in frame list */
00059         int    nobj ;  /* number of object frames in frame list */
00060         int    noff ;  /* number of off frames in frame list */
00061         int    ndark ;  /* number of dark frames in frame list */
00062         int    nditherobj ;  /* number of dithered object frames in frame list */
00063         int    nditheroff ;  /* number of dithered off frames in frame list */
00064 
00065 /*------ CleanMean ------*/
00066         /* percentage of rejected low intensity pixels */
00067         float loReject ;      
00068         /* percentage of rejected high intensity pixels */
00069         float hiReject ;
00070 
00071 /*------ Flatfielding ------*/
00072         /* indicator if a flatfielding is carried through or not */
00073         int flatInd ;
00074         char flatfield1[FILENAMESZ] ; /* name of the flatfield fits file for grating position 1 */
00075         char flatfield2[FILENAMESZ] ; /* name of the flatfield fits file for grating position 2 */
00076 
00077 /*------ BadPixel ------*/
00078         /* indicates if the bad pixel mask should be applied or not */
00079         int maskInd ;
00080         /* indicates if the pixels should be interpolated or indicated */
00081         int indind ;
00082         /* file name of the bad pixel mask fits file */
00083         char mask[FILENAMESZ] ;
00084         /* maximal pixel distance from the bad pixel to which valid pixels are searched for*/ 
00085         int maxRad ;
00086         /* file name of the slitlet edge position list */
00087         char slitposList[FILENAMESZ] ;
00088         /* index file list*/
00089         char indexlist[FILENAMESZ] ;
00090         /* sigma factor for the additional bad pixel search in method maskInd = 2 */
00091         float sigmaFactor ;
00092 
00093 /*------ ColTilt ------*/
00094         /* indicator if the tilt correction should be carried through */
00095         /*int coltiltInd ;*/
00096         /* file name of the ASCII file containing the slope value */
00097         /*char slopeFile[FILENAMESZ] ;*/
00098         /* order of polynomial used for polynomial interpolation for the row shifting */
00099         /*int order ;*/
00100 /*------ WarpFix ------*/
00101         /* indicator if the warping should be carried through */
00102         int warpfixInd ;
00103         /* file name of the ASCII file containing the polynomial values */
00104         char polyFile[FILENAMESZ] ;
00105         /* kernel to be used for the interpolation */
00106         char kernel[FILENAMESZ] ;
00107 
00108 /*------ Interleaving ------*/
00109         /* indicator if the interleaving or Convolution with a Gaussian or nothing should take place */
00110         int interInd ;
00111     /* number of rows from which the general offset between the frames is determined */
00112     int noRows ;
00113 
00114 /*------ GaussConvolution ------*/
00115     /* indicator if Gaussian convolution is applied or not */
00116         int gaussInd ;
00117     /* kernel half width of the Gaussian response function */
00118     int hw ;
00119 
00120 /*------ ShifFrames ------*/
00121     /* indicator if shiftting frames is applied or not */
00122         int sfInd;
00123     /* interpolation type*/
00124     int sfType;
00125     /* interpolation order*/
00126     int sfOrder;
00127 
00128   /* qc log */
00129   int qc_thresh_min;
00130   int qc_thresh_max;
00131 
00132 } stack_config_n ;
00133 /*</python>*/
00134 
00135 
00136 
00137 /*---------------------------------------------------------------------------
00138                             Function prototypes
00139  ---------------------------------------------------------------------------*/
00140 
00141 
00142 /*---------------------------------------------------------------------------
00143    Function :   stack_cfg_create()
00144    In       :   void
00145    Out      :   pointer to allocated base stack_cfg structure
00146    Job      :   allocate memory for a stack_cfg struct
00147    Notice   :   only the main (base) structure is allocated
00148  ---------------------------------------------------------------------------*/
00149 
00150 stack_config_n * stack_cfg_create_n(void);
00151 
00152 
00153 /*---------------------------------------------------------------------------
00154    Function :   stack_cfg_destroy()
00155    In       :   stack_config to deallocate
00156    Out      :   void
00157    Job      :   deallocate all memory associated with a stack_config data structure
00158    Notice   :   
00159  ---------------------------------------------------------------------------*/
00160 /*<python>*/
00161 void stack_cfg_destroy_n(stack_config_n * sc);
00162 /*</python>*/
00163 
00164 #endif

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