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