IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Dec 14, 2010, 9:29:23 AM (15 years ago)
Author:
eugene
Message:

modifications to psImageMapFit to allow for unfittable data (at a given resolution)

Location:
trunk/psModules/src/objects
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/psModules/src/objects

  • trunk/psModules/src/objects/pmTrend2D.c

    r25754 r30031  
    179179}
    180180
    181 bool pmTrend2DFit(pmTrend2D *trend, psVector *mask, psVectorMaskType maskVal, const psVector *x,
     181bool pmTrend2DFit(bool *goodFit, pmTrend2D *trend, psVector *mask, psVectorMaskType maskVal, const psVector *x,
    182182                  const psVector *y, const psVector *f, const psVector *df)
    183183{
     
    188188    PS_ASSERT_VECTOR_NON_NULL(f, false);
    189189
    190     bool status;
     190    bool status = false;
     191    *goodFit = false;
     192    // for the psImageMap fit, it is possible to have valid data but no valid solution for
     193    // example, an isolated cell may not be reached from other cells, making the solution
     194    // degenerate.  psImageMapFit should probably handle this case, but until it does, we allow
     195    // it to fail on the result, but not yield an error (goodFit = false).
     196    // psVectorClipFitPolynomial2D can not fail in this way (really?), so goodFit is always
     197    // true
     198
    191199    switch (trend->mode) {
    192200      case PM_TREND_POLY_ORD:
     
    196204        // of points in the image, and potentially based on the fractional range of the
    197205        // data?
     206        *goodFit = true;
    198207        break;
    199208
     
    201210        // XXX supply fraction from trend elements
    202211        // XXX need to add the API which adjusts the scale
    203         status = psImageMapClipFit(trend->map, trend->stats, mask, maskVal, x, y, f, df);
     212        status = psImageMapClipFit(goodFit, trend->map, trend->stats, mask, maskVal, x, y, f, df);
    204213        break;
    205214
Note: See TracChangeset for help on using the changeset viewer.