Changeset 35383 for trunk/ppStack/src/ppStackMatch.c
- Timestamp:
- Apr 9, 2013, 1:33:36 PM (13 years ago)
- File:
-
- 1 edited
-
trunk/ppStack/src/ppStackMatch.c (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ppStack/src/ppStackMatch.c
r34089 r35383 8 8 // #define TESTING // Enable debugging output 9 9 // #define TESTING_REUSE_CONV // Enable debugging for re-using convolved outputs from previous run 10 11 // #define TESTING_CZW 10 12 11 13 #ifdef TESTING_REUSE_CONV … … 264 266 // Add the background into the target image 265 267 psImage *bgImage = stackBackgroundModel(readout, config); // Image of background 266 psBinaryOp(fake->image, fake->image, "+", bgImage);268 psBinaryOp(fake->image, fake->image, "+", bgImage); 267 269 psFree(bgImage); 268 270 #endif 269 271 270 #ifdef TESTING 272 #ifdef TESTING_CZW 271 273 { 272 274 pmHDU *hdu = pmHDUFromCell(readout->parent); 273 275 psString name = NULL; 274 psStringAppend(&name, " fake_%03d.fits", index);276 psStringAppend(&name, "/local/tmp/fake_%03d.fits", index); 275 277 pmStackVisualPlotTestImage(fake->image, name); 276 278 psFits *fits = psFitsOpen(name, "w"); … … 282 284 pmHDU *hdu = pmHDUFromCell(readout->parent); 283 285 psString name = NULL; 284 psStringAppend(&name, " real_%03d.fits", index);286 psStringAppend(&name, "/local/tmp/real_%03d.fits", index); 285 287 pmStackVisualPlotTestImage(readout->image, name); 286 288 psFits *fits = psFitsOpen(name, "w"); 287 289 psFree(name); 288 290 psFitsWriteImage(fits, hdu->header, readout->image, 0, NULL); 291 psFitsClose(fits); 292 } 293 { 294 pmHDU *hdu = pmHDUFromCell(readout->parent); 295 psString name = NULL; 296 psStringAppend(&name, "/local/tmp/real_var_%03d.fits", index); 297 pmStackVisualPlotTestImage(readout->variance, name); 298 psFits *fits = psFitsOpen(name, "w"); 299 psFree(name); 300 psFitsWriteImage(fits, hdu->header, readout->variance, 0, NULL); 289 301 psFitsClose(fits); 290 302 } … … 355 367 356 368 357 #ifdef TESTING 369 #ifdef TESTING_CZW 358 370 { 359 371 pmHDU *hdu = pmHDUFromCell(readout->parent); 360 372 psString name = NULL; 361 psStringAppend(&name, " conv_%03d.fits", index);373 psStringAppend(&name, "/local/tmp/conv_%03d.fits", index); 362 374 pmStackVisualPlotTestImage(conv->image, name); 363 375 psFits *fits = psFitsOpen(name, "w"); … … 369 381 pmHDU *hdu = pmHDUFromCell(readout->parent); 370 382 psString name = NULL; 371 psStringAppend(&name, "diff_%03d.fits", index); 383 psStringAppend(&name, "/local/tmp/conv_var_%03d.fits", index); 384 pmStackVisualPlotTestImage(conv->variance, name); 385 psFits *fits = psFitsOpen(name, "w"); 386 psFree(name); 387 psFitsWriteImage(fits, hdu->header, conv->variance, 0, NULL); 388 psFitsClose(fits); 389 } 390 { 391 pmHDU *hdu = pmHDUFromCell(readout->parent); 392 psString name = NULL; 393 psStringAppend(&name, "/local/tmp/diff_%03d.fits", index); 372 394 pmStackVisualPlotTestImage(fake->image, name); 373 395 psFits *fits = psFitsOpen(name, "w"); … … 510 532 } 511 533 512 if (!stackRenormaliseReadout(config, readout)) { 513 psFree(rng); 514 psFree(bg); 515 return false; 516 } 517 534 #ifdef TESTING_CZW 535 // CZW begin check of weight before renormalize step 518 536 // Measure the variance level for the weighting 519 537 if (psMetadataLookupBool(NULL, recipe, "WEIGHTS")) { … … 529 547 options->weightings->data.F32[index] = 1.0; 530 548 } 531 psLogMsg("ppStack", PS_LOG_INFO, "Weighting for image %d is %f\n", 532 index, options->weightings->data.F32[index]); 549 psLogMsg("ppStack", PS_LOG_INFO, "Prenorm Weighting for image %d is %g covar %g median %g\n", 550 index, options->weightings->data.F32[index],psImageCovarianceFactor(readout->covariance), 551 psStatsGetValue(bg, PS_STAT_ROBUST_MEDIAN)); 552 // CZW end 553 #endif 554 if (!stackRenormaliseReadout(config, readout)) { 555 psFree(rng); 556 psFree(bg); 557 return false; 558 } 559 560 // Measure the variance level for the weighting 561 if (psMetadataLookupBool(NULL, recipe, "WEIGHTS")) { 562 if (!psImageBackground(bg, NULL, readout->variance, readout->mask, maskVal | maskBad, rng)) { 563 psError(PPSTACK_ERR_DATA, false, "Can't measure mean variance for image."); 564 psFree(rng); 565 psFree(bg); 566 return false; 567 } 568 options->weightings->data.F32[index] = 1.0 / (psStatsGetValue(bg, PS_STAT_ROBUST_MEDIAN) * 569 psImageCovarianceFactor(readout->covariance)); 570 } else { 571 options->weightings->data.F32[index] = 1.0; 572 } 573 psLogMsg("ppStack", PS_LOG_INFO, "Weighting for image %d is %g covar %g median %g\n", 574 index, options->weightings->data.F32[index],psImageCovarianceFactor(readout->covariance), 575 psStatsGetValue(bg, PS_STAT_ROBUST_MEDIAN)); 533 576 534 577 psFree(rng);
Note:
See TracChangeset
for help on using the changeset viewer.
