IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Oct 25, 2010, 3:22:33 PM (16 years ago)
Author:
eugene
Message:

merge changes from eam_branches/ipp-20100823

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ppStack/src/ppStackReadout.c

    r27427 r29552  
    130130    int kernelSize = psMetadataLookupS32(NULL, ppsub, "KERNEL.SIZE"); // Kernel half-size
    131131
    132     psString maskValStr = psMetadataLookupStr(NULL, recipe, "MASK.VAL"); // Name of bits to mask going in
    133     psImageMaskType maskVal = pmConfigMaskGet(maskValStr, config); // Bits to mask going in to pmSubtractionMatch
     132    psString maskBadStr = psMetadataLookupStr(NULL, recipe, "MASK.VAL"); // Name of bits to mask for bad
     133    psImageMaskType maskBad = pmConfigMaskGet(maskBadStr, config); // Bits to mask for bad pixels
     134
    134135    psString maskSuspectStr = psMetadataLookupStr(NULL, recipe, "MASK.SUSPECT"); // Name of suspect mask bits
    135136    psImageMaskType maskSuspect = pmConfigMaskGet(maskSuspectStr, config); // Suspect bits
    136     psString maskBadStr = psMetadataLookupStr(NULL, recipe, "MASK.BAD"); // Name of bits to mask for bad
    137     psImageMaskType maskBad = pmConfigMaskGet(maskBadStr, config); // Bits to mask for bad pixels
     137
     138    bool status = false;
     139    psImageMaskType maskBlank;
     140    psString maskBlankStr = psMetadataLookupStr(&status, recipe, "MASK.BLANK"); // Name of bits to set for empty pixels
     141    if (maskBlankStr) {
     142      maskBlank = pmConfigMaskGet(maskBlankStr, config); // Bits to mask for bad pixels
     143    } else {
     144      maskBlankStr = psMetadataLookupStr(&status, recipe, "MASK.BAD"); // Old name for MASK.BLANK
     145      if (maskBlankStr) {
     146        maskBlank = pmConfigMaskGet(maskBlankStr, config); // Bits to mask for bad pixels
     147      } else {
     148        maskBlank = pmConfigMaskGet("BLANK", config); // Bits to mask for bad pixels
     149      }
     150    }
    138151
    139152    int num = readouts->n;              // Number of inputs
     
    157170    }
    158171
    159     if (!pmStackCombine(outRO, NULL, stack, maskVal | maskBad, maskSuspect, maskBad, kernelSize, iter,
     172    if (!pmStackCombine(outRO, NULL, stack, maskBad, maskSuspect, maskBlank, kernelSize, iter,
    160173                        combineRej, combineSys, combineDiscard, useVariance, safe, false)) {
    161174        psError(PS_ERR_UNKNOWN, false, "Unable to combine input readouts with rejection.");
     
    215228    bool safe = psMetadataLookupBool(&mdok, recipe, "SAFE"); // Be safe when combining small numbers of pixels
    216229
    217     psString maskValStr = psMetadataLookupStr(NULL, recipe, "MASK.VAL"); // Name of bits to mask going in
    218     psImageMaskType maskVal = pmConfigMaskGet(maskValStr, config); // Bits to mask going in to pmSubtractionMatch
     230    psString maskBadStr = psMetadataLookupStr(NULL, recipe, "MASK.VAL"); // Name of bits to mask for bad
     231    psImageMaskType maskBad = pmConfigMaskGet(maskBadStr, config); // Bits to mask for bad pixels
     232
    219233    psString maskSuspectStr = psMetadataLookupStr(NULL, recipe, "MASK.SUSPECT"); // Name of suspect mask bits
    220234    psImageMaskType maskSuspect = pmConfigMaskGet(maskSuspectStr, config); // Suspect bits
    221     psString maskBadStr = psMetadataLookupStr(NULL, recipe, "MASK.BAD"); // Name of bits to mask for bad
    222     psImageMaskType maskBad = pmConfigMaskGet(maskBadStr, config); // Bits to mask for bad pixels
     235
     236    bool status = false;
     237    psImageMaskType maskBlank;
     238    psString maskBlankStr = psMetadataLookupStr(&status, recipe, "MASK.BLANK"); // Name of bits to set for empty pixels
     239    if (maskBlankStr) {
     240      maskBlank = pmConfigMaskGet(maskBlankStr, config); // Bits to mask for bad pixels
     241    } else {
     242      maskBlankStr = psMetadataLookupStr(&status, recipe, "MASK.BAD"); // Old name for MASK.BLANK
     243      if (maskBlankStr) {
     244        maskBlank = pmConfigMaskGet(maskBlankStr, config); // Bits to mask for bad pixels
     245      } else {
     246        maskBlank = pmConfigMaskGet("BLANK", config); // Bits to mask for bad pixels
     247      }
     248    }
    223249
    224250    int num = readouts->n;              // Number of inputs
     
    257283    }
    258284
    259     if (!pmStackCombine(outRO, expRO, stack, maskVal | maskBad, maskSuspect, maskBad, 0, iter, combineRej,
     285    if (!pmStackCombine(outRO, expRO, stack, maskBad, maskSuspect, maskBlank, 0, iter, combineRej,
    260286                        combineSys, combineDiscard, useVariance, safe, rejected)) {
    261287        psError(PS_ERR_UNKNOWN, false, "Unable to combine input readouts.");
Note: See TracChangeset for help on using the changeset viewer.