IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 27155


Ignore:
Timestamp:
Mar 3, 2010, 1:17:26 PM (16 years ago)
Author:
Paul Price
Message:

Mask should be interpreted bitwise.

File:
1 edited

Legend:

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

    r27075 r27155  
    1818    psString summary = NULL;        // Summary of images
    1919    for (int i = 0; i < options->num; i++) {
    20         char *reason;               // Reason for rejecting
    21         switch (options->inputMask->data.PS_TYPE_VECTOR_MASK_DATA[i]) {
    22           case PPSTACK_MASK_NONE:
    23             reason = "Good";
     20        psString reason = NULL;         // Reason for rejecting
     21        if (options->inputMask->data.PS_TYPE_VECTOR_MASK_DATA[i] == 0) {
     22            psStringAppend(&reason, " Good.");
    2423            numGood++;
    25             break;
    26           case PPSTACK_MASK_CAL:
    27             reason = "Calibration failed";
    28             break;
    29           case PPSTACK_MASK_PSF:
    30             reason = "PSF measurement failed";
    31             break;
    32           case PPSTACK_MASK_MATCH:
    33             reason = "PSF matching failed";
    34             break;
    35           case PPSTACK_MASK_CHI2:
    36             reason = "PSF matching chi^2 deviant";
    37             break;
    38           case PPSTACK_MASK_REJECT:
    39             reason = "Rejection exceeded threshold";
    40             break;
    41           default:
    42             psAbort("Unrecognised mask value: %x", options->inputMask->data.PS_TYPE_VECTOR_MASK_DATA[i]);
     24        } else {
     25            if (options->inputMask->data.PS_TYPE_VECTOR_MASK_DATA[i] & PPSTACK_MASK_CAL) {
     26                psStringAppend(&reason, " Calibration failed.");
     27            }
     28            if (options->inputMask->data.PS_TYPE_VECTOR_MASK_DATA[i] & PPSTACK_MASK_PSF) {
     29                psStringAppend(&reason, " PSF measurement failed.");
     30            }
     31            if (options->inputMask->data.PS_TYPE_VECTOR_MASK_DATA[i] & PPSTACK_MASK_MATCH) {
     32                psStringAppend(&reason, " PSF matching failed.");
     33            }
     34            if (options->inputMask->data.PS_TYPE_VECTOR_MASK_DATA[i] & PPSTACK_MASK_CHI2) {
     35                psStringAppend(&reason, " PSF matching chi^2 deviant.");
     36            }
     37            if (options->inputMask->data.PS_TYPE_VECTOR_MASK_DATA[i] & PPSTACK_MASK_REJECT) {
     38                psStringAppend(&reason, " Rejection exceeded threshold.");
     39            }
    4340        }
    4441        psStringAppend(&summary, "Image %d: %s\n", i, reason);
     42        psFree(reason);
    4543    }
    4644    psLogMsg("ppStack", PS_LOG_INFO, "Summary of images for %s:\n%s", place, summary);
Note: See TracChangeset for help on using the changeset viewer.