Changeset 23577 for trunk/ppStack/src/ppStackReadout.c
- Timestamp:
- Mar 27, 2009, 3:08:33 PM (17 years ago)
- File:
-
- 1 edited
-
trunk/ppStack/src/ppStackReadout.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ppStack/src/ppStackReadout.c
r23576 r23577 150 150 151 151 if (!pmStackCombine(outRO, stack, maskVal | maskBad, maskBad, kernelSize, iter, 152 combineRej, combineSys, combineDiscard, true, useVariance, safe )) {152 combineRej, combineSys, combineDiscard, true, useVariance, safe, false)) { 153 153 psError(PS_ERR_UNKNOWN, false, "Unable to combine input readouts with rejection."); 154 154 psFree(stack); … … 196 196 197 197 bool mdok; // Status of MD lookup 198 int iter = psMetadataLookupS32(NULL, recipe, "ITER"); // Rejection iterations 199 float combineRej = psMetadataLookupF32(NULL, recipe, "COMBINE.REJ"); // Combination threshold 200 float combineSys = psMetadataLookupF32(NULL, recipe, "COMBINE.SYS"); // Combination systematic error 201 float combineDiscard = psMetadataLookupF32(NULL, recipe, "COMBINE.DISCARD"); // Olympic discard fraction 198 202 bool useVariance = psMetadataLookupBool(&mdok, recipe, "VARIANCE"); // Use variance for rejection? 203 bool safe = psMetadataLookupBool(&mdok, recipe, "SAFE"); // Be safe when combining small numbers of pixels 199 204 200 205 psString maskValStr = psMetadataLookupStr(NULL, recipe, "MASK.VAL"); // Name of bits to mask going in … … 206 211 psArray *stack = psArrayAlloc(num); // Array for stacking 207 212 208 bool entire = (rejected ? false : true); // Combine entire image? 213 bool entire = true; // Combine entire image? 214 if (rejected) { 215 // We have rejection from a previous combination: combine without flagging pixels to inspect 216 entire = false; 217 safe = false; 218 iter = 0; 219 combineRej = NAN; 220 combineSys = NAN; 221 } 222 209 223 for (int i = 0; i < num; i++) { 210 224 pmReadout *ro = readouts->data[i]; … … 240 254 } 241 255 242 if (!pmStackCombine(outRO, stack, maskVal | maskBad, maskBad, 0, 0, NAN, NAN, NAN, 243 entire, useVariance, false)) { 256 if (!pmStackCombine(outRO, stack, maskVal | maskBad, maskBad, 0, 257 iter, combineRej, combineSys, combineDiscard, 258 entire, useVariance, safe, !rejected)) { 244 259 psError(PS_ERR_UNKNOWN, false, "Unable to combine input readouts."); 245 260 psFree(stack);
Note:
See TracChangeset
for help on using the changeset viewer.
