00001 /* 00002 * This file is part of the ESO SINFONI Pipeline 00003 * Copyright (C) 2004,2005 European Southern Observatory 00004 * 00005 * This program is free software; you can redistribute it and/or modify 00006 * it under the terms of the GNU General Public License as published by 00007 * the Free Software Foundation; either version 2 of the License, or 00008 * (at your option) any later version. 00009 * 00010 * This program is distributed in the hope that it will be useful, 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 * GNU General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU General Public License 00016 * along with this program; if not, write to the Free Software 00017 * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA 00018 */ 00019 /*--------------------------------------------------------------------------- 00020 00021 File name : sinfo_ns_cfg.h 00022 Author : Juergen Schreiber 00023 Created on : November 2001 00024 Description : ns_ini definitions + handling prototypes 00025 00026 ---------------------------------------------------------------------------*/ 00027 #ifndef SINFO_NS_CFG_H 00028 #define SINFO_NS_CFG_H 00029 /*--------------------------------------------------------------------------- 00030 Includes 00031 ---------------------------------------------------------------------------*/ 00032 #include <stdlib.h> 00033 #include "sinfo_globals.h" 00034 #include <cpl.h> 00035 /*--------------------------------------------------------------------------- 00036 Defines 00037 ---------------------------------------------------------------------------*/ 00038 /*--------------------------------------------------------------------------- 00039 New types 00040 ---------------------------------------------------------------------------*/ 00041 /* 00042 data cube creation blackboard container 00043 00044 This structure holds all information related to the cube creation 00045 routine. It is used as a container for the flux of ancillary data, 00046 computed values, and algorithm status. Pixel flux is separated from 00047 the blackboard. 00048 */ 00049 00050 typedef struct ns_config { 00051 /*-------General---------*/ 00052 char inList[FILE_NAME_SZ] ; /* name of the input file list 00053 containing the on and off-frames */ 00054 char outName[FILE_NAME_SZ] ; /* output name of the ASCII list 00055 containing the determined distances */ 00056 char ** framelist ; /* list of frames */ 00057 int * frametype ; /* list of frame types on or off */ 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 00062 /*------ CleanMean ------*/ 00063 /* percentage of rejected low intensity pixels */ 00064 float loReject ; 00065 /* percentage of rejected high intensity pixels */ 00066 float hiReject ; 00067 /* indicator if a bad pixel mask is applied or not */ 00068 int maskInd ; 00069 /* file name of the bad pixel mask fits file */ 00070 char mask[FILE_NAME_SZ] ; 00071 /*------ GaussConvolution ------*/ 00072 /* indicator if Gaussian convolution is applied or not */ 00073 int gaussInd ; 00074 /* kernel half width of the Gaussian response function */ 00075 int hw ; 00076 /*------ NorthSouthTest ------*/ 00077 /* name of the averaged output fits frame */ 00078 char fitsname[FILE_NAME_SZ] ; 00079 /* number of slitlets */ 00080 int nslits ; 00081 /* pixel half width of a box within which the spatial profile 00082 is fitted by a Gaussian */ 00083 int halfWidth ; 00084 /* first guess of the fwhm of the Gaussian fit function */ 00085 float fwhm ; 00086 /* minimum amplitude above which the fit is carried out */ 00087 float minDiff ; 00088 /* estimated average distance of spectra */ 00089 float estimated_dist ; 00090 /* maximal pixel tolerance of the slitlet distances */ 00091 float devtol ; 00092 } ns_config ; 00093 00094 00095 00096 /*--------------------------------------------------------------------------- 00097 Function prototypes 00098 ---------------------------------------------------------------------------*/ 00106 ns_config * 00107 sinfo_ns_cfg_create(void); 00115 void 00116 sinfo_ns_cfg_destroy(ns_config * nc); 00117 00118 #endif