IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 5102


Ignore:
Timestamp:
Sep 22, 2005, 3:56:54 PM (21 years ago)
Author:
gusciora
Message:

....

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/psLib/src/math/psSpline.c

    r5090 r5102  
    77*  splines.
    88*
    9 *  @version $Revision: 1.127 $ $Name: not supported by cvs2svn $
    10 *  @date $Date: 2005-09-22 02:47:16 $
     9*  @version $Revision: 1.128 $ $Name: not supported by cvs2svn $
     10*  @date $Date: 2005-09-23 01:56:54 $
    1111*
    1212*
     
    207207}
    208208
    209 
    210209/*****************************************************************************
    211210CalculateSecondDerivs(): Given a set of x/y vectors corresponding to a
     
    223222XXX: do an F64 version?
    224223 *****************************************************************************/
    225 static psF32 *calculateSecondDerivs(const psVector* x,        ///< Ordinates (or NULL to just use the indices)
     224static psF32 *calculateSecondDerivs(const psVector* x,        ///< Ordinates (or NULL to just use the in!
    226225                                    const psVector* y)        ///< Coordinates
    227226{
     
    229228            "---- calculateSecondDerivs() begin ----\n");
    230229
    231     unsigned int i;
    232     unsigned int k;
     230    psS32 i;
     231    psS32 k;
    233232    psF32 sig;
    234233    psF32 p;
    235     unsigned int n = y->n;
     234    psS32 n = y->n;
    236235    psF32 *u = (psF32 *) psAlloc(n * sizeof(psF32));
    237236    psF32 *derivs2 = (psF32 *) psAlloc(n * sizeof(psF32));
     
    253252
    254253        psTrace(".psLib.dataManip.calculateSecondDerivs", 6,
    255                 "X[%u] is %f\n", i, X[i]);
     254                "X[%d] is %f\n", i, X[i]);
    256255        psTrace(".psLib.dataManip.calculateSecondDerivs", 6,
    257                 "Y[%u] is %f\n", i, Y[i]);
     256                "Y[%d] is %f\n", i, Y[i]);
    258257        psTrace(".psLib.dataManip.calculateSecondDerivs", 6,
    259                 "u[%u] is %f\n", i, u[i]);
     258                "u[%d] is %f\n", i, u[i]);
    260259    }
    261260
     
    264263    derivs2[n-1] = (u[n-1] - (qn * u[n-2])) / ((qn * derivs2[n-2]) + 1.0);
    265264
    266     //XXX: Changed from k=n-2;k>=0; because k is now unsigned//
    267     for (k=(n-1);k>0;k--) {
     265    for (k=(n-2);k>=0;k--) {
    268266        derivs2[k] = derivs2[k] * derivs2[k+1] + u[k];
    269267
    270268        psTrace(".psLib.dataManip.calculateSecondDerivs", 6,
    271                 "derivs2[%u] is %f\n", k, derivs2[k]);
    272     }
    273 
     269                "derivs2[%d] is %f\n", k, derivs2[k]);
     270    }
    274271    psFree(u);
    275272    psTrace(".psLib.dataManip.calculateSecondDerivs", 4,
    276273            "---- calculateSecondDerivs() end ----\n");
     274
    277275    return(derivs2);
    278276}
     277
     278
    279279
    280280/*****************************************************************************/
  • trunk/psModules/src/pmSubtractBias.c

    r4997 r5102  
    66 *  @author GLG, MHPCC
    77 *
    8  *  @version $Revision: 1.37 $ $Name: not supported by cvs2svn $
    9  *  @date $Date: 2005-09-12 20:38:25 $
     8 *  @version $Revision: 1.38 $ $Name: not supported by cvs2svn $
     9 *  @date $Date: 2005-09-23 01:55:30 $
    1010 *
    1111 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    2222#define PM_SUBTRACT_BIAS_SPLINE_ORDER 3
    2323
     24// XXX: put these in psConstants.h
     25void PS_POLY1D_PRINT(psPolynomial1D *poly)
     26{
     27    printf("-------------- PS_POLY1D_PRINT() --------------\n");
     28    printf("poly->COOL_1D_n is %d\n", poly->COOL_1D_n);
     29    for (psS32 i = 0 ; i < (1 + poly->COOL_1D_n) ; i++) {
     30        printf("poly->coeff[%d] is %f\n", i, poly->coeff[i]);
     31    }
     32}
     33
     34void PS_PRINT_SPLINE(psSpline1D *mySpline)
     35{
     36    printf("-------------- PS_PRINT_SPLINE() --------------\n");
     37    printf("mySpline->n is %d\n", mySpline->n);
     38    for (psS32 i = 0 ; i < mySpline->n ; i++) {
     39        PS_POLY1D_PRINT(mySpline->spline[i]);
     40    }
     41    PS_VECTOR_PRINT_F32(mySpline->knots);
     42}
     43
     44#define PS_IMAGE_PRINT_F32_HIDEF(NAME) \
     45printf("======== printing %s ========\n", #NAME); \
     46for (int i = 0 ; i < (NAME)->numRows ; i++) { \
     47    for (int j = 0 ; j < (NAME)->numCols ; j++) { \
     48        printf("%.5f ", (NAME)->data.F32[i][j]); \
     49    } \
     50    printf("\n"); \
     51}\
     52
    2453/******************************************************************************
    2554psSubtractFrame(): this routine will take as input a readout for the input
    2655image and a readout for the bias image.  The bias image is subtracted in
    2756place from the input image.
    28  *****************************************************************************/
     57*****************************************************************************/
    2958static pmReadout *SubtractFrame(pmReadout *in,
    3059                                const pmReadout *bias)
     
    143172    return(opt);
    144173}
     174
     175
    145176
    146177/******************************************************************************
     
    161192    psTrace(".psModule.pmSubtracBias.ScaleOverscanVector", 4,
    162193            "---- ScaleOverscanVector() begin (%d -> %d) ----\n", overscanVector->n, n);
     194    //    PS_VECTOR_PRINT_F32(overscanVector);
    163195
    164196    if (NULL == overscanVector) {
     
    218250            return(NULL);
    219251        }
     252        //        PS_PRINT_SPLINE(mySpline);
    220253
    221254        // For each element of the new vector, convert the x-ordinate to that
     
    230263            psFree(mySpline);
    231264        }
     265        //        PS_VECTOR_PRINT_F32(newVec);
     266
    232267
    233268    } else {
     
    376411    tmpOverscan = (psListElem *) overscans->head;
    377412    while (NULL != tmpOverscan) {
     413        //        PS_IMAGE_PRINT_F32_HIDEF(in->image);
    378414        myOverscanImage = (psImage *) tmpOverscan->data;
    379415
  • trunk/psModules/src/pmSubtractSky.c

    r4770 r5102  
    66 *  @author GLG, MHPCC
    77 *
    8  *  @version $Revision: 1.22 $ $Name: not supported by cvs2svn $
    9  *  @date $Date: 2005-08-16 01:10:34 $
     8 *  @version $Revision: 1.23 $ $Name: not supported by cvs2svn $
     9 *  @date $Date: 2005-09-23 01:55:30 $
    1010 *
    1111 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    306306    // polynomial if there are not enough rows/columns in the input image.
    307307
    308     if (myPoly->nX > dataImage->numRows) {
     308    if ((myPoly->COOL_2D_nX + 1) > dataImage->numRows) {
    309309        psLogMsg(__func__, PS_LOG_WARN,
    310310                 "WARNING: ImageFitPolynomial(): Reducing polynomial complexity in x-dimension.\n");
    311         oldPolyX = myPoly->nX;
    312         myPoly->nX = dataImage->numRows;
    313     }
    314     if (myPoly->nY > dataImage->numCols) {
     311        oldPolyX = myPoly->COOL_2D_nX;
     312        myPoly->COOL_2D_nX = dataImage->numRows - 1;
     313    }
     314    if ((myPoly->COOL_2D_nY + 1) > dataImage->numCols) {
    315315        psLogMsg(__func__, PS_LOG_WARN,
    316316                 "WARNING: ImageFitPolynomial(): Reducing polynomial complexity in y-dimension.\n");
    317         oldPolyY = myPoly->nY;
    318         myPoly->nY = dataImage->numCols;
     317        oldPolyY = myPoly->COOL_2D_nY;
     318        myPoly->COOL_2D_nY = dataImage->numCols - 1;
    319319    }
    320320    psS32 i;
     
    324324    psS32 aRow;
    325325    psS32 aCol;
    326     // The myPoly->nX and ->nY terms are actually 1 larger
    327     // than the order of the polynomial.
    328     psS32 **polyTerms = buildPolyTerms(myPoly->nX-1, myPoly->nY-1);
     326    psS32 **polyTerms = buildPolyTerms(myPoly->COOL_2D_nX, myPoly->COOL_2D_nY);
    329327    // We determine how many coefficients will be in the polynomial that we
    330328    // are fitting to this image.
    331     psS32 localPolyTerms = CalculatePolyTerms(myPoly->nX-1, myPoly->nY-1);
     329    psS32 localPolyTerms = CalculatePolyTerms(myPoly->COOL_2D_nX, myPoly->COOL_2D_nY);
    332330    psImage *A = psImageAlloc(localPolyTerms, localPolyTerms, PS_TYPE_F64);
    333331    psImage *Aout = psImageAlloc(localPolyTerms, localPolyTerms, PS_TYPE_F64);
     
    347345        for (y=0;y<dataImage->numCols;y++) {
    348346            if (maskImage->data.U8[x][y] == 0) {
    349                 buildSums((psF64) x, (psF64) y, myPoly->nX-1, myPoly->nY-1);
     347                buildSums((psF64) x, (psF64) y, myPoly->COOL_2D_nX, myPoly->COOL_2D_nY);
    350348
    351349                /************************************************************
     
    427425    // coefficients to 0.0, if necessary.
    428426    //
     427    // XXX: Verify this works after poly nOrder/nTerm change.
     428    //
    429429    if (oldPolyX != -1) {
    430         myPoly->nX = oldPolyX;
    431         for (i=oldPolyX ; i < myPoly->nX ; i++) {
    432             for (j=0;j<myPoly->nY ; j++) {
     430        myPoly->COOL_2D_nX = oldPolyX;
     431        for (i=oldPolyX ; i < (1 + myPoly->COOL_2D_nX) ; i++) {
     432            for (j=0;j<(1 + myPoly->COOL_2D_nY) ; j++) {
    433433                myPoly->coeff[i][j] = 0.0;
    434434            }
     
    436436    }
    437437    if (oldPolyY != -1) {
    438         myPoly->nY = oldPolyY;
    439         for (i=0 ; i < myPoly->nX ; i++) {
    440             for (j=oldPolyY;j<myPoly->nY ; j++) {
     438        myPoly->COOL_2D_nY = oldPolyY;
     439        for (i=0 ; i < (1 + myPoly->COOL_2D_nX) ; i++) {
     440            for (j=oldPolyY;j < (1 + myPoly->COOL_2D_nY) ; j++) {
    441441                myPoly->coeff[i][j] = 0.0;
    442442            }
Note: See TracChangeset for help on using the changeset viewer.