Changeset 5102
- Timestamp:
- Sep 22, 2005, 3:56:54 PM (21 years ago)
- Location:
- trunk
- Files:
-
- 3 edited
-
psLib/src/math/psSpline.c (modified) (6 diffs)
-
psModules/src/pmSubtractBias.c (modified) (7 diffs)
-
psModules/src/pmSubtractSky.c (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psLib/src/math/psSpline.c
r5090 r5102 7 7 * splines. 8 8 * 9 * @version $Revision: 1.12 7$ $Name: not supported by cvs2svn $10 * @date $Date: 2005-09-2 2 02:47:16$9 * @version $Revision: 1.128 $ $Name: not supported by cvs2svn $ 10 * @date $Date: 2005-09-23 01:56:54 $ 11 11 * 12 12 * … … 207 207 } 208 208 209 210 209 /***************************************************************************** 211 210 CalculateSecondDerivs(): Given a set of x/y vectors corresponding to a … … 223 222 XXX: do an F64 version? 224 223 *****************************************************************************/ 225 static psF32 *calculateSecondDerivs(const psVector* x, ///< Ordinates (or NULL to just use the in dices)224 static psF32 *calculateSecondDerivs(const psVector* x, ///< Ordinates (or NULL to just use the in! 226 225 const psVector* y) ///< Coordinates 227 226 { … … 229 228 "---- calculateSecondDerivs() begin ----\n"); 230 229 231 unsigned inti;232 unsigned intk;230 psS32 i; 231 psS32 k; 233 232 psF32 sig; 234 233 psF32 p; 235 unsigned intn = y->n;234 psS32 n = y->n; 236 235 psF32 *u = (psF32 *) psAlloc(n * sizeof(psF32)); 237 236 psF32 *derivs2 = (psF32 *) psAlloc(n * sizeof(psF32)); … … 253 252 254 253 psTrace(".psLib.dataManip.calculateSecondDerivs", 6, 255 "X[% u] is %f\n", i, X[i]);254 "X[%d] is %f\n", i, X[i]); 256 255 psTrace(".psLib.dataManip.calculateSecondDerivs", 6, 257 "Y[% u] is %f\n", i, Y[i]);256 "Y[%d] is %f\n", i, Y[i]); 258 257 psTrace(".psLib.dataManip.calculateSecondDerivs", 6, 259 "u[% u] is %f\n", i, u[i]);258 "u[%d] is %f\n", i, u[i]); 260 259 } 261 260 … … 264 263 derivs2[n-1] = (u[n-1] - (qn * u[n-2])) / ((qn * derivs2[n-2]) + 1.0); 265 264 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--) { 268 266 derivs2[k] = derivs2[k] * derivs2[k+1] + u[k]; 269 267 270 268 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 } 274 271 psFree(u); 275 272 psTrace(".psLib.dataManip.calculateSecondDerivs", 4, 276 273 "---- calculateSecondDerivs() end ----\n"); 274 277 275 return(derivs2); 278 276 } 277 278 279 279 280 280 /*****************************************************************************/ -
trunk/psModules/src/pmSubtractBias.c
r4997 r5102 6 6 * @author GLG, MHPCC 7 7 * 8 * @version $Revision: 1.3 7$ $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 $ 10 10 * 11 11 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 22 22 #define PM_SUBTRACT_BIAS_SPLINE_ORDER 3 23 23 24 // XXX: put these in psConstants.h 25 void 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 34 void 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) \ 45 printf("======== printing %s ========\n", #NAME); \ 46 for (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 24 53 /****************************************************************************** 25 54 psSubtractFrame(): this routine will take as input a readout for the input 26 55 image and a readout for the bias image. The bias image is subtracted in 27 56 place from the input image. 28 *****************************************************************************/57 *****************************************************************************/ 29 58 static pmReadout *SubtractFrame(pmReadout *in, 30 59 const pmReadout *bias) … … 143 172 return(opt); 144 173 } 174 175 145 176 146 177 /****************************************************************************** … … 161 192 psTrace(".psModule.pmSubtracBias.ScaleOverscanVector", 4, 162 193 "---- ScaleOverscanVector() begin (%d -> %d) ----\n", overscanVector->n, n); 194 // PS_VECTOR_PRINT_F32(overscanVector); 163 195 164 196 if (NULL == overscanVector) { … … 218 250 return(NULL); 219 251 } 252 // PS_PRINT_SPLINE(mySpline); 220 253 221 254 // For each element of the new vector, convert the x-ordinate to that … … 230 263 psFree(mySpline); 231 264 } 265 // PS_VECTOR_PRINT_F32(newVec); 266 232 267 233 268 } else { … … 376 411 tmpOverscan = (psListElem *) overscans->head; 377 412 while (NULL != tmpOverscan) { 413 // PS_IMAGE_PRINT_F32_HIDEF(in->image); 378 414 myOverscanImage = (psImage *) tmpOverscan->data; 379 415 -
trunk/psModules/src/pmSubtractSky.c
r4770 r5102 6 6 * @author GLG, MHPCC 7 7 * 8 * @version $Revision: 1.2 2$ $Name: not supported by cvs2svn $9 * @date $Date: 2005-0 8-16 01:10:34$8 * @version $Revision: 1.23 $ $Name: not supported by cvs2svn $ 9 * @date $Date: 2005-09-23 01:55:30 $ 10 10 * 11 11 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 306 306 // polynomial if there are not enough rows/columns in the input image. 307 307 308 if ( myPoly->nX> dataImage->numRows) {308 if ((myPoly->COOL_2D_nX + 1) > dataImage->numRows) { 309 309 psLogMsg(__func__, PS_LOG_WARN, 310 310 "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) { 315 315 psLogMsg(__func__, PS_LOG_WARN, 316 316 "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; 319 319 } 320 320 psS32 i; … … 324 324 psS32 aRow; 325 325 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); 329 327 // We determine how many coefficients will be in the polynomial that we 330 328 // 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); 332 330 psImage *A = psImageAlloc(localPolyTerms, localPolyTerms, PS_TYPE_F64); 333 331 psImage *Aout = psImageAlloc(localPolyTerms, localPolyTerms, PS_TYPE_F64); … … 347 345 for (y=0;y<dataImage->numCols;y++) { 348 346 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); 350 348 351 349 /************************************************************ … … 427 425 // coefficients to 0.0, if necessary. 428 426 // 427 // XXX: Verify this works after poly nOrder/nTerm change. 428 // 429 429 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++) { 433 433 myPoly->coeff[i][j] = 0.0; 434 434 } … … 436 436 } 437 437 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++) { 441 441 myPoly->coeff[i][j] = 0.0; 442 442 }
Note:
See TracChangeset
for help on using the changeset viewer.
