1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
|
/*
* back.h
*
* Include file for back.c.
*
*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
*
* This file part of: SWarp
*
* Copyright: (C) 2000-2010 Emmanuel Bertin -- IAP/CNRS/UPMC
*
* License: GNU General Public License
*
* SWarp is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* SWarp is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with SWarp. If not, see <http://www.gnu.org/licenses/>.
*
* Last modified: 26/10/2010
*
*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
#ifndef _FIELD_H_
#include "field.h"
#endif
/*----------------------------- Internal constants --------------------------*/
#define BACK_BUFSIZE (8*1024*1024) /* bkgnd buffer */
#define BACK_MINGOODFRAC 0.5 /* min frac with good weights*/
#define QUANTIF_NSIGMA 5 /* histogram limits */
#define QUANTIF_NMAXLEVELS 4096 /* max nb of quantif. levels */
#define QUANTIF_AMIN 4 /* min nb of "mode pixels" */
/* NOTES:
One must have: BACK_BUFSIZE >= MAXPICSIZE
0 < QUANTIF_NSIGMA <= 10
QUANTIF_AMIN > 0
*/
/*------------------------------- structures --------------------------------*/
/* Background info */
typedef struct structback
{
float mode, mean, sigma; /* Background mode, mean and sigma */
int *histo; /* Pointer to a histogram */
int nlevels; /* Nb of histogram bins */
float qzero, qscale; /* Position of histogram */
float lcut, hcut; /* Histogram cuts */
int npix; /* Number of pixels involved */
} backstruct;
/*------------------------------- functions ---------------------------------*/
extern void backhisto(backstruct *, backstruct *, PIXTYPE *, PIXTYPE *,
size_t, int, int, int, PIXTYPE),
backline(fieldstruct *, int, PIXTYPE *),
backstat(backstruct *, backstruct *, PIXTYPE *, PIXTYPE *,
size_t, int, int, int, PIXTYPE),
backrmsline(fieldstruct *, int, PIXTYPE *),
end_back(fieldstruct *),
filter_back(fieldstruct *),
make_back(fieldstruct *, fieldstruct *, int);
extern float backguess(backstruct *, float *, float *),
*make_backspline(fieldstruct *, float *);
|