IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jun 8, 2012, 6:32:36 AM (14 years ago)
Author:
eugene
Message:

ifdef-ed out all modelVar related code from recent updates. turn on or off with pmModel.h HAVE_MODEL_VAR

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psModules/src/objects/pmSourcePhotometry.c

    r33963 r33993  
    899899}
    900900
     901# if (HAVE_MODEL_VAR)
    901902double pmSourceModelWeight(const pmSource *Mi, int term, const pmSourceFitVarMode fitVarMode, const float covarFactor, psImageMaskType maskVal)
     903# else
     904double pmSourceModelWeight(const pmSource *Mi, int term, const bool unweighted_sum, const float covarFactor, psImageMaskType maskVal)
     905# endif
    902906{
    903907    PS_ASSERT_PTR_NON_NULL(Mi, NAN);
     908# if (HAVE_MODEL_VAR)
    904909    double flux = 0, wt = 1.0, factor = 0;
     910# else
     911    double flux = 0, wt = 0, factor = 0;
     912# endif
    905913
    906914    const psImage *Pi = Mi->modelFlux;
    907915    assert (Pi != NULL);
    908916
     917# if (HAVE_MODEL_VAR)
    909918    const psImage *Wi = NULL;
    910919    switch (fitVarMode) {
     
    922931        psAbort("programming error");
    923932    }   
    924 
     933# else
     934    const psImage *Wi = Mi->variance;
     935    if (!unweighted_sum) {
     936        assert (Wi != NULL);
     937    }
     938# endif
    925939    const psImage *Ti = Mi->maskObj;
    926940    assert (Ti != NULL);
     
    928942    for (int yi = 0; yi < Pi->numRows; yi++) {
    929943        for (int xi = 0; xi < Pi->numCols; xi++) {
    930             if (Ti->data.PS_TYPE_IMAGE_MASK_DATA[yi][xi] & maskVal) continue;
     944            if (Ti->data.PS_TYPE_IMAGE_MASK_DATA[yi][xi] & maskVal)
     945                continue;
     946# if (HAVE_MODEL_VAR)
    931947            if (fitVarMode != PM_SOURCE_PHOTFIT_CONST) {
    932948                wt = covarFactor * Wi->data.F32[yi][xi];
    933949                if (wt == 0) continue;
    934950            }
     951# else
     952            if (!unweighted_sum) {
     953                wt = covarFactor * Wi->data.F32[yi][xi];
     954                if (wt == 0)
     955                    continue;
     956            }
     957# endif
    935958
    936959            switch (term) {
     
    948971            }
    949972
     973# if (HAVE_MODEL_VAR)
    950974            // wt is 1.0 for CONST
    951975            flux += (factor * Pi->data.F32[yi][xi]) / wt;
     976# else
     977            if (unweighted_sum) {
     978                flux += (factor * Pi->data.F32[yi][xi]);
     979            } else {
     980                flux += (factor * Pi->data.F32[yi][xi]) / wt;
     981            }
     982# endif
    952983        }
    953984    }
     
    955986}
    956987
     988# if (HAVE_MODEL_VAR)
    957989double pmSourceModelDotModel (const pmSource *Mi, const pmSource *Mj, const pmSourceFitVarMode fitVarMode, const float covarFactor, psImageMaskType maskVal)
     990# else
     991double pmSourceModelDotModel (const pmSource *Mi, const pmSource *Mj, const bool unweighted_sum, const float covarFactor, psImageMaskType maskVal)
     992# endif
    958993{
    959994    PS_ASSERT_PTR_NON_NULL(Mi, NAN);
     
    963998    int xIs, xJs, yIs, yJs;
    964999    int xIe, yIe;
     1000# if (HAVE_MODEL_VAR)
    9651001    double flux;
    9661002    double wt = 1.0;
     1003# else
     1004    double flux, wt;
     1005# endif
    9671006
    9681007    const psImage *Pi = Mi->modelFlux;
     
    9711010    assert (Pj != NULL);
    9721011
     1012# if (HAVE_MODEL_VAR)
    9731013    const psImage *Wi = NULL;
    9741014    switch (fitVarMode) {
     
    9861026        psAbort("programming error");
    9871027    }   
     1028# else
     1029    const psImage *Wi = Mi->variance;
     1030    if (!unweighted_sum) {
     1031        assert (Wi != NULL);
     1032    }
     1033# endif
    9881034
    9891035    const psImage *Ti = Mi->maskObj;
     
    10151061                continue;
    10161062
     1063# if (HAVE_MODEL_VAR)
    10171064            float value = (Pi->data.F32[yi][xi] * Pj->data.F32[yj][xj]);
    10181065            switch (fitVarMode) {
     
    10311078
    10321079            flux += value / wt;
     1080# else
     1081            // XXX skip the nonsense weight pixels?
     1082            if (unweighted_sum) {
     1083                flux += (Pi->data.F32[yi][xi] * Pj->data.F32[yj][xj]);
     1084            } else {
     1085                wt = covarFactor * Wi->data.F32[yi][xi];
     1086                if (wt > 0) {
     1087                    flux += (Pi->data.F32[yi][xi] * Pj->data.F32[yj][xj]) / wt;
     1088                }
     1089            }
     1090# endif
    10331091        }
    10341092    }
     
    10361094}
    10371095
     1096# if (HAVE_MODEL_VAR)
    10381097double pmSourceDataDotModel (const pmSource *Mi, const pmSource *Mj, const pmSourceFitVarMode fitVarMode, const float covarFactor, psImageMaskType maskVal)
     1098# else
     1099double pmSourceDataDotModel (const pmSource *Mi, const pmSource *Mj, const bool unweighted_sum, const float covarFactor, psImageMaskType maskVal)
     1100# endif
    10391101{
    10401102    PS_ASSERT_PTR_NON_NULL(Mi, NAN);
     
    10441106    int xIs, xJs, yIs, yJs;
    10451107    int xIe, yIe;
     1108# if (HAVE_MODEL_VAR)
    10461109    double flux;
    10471110    double wt = 1.0;
     1111# else
     1112    double flux, wt;
     1113# endif
    10481114
    10491115    const psImage *Pi = Mi->pixels;
     
    10521118    assert (Pj != NULL);
    10531119
     1120# if (HAVE_MODEL_VAR)
    10541121    const psImage *Wi = NULL;
    10551122    switch (fitVarMode) {
     
    10671134        psAbort("programming error");
    10681135    }   
     1136# else
     1137    const psImage *Wi = Mi->variance;
     1138    if (!unweighted_sum) {
     1139        assert (Wi != NULL);
     1140    }
     1141# endif
    10691142
    10701143    const psImage *Ti = Mi->maskObj;
     
    10961169                continue;
    10971170
     1171# if (HAVE_MODEL_VAR)
    10981172            float value = (Pi->data.F32[yi][xi] * Pj->data.F32[yj][xj]);
    10991173            switch (fitVarMode) {
     
    11131187            flux += value / wt;
    11141188
     1189# else
     1190            // XXX skip the nonsense weight pixels?
     1191            if (unweighted_sum) {
     1192                flux += (Pi->data.F32[yi][xi] * Pj->data.F32[yj][xj]);
     1193            } else {
     1194                wt = covarFactor * Wi->data.F32[yi][xi];
     1195                if (wt > 0) {
     1196                    flux += (Pi->data.F32[yi][xi] * Pj->data.F32[yj][xj]) / wt;
     1197                }
     1198            }
     1199# endif
    11151200        }
    11161201    }
Note: See TracChangeset for help on using the changeset viewer.