object_cfg.h

00001 
00002 /*---------------------------------------------------------------------------
00003    
00004    File name    :   object_cfg.h
00005    Author   :   Juergen Schreiber
00006    Created on   :   April 2002
00007    Description  :   object_ini definitions + handling prototypes
00008 
00009  ---------------------------------------------------------------------------*/
00010 
00011 
00012 #ifndef _OBJECT_CFG_H_
00013 #define _OBJECT_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   data cube creation blackboard container
00038 
00039   This structure holds all information related to the object 
00040   data cube creation 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 object_config {
00047 /*-------General---------*/
00048         char inFile[FILENAMESZ]  ;     /* input file of reduced jittered data cubes of a standard star */
00049         char ** framelist ; /* input averaged, bad pixel corrected, sky subtracted, \
00050                                  flatfielded and interleaved jittered frame list */
00051         char wavemap[FILENAMESZ] ; /* input wavelength calibration map */
00052         char mflat[FILENAMESZ] ; /* input master flat field  */
00053         char outName[FILENAMESZ] ; /* output name of resulting fits data cube(s) */
00054         char sky_dist[FILENAMESZ] ; /* master flat corrected for distortion */
00055         char mflat_dist[FILENAMESZ] ; /* master flat corrected for distortion */
00056         char mflat_dither_dist[FILENAMESZ] ; /* master flat dithered corrected for distortion */
00057         int     nframes ; /* number of jittered frames */
00058 
00059 /*------ jittering ------*/
00060         /* jitter mode indicator: 0 for user jittering mode, 1 for auto jittering mode */
00061         int jitterind ;  
00062         /* x-pixel size of the final combined data cube */
00063         int size_x ;
00064         /* y-pixel size of the final combined data cube */
00065         int size_y ;
00066         /* the name of the interpolation kernel */
00067         char kernel_type[FILENAMESZ] ;
00068         /* the name of the final image median of cube */
00069         char med_cube_name[FILENAMESZ] ;
00070         /* the name of the final mask cube */
00071         char maskname[FILENAMESZ] ;
00072 
00073 /*------ Resampling ------*/
00074         /* number of coefficients for the polynomial interpolation (order + 1) */
00075         int ncoeffs ;      
00076         /* number of rows in the resulting resampled image = number of spectral bins */
00077         int nrows ;
00078 
00079 /*------ Calibration ------*/
00080         /* indicates if the halogen lamp feature from flatfielding should be corrected for or not */
00081         int halocorrectInd ;
00082         /* name of the fits file of the calibrated halogen lamp spectrum */
00083         char halospectrum[FILENAMESZ] ;
00084 
00085 /*------ CubeCreation ------*/
00086         /* indicates if the slitlet distances are determined by a north-south test (1) 
00087            or slitlet edge fits (0) */ 
00088         int northsouthInd  ;
00089         /* name of the ASCII list of the distances of the slitlets */
00090         char distlist[FILENAMESZ] ;
00091         /* name of the ASCII list of the fitted slitlet edge positions */
00092         char poslist[FILENAMESZ] ;
00093         /* number of slitlets (32) */
00094         int nslits ;
00095         /* sub pixel position of the column position of the left edge of 
00096            the first slitlet needed if the slitlet distances were determined by a north
00097            south test */
00098         char firstCol[FILENAMESZ] ;
00099 
00100 /*------ FineTuning ------*/
00101     /* indicator for the shifting method to use */
00102     char  method[1] ;
00103         /* order of polynomial if the polynomial interpolation shifting method is used */
00104         int order ;
00105 
00106 /*------ SkyExtraction ------*/
00107     /* percentage of rejected low value pixels when averaging the sky spectra */
00108     float  loReject ;
00109     /* percentage of rejected high value pixels when averaging the sky spectra */
00110         float  hiReject ;
00111     /* pixel distance tolerance to the dividing diagonal line, these pixels are not considered
00112            to be sure to get only "clean" sky pixels */
00113         int    tolerance ;
00114 } object_config ;
00115 /*</python>*/
00116 
00117 
00118 
00119 /*---------------------------------------------------------------------------
00120                             Function prototypes
00121  ---------------------------------------------------------------------------*/
00122 
00123 
00124 /*---------------------------------------------------------------------------
00125    Function :   object_cfg_create()
00126    In       :   void
00127    Out      :   pointer to allocated base object_cfg structure
00128    Job      :   allocate memory for a object_cfg struct
00129    Notice   :   only the main (base) structure is allocated
00130  ---------------------------------------------------------------------------*/
00131 
00132 object_config * object_cfg_create(void);
00133 
00134 
00135 /*---------------------------------------------------------------------------
00136    Function :   object_cfg_destroy()
00137    In       :   object_config to deallocate
00138    Out      :   void
00139    Job      :   deallocate all memory associated with a object_config data structure
00140    Notice   :   
00141  ---------------------------------------------------------------------------*/
00142 /*<python>*/
00143 void object_cfg_destroy(object_config * cc);
00144 /*</python>*/
00145 
00146 #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