00001
00002 /*---------------------------------------------------------------------------
00003
00004 File name : focus_cfg.h
00005 Author : Juergen Schreiber
00006 Created on : February 2002
00007 Description : focus_cfg.c definitions + handling prototypes
00008
00009 ---------------------------------------------------------------------------*/
00010
00011
00012 #ifndef _FOCUS_CFG_H_
00013 #define _FOCUS_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 point source 2D-Gaussian fit blackboard container
00038
00039 This structure holds all information related to the 2D-Gaussian fit
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 focus_config {
00047 /*-------General---------*/
00048 char inFile[FILENAMESZ] ; /* file name of frame list */
00049 char ** inFrameList ; /* input averaged, bad pixel corrected, off subtracted, \
00050 flatfielded, spectral tilt corrected list of frames */
00051 int nframes ; /* number of frames in the list */
00052 char outName[FILENAMESZ] ; /* output name of resulting fits data cube */
00053
00054 /*------ Reconstruction ------*/
00055 /* the fraction [0...1] of rejected low intensity pixels when taking the average of columns */
00056 float lo_reject ;
00057 /* the fraction [0...1] of rejected high intensity pixels when taking the average of columns */
00058 float hi_reject ;
00059 /* indicates if the slitlet distances are determined by a north-south test (1)
00060 or slitlet edge fits (0) */
00061 int northsouthInd ;
00062 /* name of the ASCII list of the fitted slitlet edge positions or the distances of the slitlets */
00063 char poslist[FILENAMESZ] ;
00064 /* number of slitlets (32) */
00065 int nslits ;
00066 /* sub pixel position of the column position of the left edge of
00067 the first slitlet needed if the slitlet distances were determined by a north
00068 south test */
00069 char firstCol[FILENAMESZ] ;
00070 /* indicator for the shifting method to use */
00071 char method[1] ;
00072 /* order of polynomial if the polynomial interpolation shifting method is used */
00073 int order ;
00074 /*------ Gauss2Dfit ------*/
00075 /* lower left edge coordinates of fitting box for 2D Gaussian fit */
00076 int llx ;
00077 int lly ;
00078 /* half length in pixels of the box within the point source is fitted in x and y-direction */
00079 int halfbox_x ;
00080 int halfbox_y ;
00081 /* mask parameters ( 1 or 0 ) for the fit parameters. If 1 the corresponding parameter
00082 is set free, if 0 the parameter is kept fixed. */
00083 int mpar0 ; /* mask for the x-position */
00084 int mpar1 ; /* mask for the y-position */
00085 int mpar2 ; /* mask for the amplitude */
00086 int mpar3 ; /* mask for the background */
00087 int mpar4 ; /* mask for the fwhmx */
00088 int mpar5 ; /* mask for the fwhmy */
00089 int mpar6 ; /* mask for the position angle of fwhmx line */
00090 /* name of the resulting ASCII file containing the fit parameters */
00091 char fitlist[FILENAMESZ] ;
00092 /* indicator if the resulting 2D-Gaussian is stored in a fits file or not */
00093 int plotGaussInd ;
00094 /* name of the fits file containing the resulting 2D-Gaussian */
00095 char gaussplotName[FILENAMESZ] ;
00096 } focus_config ;
00097 /*</python>*/
00098
00099
00100
00101 /*---------------------------------------------------------------------------
00102 Function prototypes
00103 ---------------------------------------------------------------------------*/
00104
00105
00106 /*---------------------------------------------------------------------------
00107 Function : focus_cfg_create()
00108 In : void
00109 Out : pointer to allocated base focus_cfg structure
00110 Job : allocate memory for a focus_config struct
00111 Notice : only the main (base) structure is allocated
00112 ---------------------------------------------------------------------------*/
00113
00114 focus_config * focus_cfg_create(void);
00115
00116
00117 /*---------------------------------------------------------------------------
00118 Function : focus_cfg_destroy()
00119 In : focus_config to deallocate
00120 Out : void
00121 Job : deallocate all memory associated with a focus_config data structure
00122 Notice :
00123 ---------------------------------------------------------------------------*/
00124 /*<python>*/
00125 void focus_cfg_destroy(focus_config * cc);
00126 /*</python>*/
00127
00128 #endif
1.2.13.1 written by Dimitri van Heesch,
© 1997-2001