- Timestamp:
- Oct 15, 2021, 8:20:12 AM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/ppStack.20211015/src/ppStackReadout.c
r41841 r41842 68 68 psVector *addVariance = options->matchChi2; // Additional variance when rejecting 69 69 70 job->results = ppStackReadoutInitial(config, outRO, thread->readouts, mask, 71 weightings, exposures, addVariance); 70 job->results = ppStackReadoutInitial(config, outRO, thread->readouts, mask, weightings, exposures, addVariance); 72 71 thread->busy = false; 73 72 … … 340 339 } 341 340 342 psArray *ppStackReadoutPercent(const pmConfig *config, pmReadout *outRO, const psArray *readouts, 341 bool pmStackCombineByPercentile(pmReadout *outRO, psArray *stack, float minRange, float maxRange, psImageMaskType maskBad, psImageMaskType maskSuspect, psImageMaskType maskBlank); 342 343 bool ppStackReadoutPercent(const pmConfig *config, pmReadout *outRO, const psArray *readouts, 343 344 const psVector *mask, const psVector *weightings, const psVector *exposures, 344 345 const psVector *addVariance) … … 357 358 358 359 bool mdok; // Status of MD lookup 359 float iter = psMetadataLookupF32(NULL, recipe, "COMBINE.ITER"); // Rejection iterations 360 float minRange = psMetadataLookupF32(NULL, recipe, "COMBINE.MIN.RANGE"); // Combination threshold 361 float maxRange = psMetadataLookupF32(NULL, recipe, "COMBINE.MAX.RANGE"); // Combination threshold 362 363 psMetadata *ppsub = psMetadataLookupMetadata(NULL, config->recipes, "PPSUB"); // PPSUB recipe 364 int kernelSize = psMetadataLookupS32(NULL, ppsub, "KERNEL.SIZE"); // Kernel half-size 365 366 psString maskBadStr = psMetadataLookupStr(NULL, recipe, "MASK.VAL"); // Name of bits to mask for bad 367 psImageMaskType maskBad = pmConfigMaskGet(maskBadStr, config); // Bits to mask for bad pixels 368 369 psString maskSuspectStr = psMetadataLookupStr(NULL, recipe, "MASK.SUSPECT"); // Name of suspect mask bits 360 float minRange = psMetadataLookupF32(&mdok, recipe, "COMBINE.MIN.RANGE"); // Combination threshold 361 float maxRange = psMetadataLookupF32(&mdok, recipe, "COMBINE.MAX.RANGE"); // Combination threshold 362 363 char defaultBlankStr[16] = "BLANK"; 364 365 psString maskBadStr = psMetadataLookupStr(&mdok, recipe, "MASK.VAL"); // Name of bits to mask for bad 366 psString maskSuspectStr = psMetadataLookupStr(&mdok, recipe, "MASK.SUSPECT"); // Name of suspect mask bits 367 psString maskBlankStr = psMetadataLookupStr(&mdok, recipe, "MASK.BLANK"); // Name of bits to set for empty pixels 368 if (!maskBlankStr) { 369 maskBlankStr = psMetadataLookupStr(&mdok, recipe, "MASK.BAD"); // Old name for MASK.BLANK 370 } 371 if (!maskBlankStr) { 372 maskBlankStr = defaultBlankStr; // this is statically allocated above 373 } 374 375 psImageMaskType maskBad = pmConfigMaskGet(maskBadStr, config); // Bits to mask for bad pixels 370 376 psImageMaskType maskSuspect = pmConfigMaskGet(maskSuspectStr, config); // Suspect bits 371 372 bool status = false; 373 psImageMaskType maskBlank; 374 psString maskBlankStr = psMetadataLookupStr(&status, recipe, "MASK.BLANK"); // Name of bits to set for empty pixels 375 if (maskBlankStr) { 376 maskBlank = pmConfigMaskGet(maskBlankStr, config); // Bits to mask for bad pixels 377 } else { 378 maskBlankStr = psMetadataLookupStr(&status, recipe, "MASK.BAD"); // Old name for MASK.BLANK 379 if (maskBlankStr) { 380 maskBlank = pmConfigMaskGet(maskBlankStr, config); // Bits to mask for bad pixels 381 } else { 382 maskBlank = pmConfigMaskGet("BLANK", config); // Bits to mask for bad pixels 383 } 384 } 377 psImageMaskType maskBlank = pmConfigMaskGet(maskBlankStr, config); // Bits to mask for bad pixels 385 378 386 379 int num = readouts->n; // Number of inputs … … 412 405 sectionNum++; 413 406 414 psArray *results = psArrayAlloc(2); // Array of results 415 results->data[0] = inspect; 416 results->data[1] = reject; 417 418 return results; 419 } 420 421 407 return true; 408 } 409 410
Note:
See TracChangeset
for help on using the changeset viewer.
