IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 23825 for trunk/ppImage/src


Ignore:
Timestamp:
Apr 11, 2009, 7:49:45 AM (17 years ago)
Author:
eugene
Message:

make it optional to set the mask bits for low and/or sat; renamed bad to low internally

Location:
trunk/ppImage/src
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/ppImage/src/ppImage.h

    r23688 r23825  
    2626    bool doMaskBuild;                   // Build internal mask
    2727    bool doVarianceBuild;               // Build internal variance map
     28    bool doMaskSat;                     // mask saturated pixels
     29    bool doMaskLow;                     // mask low pixels
    2830    bool doMask;                        // Mask bad pixels
    2931    bool doNonLin;                      // Non-linearity correction
     
    6264    psImageMaskType markValue;          // apply this bit-mask to choose masked bits
    6365    psImageMaskType satMask;            // Mask value to give saturated pixels
    64     psImageMaskType badMask;            // Mask value to give bad pixels
     66    psImageMaskType lowMask;            // Mask value to give bad pixels
    6567    psImageMaskType flatMask;           // Mask value to give bad flat pixels
    6668    psImageMaskType blankMask;          // Mask value to give blank pixels
  • trunk/ppImage/src/ppImageDetrendReadout.c

    r23426 r23825  
    1717    // Masking on the basis of pixel value needs to be done before anything else, so the values are pristine.
    1818    if (options->doMaskBuild) {
    19         pmReadoutGenerateMask(input, options->satMask, options->badMask);
     19        psImageMaskType satMask = options->doMaskSat ? options->satMask : 0;
     20        psImageMaskType lowMask = options->doMaskLow ? options->lowMask : 0;
     21        pmReadoutGenerateMask(input, satMask, lowMask);
    2022    }
    2123    // apply the externally supplied mask to the input->mask pixels
     
    7476
    7577    if (options->doRemnance) {
    76         if (!pmRemnance(input, options->maskValue, options->badMask,
     78        if (!pmRemnance(input, options->maskValue, options->lowMask,
    7779                        options->remnanceSize, options->remnanceThresh)) {
    7880            psError(PS_ERR_UNKNOWN, false, "Unable to mask remnance.");
  • trunk/ppImage/src/ppImageOptions.c

    r23411 r23825  
    1919    // actions which ppImage should perform
    2020    options->doMaskBuild     = false;   // Build internal mask
    21     options->doVarianceBuild   = false;   // Build internal variance
     21    options->doMaskSat       = false;   // mask saturated pixels
     22    options->doMaskLow       = false;   // mask low pixels
     23    options->doVarianceBuild = false;   // Build internal variance
    2224    options->doMask          = false;   // Mask bad pixels
    2325    options->doNonLin        = false;   // Non-linearity correction
     
    5456    options->maskValue       = 0x00;    // Default mask value (used to skip / ignore pixels)
    5557    options->satMask         = 0x00;    // Saturated pixels (supplied to pmReadoutGenerateMask)
    56     options->badMask         = 0x00;    // Bad (low) pixels (supplied to pmReadoutGenerateMask)
     58    options->lowMask         = 0x00;    // out-of-bounds (low) pixels (supplied to pmReadoutGenerateMask)
    5759    options->flatMask        = 0x00;    // Bad flat pixels (supplied to pmFlatField)
    5860    options->blankMask       = 0x00;    // Blank (no data, cell gap) pixels (supplied to pmChipMosaic, pmFPAMosaic)
     
    198200    // for these images, even if not required otherwise
    199201    options->doMaskBuild = psMetadataLookupBool(NULL, recipe, "MASK.BUILD");
     202    options->doMaskSat   = psMetadataLookupBool(NULL, recipe, "MASK.SATURATED");
     203    options->doMaskLow   = psMetadataLookupBool(NULL, recipe, "MASK.LOW");
    200204    options->doVarianceBuild = psMetadataLookupBool(NULL, recipe, "VARIANCE.BUILD");
    201205
  • trunk/ppImage/src/ppImageReplaceBackground.c

    r23287 r23825  
    147147            if (!isfinite(value)) {
    148148                image->data.F32[y][x] = NAN;
    149                 mask->data.PS_TYPE_IMAGE_MASK_DATA[y][x] |= options->badMask;
     149                mask->data.PS_TYPE_IMAGE_MASK_DATA[y][x] |= options->lowMask;
    150150            } else {
    151151                image->data.F32[y][x] -= value;
     
    164164                if (!isfinite(value)) {
    165165                    image->data.F32[y][x] = NAN;
    166                     mask->data.PS_TYPE_IMAGE_MASK_DATA[y][x] |= options->badMask;
     166                    mask->data.PS_TYPE_IMAGE_MASK_DATA[y][x] |= options->lowMask;
    167167                } else {
    168168                    image->data.F32[y][x] -= value;
  • trunk/ppImage/src/ppImageSetMaskBits.c

    r23535 r23825  
    2727
    2828    // mask for below-range data  (default to RANGE if not defined)
    29     options->badMask = pmConfigMaskGet("LOW", config);
    30     if (!options->badMask) {
    31         // XXX look up old name for backward compatability
    32         options->badMask = pmConfigMaskGet("BAD", config);
     29    options->lowMask = pmConfigMaskGet("LOW", config);
     30    if (!options->lowMask) {
     31        // look up old name for backward compatability
     32        options->lowMask = pmConfigMaskGet("BAD", config);
    3333    }
    34     psAssert (options->badMask, "low mask not set");
     34    psAssert (options->lowMask, "low mask not set");
    3535
    3636    // save MASK and MARK on the PSPHOT recipe
Note: See TracChangeset for help on using the changeset viewer.