IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 13593 for trunk/ppSub/src


Ignore:
Timestamp:
Jun 1, 2007, 6:16:29 PM (19 years ago)
Author:
Paul Price
Message:

Updating high-level programs to use symbolic names for mask values in the recipes.

Location:
trunk/ppSub/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/ppSub/src/ppSubArguments.c

    r13509 r13593  
    5757    } \
    5858    psMetadataAdd##TYPE(config->arguments, PS_LIST_TAIL, RECIPENAME, 0, NULL, value); \
     59}
     60
     61// Get a mask value from the command-line or recipe, and add it to the arguments
     62#define VALUE_ARG_RECIPE_MASK(ARGNAME, RECIPENAME) { \
     63    bool mdok; \
     64    const char *name = psMetadataLookupStr(&mdok, arguments, ARGNAME); \
     65    if (!mdok || !name || strlen(name) == 0) { \
     66        name = psMetadataLookupStr(NULL, recipe, RECIPENAME); \
     67        if (!name) { \
     68            psError(PS_ERR_BAD_PARAMETER_VALUE, true, "Unable to find %s in recipe %s", \
     69                RECIPENAME, PPSUB_RECIPE); \
     70            goto ERROR; \
     71        } \
     72    } \
     73    psMaskType value = pmConfigMask(name, config); \
     74    psMetadataAddU8(config->arguments, PS_LIST_TAIL, RECIPENAME, 0, NULL, value); \
    5975}
    6076
     
    200216    VALUE_ARG_RECIPE_INT("-iter",        "ITER",            S32, 0);
    201217    VALUE_ARG_RECIPE_FLOAT("-rej",       "REJ",             F32);
    202     VALUE_ARG_RECIPE_INT("-mask-bad",    "MASK.BAD",        U8, 0);
    203     VALUE_ARG_RECIPE_INT("-mask-blank",  "MASK.BLANK",      U8, 0);
     218    VALUE_ARG_RECIPE_MASK("-mask-bad",   "MASK.BAD");
     219    VALUE_ARG_RECIPE_MASK("-mask-blank", "MASK.BLANK");
    204220
    205221    vectorArgRecipe(config, arguments, "-isis-widths", recipe, "ISIS.WIDTHS", config->arguments, PS_TYPE_F32);
  • trunk/ppSub/src/ppSubReadout.c

    r13508 r13593  
    4242    psMaskType maskBlank = psMetadataLookupU8(NULL, config->arguments, "MASK.BLANK"); // Mask for blank reg.
    4343
    44     if (!inRO->mask && !pmReadoutGenerateMask(inRO)) {
     44    psMaskType maskSat = pmConfigMask("SAT", config); // Mask for saturated pixels
     45    psMaskType maskLow = pmConfigMask("BAD", config); // Mask for bad (low) pixels
     46
     47    if (!inRO->mask && !pmReadoutGenerateMask(inRO, maskSat, maskLow)) {
    4548        psError(PS_ERR_UNKNOWN, false, "Unable to generate mask for input image");
    4649        return false;
     
    5053        return false;
    5154    }
    52     if (!refRO->mask && !pmReadoutGenerateMask(refRO)) {
     55    if (!refRO->mask && !pmReadoutGenerateMask(refRO, maskSat, maskLow)) {
    5356        psError(PS_ERR_UNKNOWN, false, "Unable to generate mask for reference image");
    5457        return false;
Note: See TracChangeset for help on using the changeset viewer.