00001
00002 /*---------------------------------------------------------------------------
00003
00004 File name : cubecreate_cfg.h
00005 Author : Juergen Schreiber
00006 Created on : November 2001
00007 Description : cubecreate_ini definitions + handling prototypes
00008
00009 ---------------------------------------------------------------------------*/
00010
00011
00012 #ifndef _CUBECREATE_CFG_H_
00013 #define _CUBECREATE_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 cube creation
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 cube_config {
00047 /*-------General---------*/
00048 char inFrame[FILENAMESZ] ; /* input averaged, bad pixel corrected, sky subtracted, \
00049 flatfielded and interleaved frame */
00050 char wavemap[FILENAMESZ] ; /* input wavelength calibration map */
00051 char outName[FILENAMESZ] ; /* output name of resulting fits data cube */
00052
00053 /*------ Resampling ------*/
00054 /* number of coefficients for the polynomial interpolation (order + 1) */
00055 int ncoeffs ;
00056 /* number of rows in the resulting resampled image = number of spectral bins */
00057 int nrows ;
00058
00059 /*------ Calibration ------*/
00060 /* indicates if the halogen lamp feature from flatfielding should be corrected for or not */
00061 int halocorrectInd ;
00062 /* name of the fits file of the calibrated halogen lamp spectrum */
00063 char halospectrum[FILENAMESZ] ;
00064
00065 /*------ CubeCreation ------*/
00066 /* indicates if the slitlet distances are determined by a north-south test (1)
00067 or slitlet edge fits (0) */
00068 int northsouthInd ;
00069 /* name of the ASCII list of the fitted slitlet edge positions or the distances of the slitlets */
00070 char poslist[FILENAMESZ] ;
00071 /* number of slitlets (32) */
00072 int nslits ;
00073 /* sub pixel position of the column position of the left edge of
00074 the first slitlet needed if the slitlet distances were determined by a north
00075 south test */
00076 char firstCol[FILENAMESZ] ;
00077
00078 /*------ FineTuning ------*/
00079 /* indicator for the shifting method to use */
00080 char method ;
00081 /* order of polynomial if the polynomial interpolation shifting method is used */
00082 int order ;
00083
00084 int qc_chop_xmin;
00085 int qc_chop_xmax;
00086 int qc_chop_ymin;
00087 int qc_chop_ymax;
00088 int qc_chop_zmin;
00089 int qc_chop_zmax;
00090
00091 } cube_config ;
00092 /*</python>*/
00093
00094
00095
00096 /*---------------------------------------------------------------------------
00097 Function prototypes
00098 ---------------------------------------------------------------------------*/
00099
00100
00101 /*---------------------------------------------------------------------------
00102 Function : cube_cfg_create()
00103 In : void
00104 Out : pointer to allocated base cube_cfg structure
00105 Job : allocate memory for a cube_cfg struct
00106 Notice : only the main (base) structure is allocated
00107 ---------------------------------------------------------------------------*/
00108
00109 cube_config * cube_cfg_create(void);
00110
00111
00112 /*---------------------------------------------------------------------------
00113 Function : cube_cfg_destroy()
00114 In : cube_config to deallocate
00115 Out : void
00116 Job : deallocate all memory associated with a cube_config data structure
00117 Notice :
00118 ---------------------------------------------------------------------------*/
00119 /*<python>*/
00120 void cube_cfg_destroy(cube_config * cc);
00121 /*</python>*/
00122
00123 #endif
1.2.13.1 written by Dimitri van Heesch,
© 1997-2001