- Timestamp:
- May 3, 2010, 8:50:52 AM (16 years ago)
- Location:
- branches/simtest_nebulous_branches
- Files:
-
- 2 edited
-
. (modified) (1 prop)
-
extsrc/gpcsw/gpcsrc/fits/burntool/psfstamp.c (modified) (9 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/simtest_nebulous_branches
- Property svn:mergeinfo changed
-
branches/simtest_nebulous_branches/extsrc/gpcsw/gpcsrc/fits/burntool/psfstamp.c
r24391 r27840 112 112 113 113 /* Make a postage stamp for it */ 114 box[k].stamp = (IMTYPE *)calloc(size*size, sizeof(IMTYPE)); 114 if( (box[k].stamp = (IMTYPE *)calloc(size*size, sizeof(IMTYPE))) == NULL) { 115 fprintf(stderr, "\rerror: failed to stamp buffer\n"); 116 exit(-675); 117 } 118 115 119 sum = 0; 116 120 for(j=y0; j<=y1; j++) { … … 136 140 int i, k, l, nstar, fdout, otacx, otacy, xid, yid, ntot=0, sumax; 137 141 int cellcount, ota_xid, ota_yid; 138 double scale, phi, fwhm[3], q[ 5], qt, xfp, yfp, pi=4*atan(1.0);142 double scale, phi, fwhm[3], q[7], qt, xfp, yfp, pi=4*atan(1.0); 139 143 IMTYPE *median_image; 140 144 CELL *cell; … … 171 175 172 176 /* Create a median image and write as the first one */ 173 median_image = (IMTYPE *)calloc(nx*ny, sizeof(IMTYPE)); 177 if( (median_image = (IMTYPE *)calloc(nx*ny, sizeof(IMTYPE))) == NULL) { 178 fprintf(stderr, "\rerror: failed to alloc median PSF image\n"); 179 exit(-676); 180 } 174 181 for(i=0; i<nx*ny; i++) { 175 182 nstar = 0; … … 256 263 int k, l, cellx, celly, ota_xid, ota_yid, nfwave, nqavg; 257 264 double xota, yota, xfp, yfp, phi; 258 double fwhm[3], q[ 3], fw[MAXPSFMEDIAN];265 double fwhm[3], q[7], fw[MAXPSFMEDIAN]; 259 266 double m2[MAXPSFMEDIAN], qp[MAXPSFMEDIAN], qc[MAXPSFMEDIAN]; 260 267 double qt[MAXPSFMEDIAN], fwavg[MAXPSFMEDIAN]; 268 double qpavg[MAXPSFMEDIAN], qcavg[MAXPSFMEDIAN], qtavg[MAXPSFMEDIAN]; 261 269 double q3c[MAXPSFMEDIAN], q3s[MAXPSFMEDIAN]; 262 double qpavg[MAXPSFMEDIAN], qcavg[MAXPSFMEDIAN], qtavg[MAXPSFMEDIAN];263 270 double q3cavg[MAXPSFMEDIAN], q3savg[MAXPSFMEDIAN]; 271 double q1c[MAXPSFMEDIAN], q1s[MAXPSFMEDIAN]; 272 double q1cavg[MAXPSFMEDIAN], q1savg[MAXPSFMEDIAN]; 264 273 int nstar[MAXCELL], nfw[MAXCELL]; 265 274 double fwmed[MAXCELL], m2med[MAXCELL]; 266 275 double qpmed[MAXCELL], qcmed[MAXCELL], qtmed[MAXCELL]; 267 276 double q3cmed[MAXCELL], q3smed[MAXCELL]; 268 double qpmacro, qcmacro, qtmacro, fwmacro, q3cmacro, q3smacro; 277 double q1cmed[MAXCELL], q1smed[MAXCELL]; 278 double qpmacro, qcmacro, qtmacro, fwmacro, q3cmacro, q3smacro, q1cmacro, q1smacro; 269 279 FILE *fp; 270 280 CELL *cell; … … 310 320 q3c[nstar[k]] = q[3]; 311 321 q3s[nstar[k]] = q[4]; 322 q1c[nstar[k]] = q[5]; 323 q1s[nstar[k]] = q[6]; 312 324 /* Get the position in the focal plane and therefore the qt statistic */ 313 325 psc_cell_to_pixel(cellx, celly, 0.5*PSC_HCELL/PSC_PIXEL, … … 333 345 q3cmed[k] = double_median(nstar[k], q3c); 334 346 q3smed[k] = double_median(nstar[k], q3s); 347 q1cmed[k] = double_median(nstar[k], q1c); 348 q1smed[k] = double_median(nstar[k], q1s); 335 349 } else { 336 350 m2med[k] = qpmed[k] = qcmed[k] = qtmed[k] = -99.99; 337 351 q3cmed[k] = q3smed[k] = -99.99; 352 q1cmed[k] = q1smed[k] = -99.99; 338 353 } 339 354 /* Toss these results into the macrocell median hopper */ … … 348 363 q3cavg[nqavg] = q3c[l]; 349 364 q3savg[nqavg] = q3s[l]; 365 q1cavg[nqavg] = q1c[l]; 366 q1savg[nqavg] = q1s[l]; 350 367 nqavg++; 351 368 } … … 359 376 q3cmacro = double_median(nqavg, q3cavg); 360 377 q3smacro = double_median(nqavg, q3savg); 361 if(nqavg == 0) qpmacro = qcmacro = qtmacro = q3cmacro = q3smacro = -99.99; 378 q1cmacro = double_median(nqavg, q1cavg); 379 q1smacro = double_median(nqavg, q1savg); 380 if(nqavg == 0) qpmacro = qcmacro = qtmacro = q3cmacro = q3smacro = q1cmacro = q1smacro = -99.99; 362 381 fwmacro = double_median(nfwave, fwavg); 363 382 … … 370 389 cell = ota + k; 371 390 372 fprintf(fp, "ext=xy%1d%1d bias=%d sky=%d rmssky=%d npsf=%d fwhm=%.2f fwmed=%.2f m2=%.2f qp=%.3f qc=%.3f qt=%.3f q3c=%.3f q3s=%.3f q pm=%.3f qcm=%.3f qtm=%.3f q3cm=%.3f q3sm=%.3f\n",391 fprintf(fp, "ext=xy%1d%1d bias=%d sky=%d rmssky=%d npsf=%d fwhm=%.2f fwmed=%.2f m2=%.2f qp=%.3f qc=%.3f qt=%.3f q3c=%.3f q3s=%.3f q1c=%.3f q1s=%.3f qpm=%.3f qcm=%.3f qtm=%.3f q3cm=%.3f q3sm=%.3f q1cm=%.3f q1sm=%.3f\n", 373 392 cellx, celly, cell->bias, cell->sky, cell->rms, 374 393 nstar[k], fwmed[k], fwmacro, m2med[k], 375 qpmed[k], qcmed[k], qtmed[k], q3cmed[k], q3smed[k], 376 qpmacro, qcmacro, qtmacro, q3cmacro, q3smacro); 394 qpmed[k], qcmed[k], qtmed[k], q3cmed[k], q3smed[k], 395 q1cmed[k], q1smed[k], 396 qpmacro, qcmacro, qtmacro, q3cmacro, q3smacro, 397 q1cmacro, q1smacro); 377 398 } 378 399 }
Note:
See TracChangeset
for help on using the changeset viewer.
