00001
00002 /*---------------------------------------------------------------------------
00003
00004 File name : ns_cfg.h
00005 Author : Juergen Schreiber
00006 Created on : November 2001
00007 Description : ns_ini definitions + handling prototypes
00008
00009 ---------------------------------------------------------------------------*/
00010
00011
00012 #ifndef _NS_CFG_H_
00013 #define _NS_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 ns_config {
00047 /*-------General---------*/
00048 char inList[FILENAMESZ] ; /* name of the input file list containing the on and off-frames */
00049 char outName[FILENAMESZ] ; /* output name of the ASCII list containing the determined distances */
00050 char ** framelist ; /* list of frames */
00051 int * frametype ; /* list of frame types on or off */
00052 int nframes ; /* number of frames in frame list */
00053 int nobj ; /* number of object frames in frame list */
00054 int noff ; /* number of off frames in frame list */
00055
00056 /*------ CleanMean ------*/
00057 /* percentage of rejected low intensity pixels */
00058 float loReject ;
00059 /* percentage of rejected high intensity pixels */
00060 float hiReject ;
00061 /* indicator if a bad pixel mask is applied or not */
00062 int maskInd ;
00063 /* file name of the bad pixel mask fits file */
00064 char mask[FILENAMESZ] ;
00065 /*------ GaussConvolution ------*/
00066 /* indicator if Gaussian convolution is applied or not */
00067 int gaussInd ;
00068 /* kernel half width of the Gaussian response function */
00069 int hw ;
00070 /*------ NorthSouthTest ------*/
00071 /* name of the averaged output fits frame */
00072 char fitsname[FILENAMESZ] ;
00073 /* number of slitlets */
00074 int nslits ;
00075 /* pixel half width of a box within which the spatial profile is fitted by a Gaussian */
00076 int halfWidth ;
00077 /* first guess of the fwhm of the Gaussian fit function */
00078 float fwhm ;
00079 /* minimum amplitude above which the fit is carried out */
00080 float minDiff ;
00081 /* estimated average distance of spectra */
00082 float estimated_dist ;
00083 /* maximal pixel tolerance of the slitlet distances */
00084 float devtol ;
00085 } ns_config ;
00086 /*</python>*/
00087
00088
00089
00090 /*---------------------------------------------------------------------------
00091 Function prototypes
00092 ---------------------------------------------------------------------------*/
00093
00094
00095 /*---------------------------------------------------------------------------
00096 Function : ns_cfg_create()
00097 In : void
00098 Out : pointer to allocated base ns_cfg structure
00099 Job : allocate memory for a ns_cfg struct
00100 Notice : only the main (base) structure is allocated
00101 ---------------------------------------------------------------------------*/
00102
00103 ns_config * ns_cfg_create(void);
00104
00105
00106 /*---------------------------------------------------------------------------
00107 Function : ns_cfg_destroy()
00108 In : ns_config to deallocate
00109 Out : void
00110 Job : deallocate all memory associated with a ns_config data structure
00111 Notice :
00112 ---------------------------------------------------------------------------*/
00113 /*<python>*/
00114 void ns_cfg_destroy(ns_config * nc);
00115 /*</python>*/
00116
00117 #endif
1.2.13.1 written by Dimitri van Heesch,
© 1997-2001