Changeset 5096
- Timestamp:
- Sep 22, 2005, 12:49:29 PM (21 years ago)
- Location:
- trunk/psLib
- Files:
-
- 3 edited
-
src/imageops/psImageStats.c (modified) (6 diffs)
-
src/math/psPolynomial.c (modified) (5 diffs)
-
test/imageops/tst_psImageStats.c (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psLib/src/imageops/psImageStats.c
r5090 r5096 9 9 * @author GLG, MHPCC 10 10 * 11 * @version $Revision: 1. 79$ $Name: not supported by cvs2svn $12 * @date $Date: 2005-09-22 02:47:16$11 * @version $Revision: 1.80 $ $Name: not supported by cvs2svn $ 12 * @date $Date: 2005-09-22 22:49:29 $ 13 13 * 14 14 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 349 349 // Free the Chebyshev polynomials that were 350 350 // created in this routine. 351 for (i = 0; i < maxChebyPoly ; i++) {351 for (i = 0; i < maxChebyPoly + 1; i++) { 352 352 psFree(chebPolys[i]); 353 353 } … … 453 453 maxChebyPoly = coeffs->COOL_2D_nY; 454 454 } 455 chebPolys = 1 + p_psCreateChebyshevPolys(maxChebyPoly);455 chebPolys = p_psCreateChebyshevPolys(maxChebyPoly + 1); 456 456 457 457 // Compute the sums[][] data structure. … … 498 498 // Free the Chebyshev polynomials that were 499 499 // created in this routine. 500 for (i = 0; i < maxChebyPoly ; i++) {500 for (i = 0; i < maxChebyPoly + 1; i++) { 501 501 psFree(chebPolys[i]); 502 502 } … … 545 545 } 546 546 547 chebPolys = 1 + p_psCreateChebyshevPolys(maxChebyPoly);547 chebPolys = p_psCreateChebyshevPolys(maxChebyPoly + 1); 548 548 549 549 for (x = 0; x < input->numRows; x++) { … … 574 574 // created in this routine. 575 575 // XXX: Use static data structures here. 576 for (i = 0; i < maxChebyPoly ; i++) {576 for (i = 0; i < maxChebyPoly + 1; i++) { 577 577 psFree(chebPolys[i]); 578 578 } -
trunk/psLib/src/math/psPolynomial.c
r5094 r5096 7 7 * polynomials. It also contains a Gaussian functions. 8 8 * 9 * @version $Revision: 1.12 6$ $Name: not supported by cvs2svn $10 * @date $Date: 2005-09-22 22: 22:15$9 * @version $Revision: 1.127 $ $Name: not supported by cvs2svn $ 10 * @date $Date: 2005-09-22 22:49:29 $ 11 11 * 12 12 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 167 167 static psPolynomial1D **createChebyshevPolys(psS32 maxChebyPoly) 168 168 { 169 //printf("createChebyshevPolys(%d)\n", maxChebyPoly);170 169 PS_ASSERT_INT_NONNEGATIVE(maxChebyPoly, NULL); 171 170 … … 188 187 for (psS32 j = 0; j < chebPolys[i - 1]->COOL_1D_n; j++) { 189 188 chebPolys[i]->coeff[j + 1] = 2 * chebPolys[i - 1]->coeff[j]; 190 //printf("chebPolys[%d]->coeff[%d] is %.2f\n", i, j + 1, chebPolys[i]->coeff[j + 1]);191 189 } 192 190 for (psS32 j = 0; j < chebPolys[i - 2]->COOL_1D_n; j++) { 193 191 chebPolys[i]->coeff[j] -= chebPolys[i - 2]->coeff[j]; 194 //printf("chebPolys[%d]->coeff[%d] is %.2f\n", i, j, chebPolys[i]->coeff[j]);195 192 } 196 193 } … … 209 206 const psPolynomial1D* poly) 210 207 { 211 //printf("ordPolynomial1DEval(%f): ", x);212 //for (psS32 i = 0 ; i < (1 + poly->COOL_1D_n) ; i++) printf("(%.2f) ", poly->coeff[i]);213 //printf("\n");214 215 208 unsigned int loop_x = 0; 216 209 psF64 polySum = 0.0; … … 545 538 for (loop_t = 0; loop_t < (1 + poly->COOL_4D_nT); loop_t++) { 546 539 if (poly->mask[loop_x][loop_y][loop_z][loop_t] == 0) { 547 //printf("HMMM (%d, %d, %d, %d)\n", loop_x, loop_y, loop_z, loop_t);548 //printf("HMMM (%d, %d, %d, %d)\n", chebPolys[loop_x]->COOL_1D_n, chebPolys[loop_y]->COOL_1D_n, chebPolys[loop_z]->COOL_1D_n, chebPolys[loop_t]->COOL_1D_n);549 //printf("chebPolynomial4DEval()\n");550 540 polySum += poly->coeff[loop_x][loop_y][loop_z][loop_t] * 551 541 psPolynomial1DEval(chebPolys[loop_x], x) * -
trunk/psLib/test/imageops/tst_psImageStats.c
r4547 r5096 28 28 29 29 testDescription tests[] = { 30 {testPsImageHistogram, 0,"psImageHistogram",0,false},31 {testPsImageStats, 1,"psImageStats",0,false},32 {testPsImageFitPolynomial, 2,"psImageFitPolynomial",0,false},33 {testPsImagePixelInterpolate, 3,"psImagePixelInterpolate",0,false},34 {testPsImageEvalPolynom, 4,"psImageEvalPolynom()",0,false},30 {testPsImageHistogram, 0, "psImageHistogram", 0, false}, 31 {testPsImageStats, 1, "psImageStats", 0, false}, 32 {testPsImageFitPolynomial, 2, "psImageFitPolynomial", 0, false}, 33 {testPsImagePixelInterpolate, 3, "psImagePixelInterpolate", 0, false}, 34 {testPsImageEvalPolynom, 4, "psImageEvalPolynom()", 0, false}, 35 35 {NULL} 36 36 }; … … 38 38 psS32 main(psS32 argc, char* argv[]) 39 39 { 40 psLogSetFormat("HLNM"); 40 41 psLogSetLevel(PS_LOG_INFO); 41 42 … … 374 375 } 375 376 377 // HEY: XXX 376 378 static psS32 testPsImageFitPolynomial() 377 379 { 378 const int IMAGE_SIZE = 64;380 const int IMAGE_SIZE = 16; 379 381 const int CHEBY_X_DIM = 8; 380 382 const int CHEBY_Y_DIM = 8; … … 406 408 } 407 409 } 408 my2DPoly = psPolynomial2DAlloc( CHEBY_X_DIM , CHEBY_Y_DIM, PS_POLYNOMIAL_CHEB );410 my2DPoly = psPolynomial2DAlloc( CHEBY_X_DIM-1, CHEBY_Y_DIM-1, PS_POLYNOMIAL_CHEB ); 409 411 /*************************************************************************/ 410 412 /* Calculate Chebyshev Polynomials, no mask */ 411 413 /*************************************************************************/ 412 414 my2DPoly = psImageFitPolynomial( my2DPoly, tmpImage ); 415 if (my2DPoly == NULL) { 416 printf("TEST ERROR: psImageFitPolynomial() returned NULL.\n"); 417 testStatus = false; 418 } 413 419 for ( i = 0;i < CHEBY_X_DIM;i++ ) { 414 420 for ( j = 0;j < CHEBY_Y_DIM;j++ ) { … … 447 453 } 448 454 } 449 450 455 451 456 psLogMsg(__func__,PS_LOG_INFO,"Following should be an error message for NULL coeffs argument.");
Note:
See TracChangeset
for help on using the changeset viewer.
