IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jul 16, 2008, 5:36:56 PM (18 years ago)
Author:
Paul Price
Message:

First attempt to switch over to new mask setup.

File:
1 edited

Legend:

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

    r18559 r18591  
    7777    int binning = psMetadataLookupS32(NULL, config->arguments, "SPAM.BINNING"); // Binning for SPAM kernel
    7878    float penalty = psMetadataLookupF32(NULL, config->arguments, "PENALTY"); // Penalty for wideness
    79     psMaskType maskBad = pmConfigMaskGet(psMetadataLookupStr(NULL, config->arguments, "MASK.BAD"),
    80                                     config); // Value to mask
    81     psMaskType maskBlank = pmConfigMaskGet(psMetadataLookupStr(NULL, config->arguments, "MASK.BLANK"),
    82                                         config); // Mask for blank reg.
     79    psMaskType maskIn = pmConfigMaskGet("MASK.VALUE", config); // Bits to mask going in to pmSubtractionMatch
     80    psMaskType maskOut = pmConfigMaskGet("BLANK", config); // Bits to mask after pmSubtractionMatch
    8381    float badFrac = psMetadataLookupF32(NULL, config->arguments, "BADFRAC"); // Maximum bad fraction
    8482    const char *stampsName = psMetadataLookupStr(&mdok, config->arguments, "STAMPS"); // Filename for stamps
     
    115113    }
    116114
    117     if (!pmReadoutMaskNonfinite(inRO, maskBad)) {
     115    if (!pmReadoutMaskNonfinite(inRO, maskIn)) {
    118116        psError(PS_ERR_UNKNOWN, false, "Unable to mask non-finite pixels in input.");
    119117        return false;
    120118    }
    121     if (!pmReadoutMaskNonfinite(refRO, maskBad)) {
     119    if (!pmReadoutMaskNonfinite(refRO, maskIn)) {
    122120        psError(PS_ERR_UNKNOWN, false, "Unable to mask non-finite pixels in reference.");
    123121        return false;
     
    136134    if (!pmSubtractionMatch(inConv, refConv, inRO, refRO, footprint, regionSize, spacing, threshold, sources,
    137135                            stampsName, type, size, order, widths, orders, inner, ringsOrder, binning,
    138                             penalty, optimum, optWidths, optOrder, optThresh, iter, rej, maskBad,
    139                             maskBlank, badFrac, mode)) {
     136                            penalty, optimum, optWidths, optOrder, optThresh, iter, rej, maskIn,
     137                            maskOut, badFrac, mode)) {
    140138        psError(PS_ERR_UNKNOWN, false, "Unable to match images.");
    141139        psFree(inConv);
     
    200198#ifdef TESTING
    201199    {
    202         pmReadoutMaskApply(minuend, maskBlank);
     200        pmReadoutMaskApply(minuend, maskOut);
    203201        psFits *fits = psFitsOpen("minuend.fits", "w");
    204202        psFitsWriteImage(fits, NULL, minuend->image, 0, NULL);
     
    206204    }
    207205    {
    208         pmReadoutMaskApply(subtrahend, maskBlank);
     206        pmReadoutMaskApply(subtrahend, maskOut);
    209207        psFits *fits = psFitsOpen("subtrahend.fits", "w");
    210208        psFitsWriteImage(fits, NULL, subtrahend->image, 0, NULL);
     
    278276    outRO->data_exists = outCell->data_exists = outCell->parent->data_exists = true;
    279277
    280     pmReadoutMaskApply(outRO, maskBlank);
     278    pmReadoutMaskApply(outRO, maskOut);
    281279
    282280    psFree(inConv);
     
    286284    for (int y = 0; y < outRO->image->numRows; y++) {
    287285        for (int x = 0; x < outRO->image->numCols; x++) {
    288             if (isnan(outRO->image->data.F32[y][x]) && !(outRO->mask->data.U8[y][x] & maskBlank)) {
     286            if (isnan(outRO->image->data.F32[y][x]) && !(outRO->mask->data.U8[y][x] & maskOut)) {
    289287                printf("Unmasked NAN at %d %d --> %d\n", x, y, outRO->mask->data.U8[y][x]);
    290288            }
     
    301299    if (renorm) {
    302300        psRandom *rng = psRandomAlloc(PS_RANDOM_TAUS, 0); // Random number generator
    303         if (!pmReadoutWeightRenorm(outRO, maskBlank, PS_STAT_ROBUST_MEDIAN, PS_STAT_ROBUST_STDEV,
     301        if (!pmReadoutWeightRenorm(outRO, maskOut, PS_STAT_ROBUST_MEDIAN, PS_STAT_ROBUST_STDEV,
    304302                                   renormWidth, rng)) {
    305303            psError(PS_ERR_UNKNOWN, false, "Unable to renormalise weights for photometry.");
Note: See TracChangeset for help on using the changeset viewer.