Changeset 21477 for trunk/ppStack/src/ppStackLoop.c
- Timestamp:
- Feb 13, 2009, 1:53:56 PM (17 years ago)
- File:
-
- 1 edited
-
trunk/ppStack/src/ppStackLoop.c (modified) (16 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ppStack/src/ppStackLoop.c
r21376 r21477 480 480 psMetadataAddF32(stats, PS_LIST_TAIL, "STAMP.NUM", PS_META_DUPLICATE_OK, 481 481 "Number of stamps", kernels->numStamps); 482 482 psMetadataAddF32(stats, PS_LIST_TAIL, "PPSTACK.WEIGHTING", PS_META_DUPLICATE_OK, 483 "Weighting for image", weightings->data.F32[i]); 483 484 } 484 485 psLogMsg("ppStack", PS_LOG_INFO, "Time to match image %d: %f sec", i, psTimerClear("PPSTACK_MATCH")); … … 495 496 writeImage(maskNames->data[i], maskHeader, readout->mask, config); 496 497 psFree(maskHeader); 498 psImageCovarianceTransfer(readout->variance, readout->covariance); 497 499 writeImage(varianceNames->data[i], hdu->header, readout->variance, config); 500 #ifdef TESTING 501 { 502 psString name = NULL; 503 psStringAppend(&name, "covariance_%d.fits", i); 504 writeImage(name, hdu->header, readout->covariance->image, config); 505 psFree(name); 506 } 507 #endif 498 508 499 509 pmCell *inCell = readout->parent; // Input cell … … 605 615 i, matchChi2->data.F32[i]); 606 616 } else { 617 psLogMsg("ppStack", PS_LOG_INFO, "Image %d has matching chi^2: %f", 618 i, matchChi2->data.F32[i]); 607 619 numGood++; 608 620 } … … 630 642 // Start threading 631 643 ppStackThreadInit(); 632 ppStackThreadData *stack = ppStackThreadDataSetup(cells, imageNames, maskNames, varianceNames, config); 644 ppStackThreadData *stack = ppStackThreadDataSetup(cells, imageNames, maskNames, varianceNames, 645 covariances, config); 633 646 if (!stack) { 634 647 psError(PS_ERR_IO, false, "Unable to initialise stack threads."); … … 729 742 psArrayAdd(job->args, 1, config); 730 743 psArrayAdd(job->args, 1, outRO); 731 psArrayAdd(job->args, 1, subRegions); 732 psArrayAdd(job->args, 1, subKernels); 744 psArrayAdd(job->args, 1, inputMask); 733 745 psArrayAdd(job->args, 1, weightings); 734 746 psArrayAdd(job->args, 1, matchChi2); … … 761 773 return false; 762 774 } 763 psFree(matchChi2);764 775 765 776 // Harvest the jobs, gathering the inspection lists … … 787 798 memDump("initial"); 788 799 } 800 801 #ifdef TESTING 802 writeImage("combined_initial.fits", NULL, outRO->image, config); 803 #endif 789 804 790 805 if (stats) { … … 828 843 psFree(rejected); 829 844 psFree(covariances); 845 psFree(matchChi2); 830 846 return false; 831 847 } … … 844 860 psFree(rejected); 845 861 psFree(covariances); 862 psFree(matchChi2); 846 863 return false; 847 864 } … … 939 956 psFree(outRO); 940 957 psFree(covariances); 958 psFree(matchChi2); 941 959 return false; 942 960 } … … 969 987 psFree(outRO); 970 988 psFree(covariances); 989 psFree(matchChi2); 971 990 return false; 972 991 } … … 981 1000 psArrayAdd(job->args, 1, config); 982 1001 psArrayAdd(job->args, 1, outRO); 1002 psArrayAdd(job->args, 1, inputMask); 983 1003 psArrayAdd(job->args, 1, rejected); 984 1004 psArrayAdd(job->args, 1, weightings); 1005 psArrayAdd(job->args, 1, matchChi2); 985 1006 if (!psThreadJobAddPending(job)) { 986 1007 psFree(job); … … 991 1012 psFree(outRO); 992 1013 psFree(covariances); 1014 psFree(matchChi2); 993 1015 return false; 994 1016 } … … 1004 1026 psFree(outRO); 1005 1027 psFree(covariances); 1028 psFree(matchChi2); 1006 1029 return false; 1007 1030 } … … 1009 1032 1010 1033 memDump("final"); 1034 1035 #ifdef TESTING 1036 writeImage("combined_final.fits", NULL, outRO->image, config); 1037 #endif 1011 1038 1012 1039 // Sum covariance matrices … … 1019 1046 outRO->covariance = psImageCovarianceSum(covariances); 1020 1047 psFree(covariances); 1048 psFree(matchChi2); 1021 1049 1022 1050 if (stats) {
Note:
See TracChangeset
for help on using the changeset viewer.
