Commit 1b0fb5bd authored by Emmanuel Bertin's avatar Emmanuel Bertin
Browse files

Added one extra decimal to position measurements in pixel coordinates.

Preliminary implementation of a RESCALE_WEIGHTS configuration switch.
parent c5f7c68f
.TH SEXTRACTOR "1" "January 2011" "SExtractor 2.13.2" "User Commands"
.TH SEXTRACTOR "1" "March 2011" "SExtractor 2.13.2" "User Commands"
.SH NAME
sex \- extract a source catalogue from an astronomical FITS image
.SH SYNOPSIS
......
......@@ -48,7 +48,7 @@
Background maps are established from the images themselves; thus we need to
make at least one first pass through the data.
*/
void makeback(picstruct *field, picstruct *wfield)
void makeback(picstruct *field, picstruct *wfield, int wscale_flag)
{
backstruct *backmesh,*wbackmesh, *bm,*wbm;
......@@ -294,7 +294,7 @@ void makeback(picstruct *field, picstruct *wfield)
filterback(wfield);
/* Compute normalization for variance- or weight-maps*/
if (wfield && wfield->flags&(VAR_FIELD|WEIGHT_FIELD))
if (wfield && wscale_flag && wfield->flags&(VAR_FIELD|WEIGHT_FIELD))
{
nr = 0;
QMALLOC(ratio, float, wfield->nback);
......
......@@ -7,7 +7,7 @@
*
* This file part of: SExtractor
*
* Copyright: (C) 1993-2010 Emmanuel Bertin -- IAP/CNRS/UPMC
* Copyright: (C) 1993-2011 Emmanuel Bertin -- IAP/CNRS/UPMC
*
* License: GNU General Public License
*
......@@ -22,7 +22,7 @@
* You should have received a copy of the GNU General Public License
* along with SExtractor. If not, see <http://www.gnu.org/licenses/>.
*
* Last modified: 11/10/2010
* Last modified: 09/03/2011
*
*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
......@@ -33,6 +33,9 @@
#define QUANTIF_NMAXLEVELS 4096 /* max nb of quantif. levels */
#define QUANTIF_AMIN 4 /* min nb of "mode pixels" */
#define BACK_WSCALE 1 /* Activate weight scaling */
#define BACK_NOWSCALE 0 /* No weight scaling */
/* NOTES:
One must have: BACK_BUFSIZE >= MAXPICSIZE
0 < QUANTIF_NSIGMA <= 10
......@@ -61,7 +64,7 @@ void backhisto(backstruct *, backstruct *, PIXTYPE *, PIXTYPE *,
copyback(picstruct *infield, picstruct *outfield),
endback(picstruct *),
filterback(picstruct *),
makeback(picstruct *, picstruct *),
makeback(picstruct *, picstruct *, int),
subbackline(picstruct *, int, PIXTYPE *);
float backguess(backstruct *, float *, float *),
......
......@@ -7,7 +7,7 @@
*
* This file part of: SExtractor
*
* Copyright: (C) 1993-2010 Emmanuel Bertin -- IAP/CNRS/UPMC
* Copyright: (C) 1993-2011 Emmanuel Bertin -- IAP/CNRS/UPMC
*
* License: GNU General Public License
*
......@@ -22,7 +22,7 @@
* You should have received a copy of the GNU General Public License
* along with SExtractor. If not, see <http://www.gnu.org/licenses/>.
*
* Last modified: 12/02/2010
* Last modified: 11/03/2011
*
*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
......@@ -405,7 +405,6 @@ Finish current check-image.
void reendcheck(picstruct *field, checkstruct *check)
{
catstruct *cat;
char *buf;
cat = check->cat;
switch(check->type)
......
......@@ -5,7 +5,7 @@
*
* This file part of: AstrOmatic software
*
* Copyright: (C) 2007-2010 Emmanuel Bertin -- IAP/CNRS/UPMC
* Copyright: (C) 2007-2011 Emmanuel Bertin -- IAP/CNRS/UPMC
* (C) 2004 Manolis Lourakis (original version)
*
* Licenses: GNU General Public License
......@@ -22,7 +22,7 @@
* along with AstrOmatic software.
* If not, see <http://www.gnu.org/licenses/>.
*
* Last modified: 25/10/2010
* Last modified: 11/03/2011
*
*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
/////////////////////////////////////////////////////////////////////////////////
......@@ -861,7 +861,7 @@ OUTPUT Matrix rank.
NOTES Based on algorithm described in Numerical Recipes in C, 2nd Ed.(p. 671).
The a and v matrices are transposed with respect to the N.R. convention.
AUTHOR E. Bertin (IAP)
VERSION 02/09/2010
VERSION 11/03/2011
***/
static int SVDINV(LM_REAL *a, LM_REAL *b, int m)
......@@ -884,7 +884,7 @@ static int SVDINV(LM_REAL *a, LM_REAL *b, int m)
thresh, wmax, tol,tanorm;
anorm = g = scale = 0.0;
tol = sizeof(anorm)>4? 1.0e-9 : 1.0e-6;
tanorm = tol = sizeof(anorm)>4? 1.0e-9 : 1.0e-6;
rv1=(LM_REAL *)malloc(m*sizeof(LM_REAL));
tmp=(LM_REAL *)malloc(m*sizeof(LM_REAL));
......
......@@ -7,7 +7,7 @@
*
* This file part of: SExtractor
*
* Copyright: (C) 1993-2010 Emmanuel Bertin -- IAP/CNRS/UPMC
* Copyright: (C) 1993-2011 Emmanuel Bertin -- IAP/CNRS/UPMC
*
* License: GNU General Public License
*
......@@ -22,7 +22,7 @@
* You should have received a copy of the GNU General Public License
* along with SExtractor. If not, see <http://www.gnu.org/licenses/>.
*
* Last modified: 14/10/2010
* Last modified: 09/03/2011
*
*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
......@@ -389,7 +389,7 @@ void makeit()
/*-- Compute background maps for `standard' fields */
QPRINTF(OUTPUT, dfield? "Measurement image:"
: "Detection+Measurement image: ");
makeback(field, wfield);
makeback(field, wfield, prefs.wscale_flag[1]);
QPRINTF(OUTPUT, (dfield || (dwfield&&dwfield->flags^INTERP_FIELD))? "(M) "
"Background: %-10g RMS: %-10g / Threshold: %-10g \n"
: "(M+D) "
......@@ -400,14 +400,15 @@ void makeit()
{
QPRINTF(OUTPUT, "Detection image: ");
makeback(dfield, dwfield? dwfield
: (prefs.weight_type[0] == WEIGHT_NONE?NULL:wfield));
: (prefs.weight_type[0] == WEIGHT_NONE?NULL:wfield),
prefs.wscale_flag[0]);
QPRINTF(OUTPUT, "(D) "
"Background: %-10g RMS: %-10g / Threshold: %-10g \n",
dfield->backmean, dfield->backsig, dfield->dthresh);
}
else if (dwfield && dwfield->flags^INTERP_FIELD)
{
makeback(field, dwfield);
makeback(field, dwfield, BACK_WSCALE);
QPRINTF(OUTPUT, "(D) "
"Background: %-10g RMS: %-10g / Threshold: %-10g \n",
field->backmean, field->backsig, field->dthresh);
......
......@@ -7,7 +7,7 @@
*
* This file part of: SExtractor
*
* Copyright: (C) 2009-2010 Emmanuel Bertin -- IAP/CNRS/UPMC
* Copyright: (C) 2009-2011 Emmanuel Bertin -- IAP/CNRS/UPMC
*
* License: GNU General Public License
*
......@@ -22,7 +22,7 @@
* You should have received a copy of the GNU General Public License
* along with SExtractor. If not, see <http://www.gnu.org/licenses/>.
*
* Last modified: 11/10/2010
* Last modified: 11/03/2011
*
*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
......@@ -30,6 +30,7 @@
#include "config.h"
#endif
#include <stdlib.h>
#include <time.h>
#include <sys/time.h>
......
......@@ -22,7 +22,7 @@
* You should have received a copy of the GNU General Public License
* along with SExtractor. If not, see <http://www.gnu.org/licenses/>.
*
* Last modified: 12/01/2011
* Last modified: 13/03/2011
*
*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
......@@ -269,16 +269,16 @@ keystruct objkey[] = {
"pos.eq.dec", "deg"},
{"X_IMAGE", "Object position along x",
&outobj2.sposx, H_FLOAT, T_FLOAT, "%10.3f", "pixel",
&outobj2.sposx, H_FLOAT, T_FLOAT, "%11.4f", "pixel",
"pos.cartesian.x;pos.barycenter;instr.det;meta.main", "pix"},
{"Y_IMAGE", "Object position along y",
&outobj2.sposy, H_FLOAT, T_FLOAT, "%10.3f", "pixel",
&outobj2.sposy, H_FLOAT, T_FLOAT, "%11.4f", "pixel",
"pos.cartesian.y;pos.barycenter;instr.det;meta.main", "pix"},
{"X_IMAGE_DBL", "Object position along x (double precision)",
&outobj2.posx, H_FLOAT, T_DOUBLE, "%10.3f", "pixel",
&outobj2.posx, H_FLOAT, T_DOUBLE, "%11.4f", "pixel",
"pos.cartesian.x;pos.barycenter;instr.det", "pix"},
{"Y_IMAGE_DBL", "Object position along y (double precision)",
&outobj2.posy, H_FLOAT, T_DOUBLE, "%10.3f", "pixel",
&outobj2.posy, H_FLOAT, T_DOUBLE, "%11.4f", "pixel",
"pos.cartesian.x;pos.barycenter;instr.det", "pix"},
{"X_FOCAL", "Barycenter position along focal-plane x axis",
&outobj2.mxf, H_FLOAT, T_DOUBLE, "%18.10e", "",
......@@ -425,10 +425,10 @@ keystruct objkey[] = {
"src.impactParam;pos.errorEllipse", "deg-2"},
{"ERRA_IMAGE", "RMS position error along major axis",
&outobj2.poserr_a, H_FLOAT, T_FLOAT, "%8.4f", "pixel",
&outobj2.poserr_a, H_FLOAT, T_FLOAT, "%9.5f", "pixel",
"stat.stdev;stat.max;pos.errorEllipse;instr.det;meta.main", "pix"},
{"ERRB_IMAGE", "RMS position error along minor axis",
&outobj2.poserr_b, H_FLOAT, T_FLOAT, "%8.4f", "pixel",
&outobj2.poserr_b, H_FLOAT, T_FLOAT, "%9.5f", "pixel",
"stat.stdev;stat.min;pos.errorEllipse;instr.det;meta.main", "pix"},
{"ERRTHETA_IMAGE", "Error ellipse position angle (CCW/x)",
&outobj2.poserr_theta, H_FLOAT, T_FLOAT, "%6.2f", "deg",
......@@ -453,10 +453,10 @@ keystruct objkey[] = {
"pos.posAng;pos.errorEllipse", "deg"},
{"XWIN_IMAGE", "Windowed position estimate along x",
&outobj2.winpos_x, H_FLOAT, T_DOUBLE, "%10.3f", "pixel",
&outobj2.winpos_x, H_FLOAT, T_DOUBLE, "%11.4f", "pixel",
"pos.cartesian.x;instr.det", "pix"},
{"YWIN_IMAGE", "Windowed position estimate along y",
&outobj2.winpos_y, H_FLOAT, T_DOUBLE, "%10.3f", "pixel",
&outobj2.winpos_y, H_FLOAT, T_DOUBLE, "%11.4f", "pixel",
"pos.cartesian.y;instr.det", "pix"},
{"XWIN_FOCAL", "Windowed position along focal-plane x axis",
......@@ -599,10 +599,10 @@ keystruct objkey[] = {
"src.impactParam;pos.errorEllipse", "deg-2"},
{"ERRAWIN_IMAGE", "RMS windowed pos error along major axis",
&outobj2.winposerr_a, H_FLOAT, T_FLOAT, "%8.4f", "pixel",
&outobj2.winposerr_a, H_FLOAT, T_FLOAT, "%9.5f", "pixel",
"stat.stdev;stat.max;pos.errorEllipse;instr.det", "pix"},
{"ERRBWIN_IMAGE", "RMS windowed pos error along minor axis",
&outobj2.winposerr_b, H_FLOAT, T_FLOAT, "%8.4f", "pixel",
&outobj2.winposerr_b, H_FLOAT, T_FLOAT, "%9.5f", "pixel",
"stat.stdev;stat.min;pos.errorEllipse;instr.det", "pix"},
{"ERRTHETAWIN_IMAGE", "Windowed error ellipse pos angle (CCW/x)",
&outobj2.winposerr_theta, H_FLOAT, T_FLOAT, "%6.2f", "deg",
......@@ -750,10 +750,10 @@ keystruct objkey[] = {
"phys.size.radius;instr.det", "pix", 1, &prefs.flux_radiussize},
{"XPSF_IMAGE", "X coordinate from PSF-fitting",
&outobj2.x_psf, H_FLOAT, T_DOUBLE, "%10.3f", "pixel",
&outobj2.x_psf, H_FLOAT, T_DOUBLE, "%11.4f", "pixel",
"pos.cartesian.x;stat.fit.param;instr.det", "pix"},
{"YPSF_IMAGE", "Y coordinate from PSF-fitting",
&outobj2.y_psf, H_FLOAT, T_DOUBLE, "%10.3f", "pixel",
&outobj2.y_psf, H_FLOAT, T_DOUBLE, "%11.4f", "pixel",
"pos.cartesian.y;stat.fit.param;instr.det", "pix"},
{"XPSF_WORLD", "PSF position along world x axis",
&outobj2.xw_psf, H_FLOAT, T_DOUBLE, "%18.10e", "deg",
......@@ -842,10 +842,10 @@ keystruct objkey[] = {
"src.impactParam;pos.errorEllipse", "deg-2"},
{"ERRAPSF_IMAGE", "PSF RMS position error along major axis",
&outobj2.poserra_psf, H_FLOAT, T_FLOAT, "%8.4f", "pixel",
&outobj2.poserra_psf, H_FLOAT, T_FLOAT, "%9.5f", "pixel",
"stat.stdev;stat.max;pos.errorEllipse;instr.det", "pix"},
{"ERRBPSF_IMAGE", "PSF RMS position error along minor axis",
&outobj2.poserrb_psf, H_FLOAT, T_FLOAT, "%8.4f", "pixel",
&outobj2.poserrb_psf, H_FLOAT, T_FLOAT, "%9.5f", "pixel",
"stat.stdev;stat.min;pos.errorEllipse;instr.det", "pix"},
{"ERRTHETAPSF_IMAGE", "PSF error ellipse position angle (CCW/x)",
&outobj2.poserrtheta_psf, H_FLOAT, T_FLOAT, "%6.2f", "deg",
......
......@@ -7,7 +7,7 @@
*
* This file part of: SExtractor
*
* Copyright: (C) 2007-2010 Emmanuel Bertin -- IAP/CNRS/UPMC
* Copyright: (C) 2007-2011 Emmanuel Bertin -- IAP/CNRS/UPMC
*
* License: GNU General Public License
*
......@@ -22,7 +22,7 @@
* You should have received a copy of the GNU General Public License
* along with SExtractor. If not, see <http://www.gnu.org/licenses/>.
*
* Last modified: 18/10/2010
* Last modified: 13/03/2011
*
*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
......@@ -59,7 +59,7 @@
{"MAGERR_MODEL", "RMS error on model-fitting magnitude",
&outobj2.magerr_prof, H_FLOAT, T_FLOAT, "%8.4f", "mag",
"stat.error;phot.mag;stat.fit.param", "mag"},
/*
{"FLUXHYBRID_MODEL", "Hybrid flux from model-fitting",
&outobj2.fluxcor_prof, H_FLOAT, T_FLOAT, "%12.7g", "count",
"phot.count;stat.fit.param", "ct"},
......@@ -72,7 +72,7 @@
{"MAGHYBRIDERR_MODEL", "RMS error on hybrid magnitude",
&outobj2.magcorerr_prof, H_FLOAT, T_FLOAT, "%8.4f", "mag",
"stat.error;phot.mag;stat.fit.param", "mag"},
*/
{"FLUX_MAX_MODEL", "Peak model flux above background",
&outobj2.peak_prof, H_FLOAT, T_FLOAT, "%12.7g", "count",
"phot.flux.sb;stat.max;stat.fit.param", "ct"},
......@@ -93,10 +93,10 @@
"phot.mag.sb;stat.mean;stat.fit.param", "mag.arcsec-2"},
{"XMODEL_IMAGE", "X coordinate from model-fitting",
&outobj2.x_prof, H_FLOAT, T_DOUBLE, "%10.3f", "pixel",
&outobj2.x_prof, H_FLOAT, T_DOUBLE, "%11.4f", "pixel",
"pos.cartesian.x;stat.fit.param;instr.det;meta.main", "pix"},
{"YMODEL_IMAGE", "Y coordinate from model-fitting",
&outobj2.y_prof, H_FLOAT, T_DOUBLE, "%10.3f", "pixel",
&outobj2.y_prof, H_FLOAT, T_DOUBLE, "%11.4f", "pixel",
"pos.cartesian.y;stat.fit.param;instr.det;meta.main", "pix"},
{"XFOCAL_WORLD", "Fitted position along focal-plane x axis",
......@@ -173,10 +173,10 @@
"src.impactParam;pos.errorEllipsestat.fit.param", "deg-2"},
{"ERRAMODEL_IMAGE", "RMS error of fitted position along major axis",
&outobj2.poserra_prof, H_FLOAT, T_FLOAT, "%8.4f", "pixel",
&outobj2.poserra_prof, H_FLOAT, T_FLOAT, "%9.5f", "pixel",
"stat.stdev;stat.max;pos.errorEllipse;stat.fit.param;instr.det", "pix"},
{"ERRBMODEL_IMAGE", "RMS error of fitted position along minor axis",
&outobj2.poserrb_prof, H_FLOAT, T_FLOAT, "%8.4f", "pixel",
&outobj2.poserrb_prof, H_FLOAT, T_FLOAT, "%9.5f", "pixel",
"stat.stdev;stat.min;pos.errorEllipse;stat.fit.param;instr.det", "pix"},
{"ERRTHETAMODEL_IMAGE", "Error ellipse pos.angle of fitted position (CCW/x)",
&outobj2.poserrtheta_prof, H_FLOAT, T_FLOAT, "%6.2f", "deg",
......
......@@ -22,7 +22,7 @@
* You should have received a copy of the GNU General Public License
* along with SExtractor. If not, see <http://www.gnu.org/licenses/>.
*
* Last modified: 12/01/2011
* Last modified: 09/03/2011
*
*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
......@@ -144,6 +144,8 @@
{"PSF_NAME", P_STRINGLIST, prefs.psf_name, 0,0, 0.0,0.0,
{""}, 1, 2, &prefs.npsf_name}, /*?*/
{"PSF_NMAX", P_INT, &prefs.psf_npsfmax, 1, PSF_NPSFMAX},
{"RESCALE_WEIGHTS", P_BOOLLIST, prefs.wscale_flag, 0,0, 0.0,0.0,
{""}, 1, 2, &prefs.nwscale_flag},
{"SATUR_KEY", P_STRING, prefs.satur_key},
{"SATUR_LEVEL", P_FLOAT, &prefs.satur_level, 0,0, -1e+30, 1e+30},
{"SEEING_FWHM", P_FLOAT, &prefs.seeing_fwhm, 0,0, 0.0, 1e+10},
......@@ -212,6 +214,7 @@ char *default_prefs[] =
"*",
"*WEIGHT_TYPE NONE # type of WEIGHTing: NONE, BACKGROUND,",
"* # MAP_RMS, MAP_VAR or MAP_WEIGHT",
"*RESCALE_WEIGHTS Y # Rescale input weights/variances (Y/N)?",
"*WEIGHT_IMAGE weight.fits # weight-map filename",
"*WEIGHT_GAIN Y # modulate gain (E/ADU) with weights? (Y/N)",
"*WEIGHT_THRESH # weight threshold[s] for bad pixels",
......
......@@ -22,7 +22,7 @@
* You should have received a copy of the GNU General Public License
* along with SExtractor. If not, see <http://www.gnu.org/licenses/>.
*
* Last modified: 14/10/2010
* Last modified: 09/03/2011
*
*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
......@@ -46,6 +46,7 @@
#include "define.h"
#include "globals.h"
#include "back.h"
#include "prefs.h"
#include "preflist.h"
#include "fits/fitscat.h"
......@@ -642,6 +643,11 @@ void useprefs()
for (i=2; --i >= prefs.nweight_thresh;)
prefs.weight_thresh[i] = (prefs.weight_type[i]==WEIGHT_FROMWEIGHTMAP)?
0.0 : BIG;
/*-- Weight rescaling flags */
if (prefs.nwscale_flag<2)
prefs.wscale_flag[1] = (prefs.weight_type[1]==WEIGHT_FROMBACK)?
BACK_WSCALE : prefs.wscale_flag[0];
/*-- Check WEIGHT_IMAGE parameter(s) */
if ((!prefs.nwimage_name
&& ((prefs.weight_type[0]!=WEIGHT_FROMBACK
......
......@@ -22,7 +22,7 @@
* You should have received a copy of the GNU General Public License
* along with SExtractor. If not, see <http://www.gnu.org/licenses/>.
*
* Last modified: 12/01/2011
* Last modified: 09/03/2011
*
*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
......@@ -96,6 +96,8 @@ typedef struct
int weight_flag; /* do we weight ? */
int dweight_flag; /* detection weight? */
int weightgain_flag; /* weight gain? */
int wscale_flag[2]; /* Weight rescaling */
int nwscale_flag; /* nb of params */
/*----- photometry */
enum {CAT_NONE, ASCII, ASCII_HEAD, ASCII_SKYCAT, ASCII_VO,
FITS_LDAC, FITS_TPX, FITS_10}
......
......@@ -22,7 +22,7 @@
* You should have received a copy of the GNU General Public License
* along with SExtractor. If not, see <http://www.gnu.org/licenses/>.
*
* Last modified: 24/01/2011
* Last modified: 11/03/2011
*
*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
......@@ -1152,9 +1152,9 @@ int profit_minimize(profitstruct *profit, int niter)
/* Perform fit */
lm_opts[0] = 1.0e-3; /* Initial mu */
lm_opts[1] = 1.0e-8; /* ||J^T e||_inf stopping factor */
lm_opts[2] = 1.0e-8; /* |Dp||_2 stopping factor */
lm_opts[3] = 1.0e-8; /* ||e||_2 stopping factor */
lm_opts[1] = 1.0e-6; /* ||J^T e||_inf stopping factor */
lm_opts[2] = 1.0e-6; /* |Dp||_2 stopping factor */
lm_opts[3] = 1.0e-6; /* ||e||_2 stopping factor */
lm_opts[4] = 1.0e-4; /* Jacobian step */
profit_boundtounbound(profit, profit->paraminit, dparam, PARAM_ALLPARAMS);
......@@ -3320,7 +3320,7 @@ INPUT Profile-fitting structure,
OUTPUT Total (asymptotic) flux contribution.
NOTES -.
AUTHOR E. Bertin (IAP)
VERSION 24/01/2011
VERSION 11/03/2011
***/
float prof_add(profitstruct *profit, profstruct *prof, int extfluxfac_flag)
{
......@@ -3328,20 +3328,19 @@ float prof_add(profitstruct *profit, profstruct *prof, int extfluxfac_flag)
dx1cout,dx2cout, ddx1[36],ddx2[36];
float posin[PROFIT_MAXEXTRA], posout[2], dnaxisn[2],
*pixin, *pixin2, *pixout,
fluxfac, amp,cd11,cd12,cd21,cd22, dcd11,dcd21, dx1,dx2,
x1,x10,x2, x1cin,x2cin, x1cout,x2cout, x1max,x2max,
x1in,x2in, odx, ostep,
fluxfac, amp,cd11,cd12,cd21,cd22, dx1,dx2,
x1,x10,x2, x1cin,x2cin, x1cout,x2cout, x1max,x2max, x1in,x2in,
k, hinvn, x1t,x2t, ca,sa, u,umin,
armamp,arm2amp, armrdphidr, armrdphidrvar, posang,
width, invwidth2,
r,r2,rmin, r2minxin,r2minxout, rmax, r2max,
r2max1, r2max2, r2min, invr2xdif,
val, theta, thresh, ra,rb,rao, num,num2,den, ang,angstep,
invn, smoothfac, dr,deltar, krpinvn,dkrpinvn, rs,rs2,
val, theta, thresh, ra,rb, num,num2,den, ang,angstep,
invn, dr, krpinvn,dkrpinvn, rs,rs2,
a11,a12,a21,a22, invdet, dca,dsa, a0,a2,a3, p1,p2,
krspinvn, ekrspinvn, selem;
int npix, threshflag,
a,d,e,i, ix1,ix2, ix1max,ix2max, ir,nang, idx1,idx2, nx2,
a,d,e,i, ix1,ix2, ix1max,ix2max, nang, nx2,
npix2;
npix = profit->nmodpix;
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment