IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Mar 27, 2006, 4:31:17 PM (20 years ago)
Author:
eugene
Message:

substantial work on the pmFPAfile,view concepts

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psphot/src/psphotSourceFits.c

    r6481 r6715  
    11# include "psphot.h"
    2 # include "psEllipse.h"
    32
    43// given a source with an existing modelPSF, attempt a full PSF fit, subtract if successful
     
    1817
    1918    // fit PSF model (set/unset the pixel mask)
    20     psImageKeepCircle (source->mask, x, y, PSF->radius, "OR", PSPHOT_MASK_MARKED);
     19    psImageKeepCircle (source->mask, x, y, PSF->radius, "OR", PM_SOURCE_MASK_MARKED);
    2120    pmSourceFitModel (source, PSF, true);
    22     psImageKeepCircle (source->mask, x, y, PSF->radius, "AND", ~PSPHOT_MASK_MARKED);
     21    psImageKeepCircle (source->mask, x, y, PSF->radius, "AND", ~PM_SOURCE_MASK_MARKED);
    2322
    2423    // does the PSF model succeed?
     
    2928
    3029    psTrace ("psphot.blend", 5, "fitted as PSF\n");
    31     pmSourceSubModel (source->pixels, source->mask, PSF, false, false);
     30    pmModelSub (source->pixels, source->mask, PSF, false, false);
    3231
    3332    // free old model, save new model
     
    3534    source->modelPSF = PSF;
    3635
    37     source->mode |=  PM_SOURCE_SUBTRACTED;
    38     source->mode &= ~PM_SOURCE_TEMPSUB;
     36    source->mode |=  PM_SOURCE_MODE_SUBTRACTED;
     37    source->mode &= ~PM_SOURCE_MODE_TEMPSUB;
    3938    return true;
    4039}
     
    6766
    6867    // skip the source if we don't think it is extended
    69     if (source->type == PM_SOURCE_UNKNOWN) return false;
    70     if (source->type == PM_SOURCE_DEFECT) return false;
    71     if (source->type == PM_SOURCE_SATURATED) return false;
     68    if (source->type == PM_SOURCE_TYPE_UNKNOWN) return false;
     69    if (source->type == PM_SOURCE_TYPE_DEFECT) return false;
     70    if (source->type == PM_SOURCE_TYPE_SATURATED) return false;
    7271    if (source->moments->SN < EXT_MIN_SN) return false;
    7372
     
    110109    // sub EXT
    111110    psFree (DBL);
    112     pmSourceSubModel (source->pixels, source->mask, EXT, false, false);
     111    pmModelSub (source->pixels, source->mask, EXT, false, false);
    113112    psTrace ("psphot.blend", 5, "blob as EXT: %f %f\n", EXT->params->data.F32[2], EXT->params->data.F32[3]);
    114113
    115114    // save new model
    116115    source->modelEXT = EXT;
    117     source->mode |=  PM_SOURCE_SUBTRACTED;
    118     source->mode &= ~PM_SOURCE_TEMPSUB;
     116    source->mode |=  PM_SOURCE_MODE_SUBTRACTED;
     117    source->mode &= ~PM_SOURCE_MODE_TEMPSUB;
    119118    return true;
    120119
     
    122121    // sub DLB
    123122    psFree (EXT);
    124     pmSourceSubModel (source->pixels, source->mask, (pmModel *) DBL->data[0], false, false);
    125     pmSourceSubModel (source->pixels, source->mask, (pmModel *) DBL->data[1], false, false);
     123    pmModelSub (source->pixels, source->mask, (pmModel *) DBL->data[0], false, false);
     124    pmModelSub (source->pixels, source->mask, (pmModel *) DBL->data[1], false, false);
    126125    psTrace ("psphot.blend", 5, "blob as DBL: %f %f\n", ONE->params->data.F32[2], ONE->params->data.F32[3]);
    127126
     
    129128    psFree (source->modelPSF);
    130129    source->modelPSF = psMemCopy (DBL->data[0]);
    131     source->mode    |= PM_SOURCE_SUBTRACTED;
    132     source->mode    |= PM_SOURCE_PAIR;
    133     source->mode    &= ~PM_SOURCE_TEMPSUB;
     130    source->mode    |= PM_SOURCE_MODE_SUBTRACTED;
     131    source->mode    |= PM_SOURCE_MODE_PAIR;
     132    source->mode    &= ~PM_SOURCE_MODE_TEMPSUB;
    134133
    135134    // copy most data from the primary source (modelEXT, blends stay NULL)
     
    155154    pmModel *DBL;
    156155    pmModel *PSF;
    157     EllipseAxes axes;
    158     EllipseMoments moments;
     156    psEllipseAxes axes;
     157    psEllipseMoments moments;
    159158    psArray *modelSet;
    160159   
     
    163162    moments.y2 = source->moments->Sy;
    164163    moments.xy = source->moments->Sxy;
    165     axes = EllipseMomentsToAxes (moments);
     164    axes = psEllipseMomentsToAxes (moments);
    166165
    167166    dx = 2 * cos (axes.theta);
     
    190189
    191190    // fit EXT (not PSF) model (set/unset the pixel mask)
    192     psImageKeepCircle (source->mask, x, y, PSF->radius, "OR", PSPHOT_MASK_MARKED);
     191    psImageKeepCircle (source->mask, x, y, PSF->radius, "OR", PM_SOURCE_MASK_MARKED);
    193192    pmSourceFitSet (source, modelSet, true);
    194     psImageKeepCircle (source->mask, x, y, PSF->radius, "AND", ~PSPHOT_MASK_MARKED);
     193    psImageKeepCircle (source->mask, x, y, PSF->radius, "AND", ~PM_SOURCE_MASK_MARKED);
    195194
    196195    return (modelSet);
     
    210209
    211210    // fit EXT (not PSF) model (set/unset the pixel mask)
    212     psImageKeepCircle (source->mask, x, y, EXT->radius, "OR", PSPHOT_MASK_MARKED);
     211    psImageKeepCircle (source->mask, x, y, EXT->radius, "OR", PM_SOURCE_MASK_MARKED);
    213212    pmSourceFitModel (source, EXT, false);
    214     psImageKeepCircle (source->mask, x, y, EXT->radius, "AND", ~PSPHOT_MASK_MARKED);
     213    psImageKeepCircle (source->mask, x, y, EXT->radius, "AND", ~PM_SOURCE_MASK_MARKED);
    215214
    216215    return (EXT);
     
    222221
    223222    // if this source is not a possible blend, just fit as PSF
    224     if ((source->blends == NULL) || (source->mode & PM_SOURCE_SATSTAR)) {
     223    if ((source->blends == NULL) || (source->mode & PM_SOURCE_MODE_SATSTAR)) {
    225224        bool status = psphotFitPSF (readout, source);
    226225        return status;
     
    273272
    274273    // fit PSF model (set/unset the pixel mask)
    275     psImageKeepCircle (source->mask, x, y, PSF->radius, "OR", PSPHOT_MASK_MARKED);
     274    psImageKeepCircle (source->mask, x, y, PSF->radius, "OR", PM_SOURCE_MASK_MARKED);
    276275    pmSourceFitSet (source, modelSet, true);
    277     psImageKeepCircle (source->mask, x, y, PSF->radius, "AND", ~PSPHOT_MASK_MARKED);
     276    psImageKeepCircle (source->mask, x, y, PSF->radius, "AND", ~PM_SOURCE_MASK_MARKED);
    278277
    279278    // evaluate the blend objects, subtract if good, free otherwise
     
    291290
    292291        psTrace ("psphot.blend", 5, "fitted blend as PSF\n");
    293         pmSourceSubModel (source->pixels, source->mask, model, false, false);
    294         src->mode |=  PM_SOURCE_SUBTRACTED;
    295         src->mode &= ~PM_SOURCE_TEMPSUB;
     292        pmModelSub (source->pixels, source->mask, model, false, false);
     293        src->mode |=  PM_SOURCE_MODE_SUBTRACTED;
     294        src->mode &= ~PM_SOURCE_MODE_TEMPSUB;
    296295    }
    297296    psFree (modelSet);
     
    305304
    306305    psTrace ("psphot.blend", 5, "fitted primary as PSF\n");
    307     pmSourceSubModel (source->pixels, source->mask, PSF, false, false);
     306    pmModelSub (source->pixels, source->mask, PSF, false, false);
    308307    psFree (source->modelPSF);
    309308    source->modelPSF = PSF;
    310     source->mode |=  PM_SOURCE_SUBTRACTED;
    311     source->mode &= ~PM_SOURCE_TEMPSUB;
    312     return true;
    313 }
     309    source->mode |=  PM_SOURCE_MODE_SUBTRACTED;
     310    source->mode &= ~PM_SOURCE_MODE_TEMPSUB;
     311    return true;
     312}
Note: See TracChangeset for help on using the changeset viewer.