IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 25610


Ignore:
Timestamp:
Sep 27, 2009, 10:51:17 AM (17 years ago)
Author:
eugene
Message:

careful to mark the actual desired aperture

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/20090715/psphot/src/psphotMagnitudes.c

    r25409 r25610  
    7171            PS_ARRAY_ADD_SCALAR(job->args, photMode, PS_TYPE_S32);
    7272            PS_ARRAY_ADD_SCALAR(job->args, maskVal,  PS_TYPE_IMAGE_MASK);
     73            PS_ARRAY_ADD_SCALAR(job->args, markVal,  PS_TYPE_IMAGE_MASK);
    7374            PS_ARRAY_ADD_SCALAR(job->args, 0,        PS_TYPE_S32); // this is used as a return value for nAp
    7475
     
    102103                fprintf (stderr, "error with job\n");
    103104            } else {
    104                 psScalar *scalar = job->args->data[7];
     105                psScalar *scalar = job->args->data[8];
    105106                Nap += scalar->data.S32;
    106107            }
     
    127128    pmSourcePhotometryMode photMode = PS_SCALAR_VALUE(job->args->data[5],S32);
    128129    psImageMaskType maskVal         = PS_SCALAR_VALUE(job->args->data[6],PS_TYPE_IMAGE_MASK_DATA);
     130    psImageMaskType markVal         = PS_SCALAR_VALUE(job->args->data[7],PS_TYPE_IMAGE_MASK_DATA);
    129131
    130132    for (int i = 0; i < sources->n; i++) {
    131133        pmSource *source = (pmSource *) sources->data[i];
    132         status = pmSourceMagnitudes (source, psf, photMode, maskVal);
     134
     135        // replace object in image
     136        if (source->tmpFlags & PM_SOURCE_TMPF_SUBTRACTED) {
     137            pmSourceAdd (source, PM_MODEL_OP_FULL, maskVal);
     138        }
     139
     140        // clear the mask bit and set the circular mask pixels
     141        psImageMaskPixels (source->maskObj, "AND", PS_NOT_IMAGE_MASK(markVal));
     142        psImageKeepCircle (source->maskObj, source->peak->x, source->peak->y, source->apRadius, "OR", markVal);
     143
     144        status = pmSourceMagnitudes (source, psf, photMode, maskVal); // maskVal includes markVal
    133145        if (status && isfinite(source->apMag)) Nap ++;
     146
     147        // clear the mask bit
     148        psImageMaskPixels (source->maskObj, "AND", PS_NOT_IMAGE_MASK(markVal));
     149
     150        // re-subtract the object, leave local sky
     151        pmSourceSub (source, PM_MODEL_OP_FULL, maskVal);
    134152
    135153        if (backModel) {
     
    155173
    156174    // change the value of a scalar on the array (wrap this and put it in psArray.h)
    157     psScalar *scalar = job->args->data[7];
     175    psScalar *scalar = job->args->data[8];
    158176    scalar->data.S32 = Nap;
    159177
Note: See TracChangeset for help on using the changeset viewer.