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
1.2.13.1 written by Dimitri van Heesch,
© 1997-2001