Changeset 19172 for trunk/ppStack/src/ppStackMatch.c
- Timestamp:
- Aug 22, 2008, 2:05:48 PM (18 years ago)
- File:
-
- 1 edited
-
trunk/ppStack/src/ppStackMatch.c (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ppStack/src/ppStackMatch.c
r19123 r19172 34 34 int size = psMetadataLookupS32(NULL, ppsub, "KERNEL.SIZE"); // Kernel half-size 35 35 36 psMaskType maskIn = pmConfigMaskGet("MASK.VALUE", config); // Bits to mask going in to pmSubtractionMatch 37 psMaskType maskOut = pmConfigMaskGet("BLANK", config); // Bits to mask after pmSubtractionMatch 36 psString maskValStr = psMetadataLookupStr(NULL, recipe, "MASK.VAL"); // Name of bits to mask going in 37 psMaskType maskVal = pmConfigMaskGet(maskValStr, config); // Bits to mask going in to pmSubtractionMatch 38 psString maskPoorStr = psMetadataLookupStr(NULL, recipe, "MASK.POOR"); // Name of bits to mask for poor 39 psMaskType maskPoor = pmConfigMaskGet(maskPoorStr, config); // Bits to mask for poor pixels 40 psString maskBadStr = psMetadataLookupStr(NULL, recipe, "MASK.BAD"); // Name of bits to mask for bad 41 psMaskType maskBad = pmConfigMaskGet(maskBadStr, config); // Bits to mask for bad pixels 38 42 39 43 bool mdok; // Status of MD lookup … … 45 49 int threads = psMetadataLookupS32(NULL, config->arguments, "-threads"); // Number of threads 46 50 47 if (!pmReadoutMaskNonfinite(readout, mask In)) {51 if (!pmReadoutMaskNonfinite(readout, maskVal)) { 48 52 psError(PS_ERR_UNKNOWN, false, "Unable to mask non-finite pixels in readout."); 49 53 return false; … … 75 79 float optThresh = psMetadataLookupF32(&mdok, ppsub, "OPTIMUM.TOL"); // Tolerance for search 76 80 int optOrder = psMetadataLookupS32(&mdok, ppsub, "OPTIMUM.ORDER"); // Order for search 81 float poorFrac = psMetadataLookupF32(&mdok, ppsub, "POOR.FRACTION"); // Fraction for "poor" 77 82 78 83 // These values are specified specifically for stacking … … 87 92 { 88 93 psStats *bg = psStatsAlloc(PS_STAT_ROBUST_MEDIAN | PS_STAT_ROBUST_STDEV); // Statistics for bg 89 if (!psImageBackground(bg, NULL, readout->image, readout->mask, mask In, rng)) {94 if (!psImageBackground(bg, NULL, readout->image, readout->mask, maskVal, rng)) { 90 95 psWarning("Can't measure background for image."); 91 96 psErrorClear(); … … 136 141 sources, stampsName, type, size, order, widths, orders, inner, ringsOrder, 137 142 binning, penalty, optimum, optWidths, optOrder, optThresh, iter, rej, 138 mask In, maskOut, badFrac, PM_SUBTRACTION_MODE_1)) {143 maskVal, maskBad, maskPoor, poorFrac, badFrac, PM_SUBTRACTION_MODE_1)) { 139 144 psError(PS_ERR_UNKNOWN, false, "Unable to match images."); 140 145 psFree(fake); … … 226 231 if (renorm) { 227 232 psLogMsg("ppStack", PS_LOG_INFO, "Renormalising variance map."); 228 if (!pmReadoutWeightRenorm(readout, mask Out, renormMean, renormStdev, renormWidth, rng)) {233 if (!pmReadoutWeightRenorm(readout, maskBad, renormMean, renormStdev, renormWidth, rng)) { 229 234 psError(PS_ERR_UNKNOWN, false, "Unable to renormalise variances."); 230 235 psFree(output); … … 235 240 // Ensure the background value is zero 236 241 psStats *bg = psStatsAlloc(PS_STAT_ROBUST_MEDIAN | PS_STAT_ROBUST_STDEV); // Statistics for background 237 if (!psImageBackground(bg, NULL, readout->image, readout->mask, mask Out, rng)) {242 if (!psImageBackground(bg, NULL, readout->image, readout->mask, maskVal | maskBad, rng)) { 238 243 psWarning("Can't measure background for image."); 239 244 psErrorClear();
Note:
See TracChangeset
for help on using the changeset viewer.
