IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 29010


Ignore:
Timestamp:
Aug 20, 2010, 3:26:20 PM (16 years ago)
Author:
heather
Message:

ppMerge changes to add variance

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/haf_branches/ppMerge2010/psLib/src/math/psPolynomialMD.c

    r24820 r29010  
    7272        float coord = coords->data.F32[i]; // Coordinate of interest
    7373        double value = coord;           // Value of polynomial stages
     74       
    7475        buffer->data.F64[index++] = value;
     76       
    7577        for (int j = 2; j <= order; j++, index++) {
    7678            value *= coord;
    7779            buffer->data.F64[index] = value;
     80           
    7881        }
    7982    }
     
    8386        for (int j = 0; j < i; j++) {
    8487            matrix->data.F64[i][j] = buffer->data.F64[i] * buffer->data.F64[j] * invSigma2;
     88            //      psTrace("psLib.math", 4, "matrix %d %d %e %f %f\n",i, j, matrix->data.F64[i][j] , matrix->data.F64[i][j], buffer->data.F64[i] );
    8589        }
    8690        matrix->data.F64[i][i] = PS_SQR(buffer->data.F64[i]) * invSigma2;
     91        //      psTrace("psLib.math", 4, "matrix %d %d %e %f %f\n",i,i, matrix->data.F64[i][i] , matrix->data.F64[i][i] , buffer->data.F64[i]);
    8792        vector->data.F64[i] = value * buffer->data.F64[i] * invSigma2;
    8893    }
    89 
     94    // psTrace("psLib.math", 4, "hey we got here %ld\n",poly->coeff->n );
    9095    return;
    9196}
     
    120125        for (int k = j + 1; k < numTerms; k++) {
    121126            matrix->data.F64[j][k] = matrix->data.F64[k][j];
    122         }
     127            //psTrace("psLib.math", 4, "matrixjj %d %d %e %f \n",j,k, matrix->data.F64[k][j], matrix->data.F64[k][j]);
     128           
     129        }
     130        //psTrace("psLib.math", 4, "matrixjj %d %d %e %f \n",j,j, matrix->data.F64[j][j], matrix->data.F64[j][j]);
    123131    }
    124132
     
    297305            continue;
    298306        }
    299 
     307       
     308        //      fprintf (stderr, "%f : ", values->data.F32[i]);
     309        //      for (int j = 0; j < coords->n; j++) {
     310        //  fprintf (stderr, "%f ", coords->data.F32[j]);
     311        //      }
     312        //fprintf (stderr, "\n");
    300313        float err = errors ? errors->data.F32[i] : 0.0;
    301314        polynomialMDLeastSquares(poly, poly->tmpMatrix, poly->tmpVector, coords, values->data.F32[i], err, poly->fitBuffer);
     
    317330
    318331    polynomialMDStdev(poly, poly->deviations, coordsArray, values, mask, maskVal);
    319 
     332    psTrace("psLib.math", 7, "hey we got here %ld\n",poly->coeff->n );
    320333    return true;
    321334}
     
    329342    PS_ASSERT_VECTOR_NON_NULL(values, false);
    330343    PS_ASSERT_VECTOR_TYPE(values, PS_TYPE_F32, false);
     344    //fprintf(stderr, "inside mdclipffit\n");
    331345    if (errors) {
     346      //  fprintf(stderr, "there are errors and they are in MDClipfit!\n");
    332347        PS_ASSERT_VECTOR_NON_NULL(errors, false);
    333348        PS_ASSERT_VECTOR_TYPE(errors, PS_TYPE_F32, false);
     
    406421
    407422    if (numClipped > 0) {
     423      psTrace("psLib.math", 9, "redoing psPolynomialMDFit, clipped some points\n");
    408424        // Need to do a final re-evaluation of the fit
    409425        if (!psPolynomialMDFit(poly, values, errors, poly->ownMask, maskVal, coordsArray)) {
     426         
    410427            return false;
    411428        }
     
    467484    PS_ASSERT_VECTOR_NON_NULL(values, false);
    468485    PS_ASSERT_VECTOR_TYPE(values, PS_TYPE_F32, false);
     486        psTrace("psLib.math", 3, "we got here\n");
    469487    if (errors) {
    470         PS_ASSERT_VECTOR_NON_NULL(errors, false);
     488            psTrace("psLib.math", 3, "errors got passed\n");
     489         PS_ASSERT_VECTOR_NON_NULL(errors, false);
    471490        PS_ASSERT_VECTOR_TYPE(errors, PS_TYPE_F32, false);
    472491        PS_ASSERT_VECTORS_SIZE_EQUAL(values, errors, false);
     
    507526
    508527        polynomialMDLeastSquares(poly, matrices->data[i], vectors->data[i], coords, values->data.F32[i],
    509                                  errors ? errors->data.F32[i] : 0.0, buffer);
     528                                  ? errors->data.F32[i] : 0.0, buffer);
    510529    }
    511530    psFree(buffer);
    512 
     531 
     532 
    513533    // Iterate over the solution
    514534    int numGood = numValues;            // Number of good values
Note: See TracChangeset for help on using the changeset viewer.