Changeset 21374 for trunk/ppSub/src/ppSubVarianceFactors.c
- Timestamp:
- Feb 5, 2009, 5:20:02 PM (17 years ago)
- File:
-
- 1 edited
-
trunk/ppSub/src/ppSubVarianceFactors.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ppSub/src/ppSubVarianceFactors.c
r21360 r21374 6 6 * 7 7 * @author IfA 8 * @version $Revision: 1. 2$ $Name: not supported by cvs2svn $9 * @date $Date: 2009-02-06 0 1:37:17$8 * @version $Revision: 1.3 $ $Name: not supported by cvs2svn $ 9 * @date $Date: 2009-02-06 03:20:02 $ 10 10 * Copyright 2009 Institute for Astronomy, University of Hawaii 11 11 */ … … 40 40 pmSubtractionKernels *kernels = psMetadataLookupPtr(&mdok, outRO->analysis, PM_SUBTRACTION_ANALYSIS_KERNEL); // Kernels 41 41 if (!mdok) { 42 psError(PS_ERR_UNEXPECTED_NULL, true, "Unable to find subtraction kernels.");43 return false;42 psError(PS_ERR_UNEXPECTED_NULL, true, "Unable to find subtraction kernels."); 43 return false; 44 44 } 45 45 46 46 float vfIn = psMetadataLookupF32(NULL, inCell->concepts, "CELL.VARFACTOR"); // Variance factor for input 47 47 if (!isfinite(vfIn)) { 48 vfIn = 1.0;48 vfIn = 1.0; 49 49 } 50 50 float vfRef = psMetadataLookupF32(NULL, refCell->concepts, "CELL.VARFACTOR"); // Variance factor for ref 51 51 if (!isfinite(vfRef)) { 52 vfRef = 1.0;52 vfRef = 1.0; 53 53 } 54 54 55 55 if (kernels->mode == PM_SUBTRACTION_MODE_1) { 56 vfIn *= pmSubtractionVarianceFactor(kernels, 0.0, 0.0, false);56 vfIn *= pmSubtractionVarianceFactor(kernels, 0.0, 0.0, false); 57 57 } 58 58 if (kernels->mode == PM_SUBTRACTION_MODE_2) { 59 vfRef *= pmSubtractionVarianceFactor(kernels, 0.0, 0.0, false);60 } 59 vfRef *= pmSubtractionVarianceFactor(kernels, 0.0, 0.0, false); 60 } 61 61 if (kernels->mode == PM_SUBTRACTION_MODE_DUAL) { 62 vfIn *= pmSubtractionVarianceFactor(kernels, 0.0, 0.0, false);63 vfRef *= pmSubtractionVarianceFactor(kernels, 0.0, 0.0, true);62 vfIn *= pmSubtractionVarianceFactor(kernels, 0.0, 0.0, false); 63 vfRef *= pmSubtractionVarianceFactor(kernels, 0.0, 0.0, true); 64 64 } 65 65 … … 72 72 73 73 // measure the mean of the convolved input variance image 74 if (!psImageBackground(vfStats, NULL, inConv-> weight, inConv->mask, maskVal | maskBad, rng)) {75 psError(PS_ERR_UNKNOWN, false, "Unable to measure mean variance for convolved input");76 psFree(vfStats);77 psFree(rng);78 return false;74 if (!psImageBackground(vfStats, NULL, inConv->variance, inConv->mask, maskVal | maskBad, rng)) { 75 psError(PS_ERR_UNKNOWN, false, "Unable to measure mean variance for convolved input"); 76 psFree(vfStats); 77 psFree(rng); 78 return false; 79 79 } 80 80 float inMeanVar = vfStats->robustMedian; // Mean variance of input 81 81 82 82 // measure the mean of the convolved reference variance image 83 if (!psImageBackground(vfStats, NULL, refConv-> weight, refConv->mask, maskVal | maskBad, rng)) {84 psError(PS_ERR_UNKNOWN, false, "Unable to measure mean variance for convolved reference");85 psFree(vfStats);86 psFree(rng);87 return false;83 if (!psImageBackground(vfStats, NULL, refConv->variance, refConv->mask, maskVal | maskBad, rng)) { 84 psError(PS_ERR_UNKNOWN, false, "Unable to measure mean variance for convolved reference"); 85 psFree(vfStats); 86 psFree(rng); 87 return false; 88 88 } 89 89 float refMeanVar = vfStats->robustMedian; // Mean variance of reference … … 98 98 // Statistics on the matching 99 99 if (stats) { 100 psMetadataCopySingle(stats, outRO->analysis, PM_SUBTRACTION_ANALYSIS_MODE);101 psMetadataCopySingle(stats, outRO->analysis, PM_SUBTRACTION_ANALYSIS_STAMPS);102 psMetadataCopySingle(stats, outRO->analysis, PM_SUBTRACTION_ANALYSIS_DEV_MEAN);103 psMetadataCopySingle(stats, outRO->analysis, PM_SUBTRACTION_ANALYSIS_DEV_RMS);104 psMetadataCopySingle(stats, outRO->analysis, PM_SUBTRACTION_ANALYSIS_NORM);105 psMetadataCopySingle(stats, outRO->analysis, PM_SUBTRACTION_ANALYSIS_BGDIFF);106 psMetadataCopySingle(stats, outRO->analysis, PM_SUBTRACTION_ANALYSIS_MX);107 psMetadataCopySingle(stats, outRO->analysis, PM_SUBTRACTION_ANALYSIS_MY);108 psMetadataCopySingle(stats, outRO->analysis, PM_SUBTRACTION_ANALYSIS_MXX);109 psMetadataCopySingle(stats, outRO->analysis, PM_SUBTRACTION_ANALYSIS_MXY);110 psMetadataCopySingle(stats, outRO->analysis, PM_SUBTRACTION_ANALYSIS_MYY);100 psMetadataCopySingle(stats, outRO->analysis, PM_SUBTRACTION_ANALYSIS_MODE); 101 psMetadataCopySingle(stats, outRO->analysis, PM_SUBTRACTION_ANALYSIS_STAMPS); 102 psMetadataCopySingle(stats, outRO->analysis, PM_SUBTRACTION_ANALYSIS_DEV_MEAN); 103 psMetadataCopySingle(stats, outRO->analysis, PM_SUBTRACTION_ANALYSIS_DEV_RMS); 104 psMetadataCopySingle(stats, outRO->analysis, PM_SUBTRACTION_ANALYSIS_NORM); 105 psMetadataCopySingle(stats, outRO->analysis, PM_SUBTRACTION_ANALYSIS_BGDIFF); 106 psMetadataCopySingle(stats, outRO->analysis, PM_SUBTRACTION_ANALYSIS_MX); 107 psMetadataCopySingle(stats, outRO->analysis, PM_SUBTRACTION_ANALYSIS_MY); 108 psMetadataCopySingle(stats, outRO->analysis, PM_SUBTRACTION_ANALYSIS_MXX); 109 psMetadataCopySingle(stats, outRO->analysis, PM_SUBTRACTION_ANALYSIS_MXY); 110 psMetadataCopySingle(stats, outRO->analysis, PM_SUBTRACTION_ANALYSIS_MYY); 111 111 112 psMetadataAddF32(stats, PS_LIST_TAIL, "TIME_MATCH", 0, "Time to match PSFs",113 psTimerClear("PPSUB_MATCH"));112 psMetadataAddF32(stats, PS_LIST_TAIL, "TIME_MATCH", 0, "Time to match PSFs", 113 psTimerClear("PPSUB_MATCH")); 114 114 } 115 115 116 116 return true; 117 117 }
Note:
See TracChangeset
for help on using the changeset viewer.
