Changeset 2810 for trunk/psModules/test/tst_pmSubtractSky.c
- Timestamp:
- Dec 23, 2004, 10:27:51 AM (22 years ago)
- File:
-
- 1 edited
-
trunk/psModules/test/tst_pmSubtractSky.c (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psModules/test/tst_pmSubtractSky.c
r2777 r2810 7 7 * @author GLG, MHPCC 8 8 * 9 * @version $Revision: 1. 3$ $Name: not supported by cvs2svn $10 * @date $Date: 2004-12-2 1 20:41:29$9 * @version $Revision: 1.4 $ $Name: not supported by cvs2svn $ 10 * @date $Date: 2004-12-23 20:27:51 $ 11 11 * 12 12 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 22 22 #define OBJECT_INTENSITY 2000.0 23 23 static int test00(void); 24 static int test01(void); 24 25 testDescription tests[] = { 25 26 {test00, 000, "pmSubtractSky", 0, false}, 27 {test01, 000, "pmSubtractSky: warning, error messages", 0, false}, 26 28 {NULL} 27 29 }; … … 45 47 int j; 46 48 int testStatus = 0; 47 psImage *tmpImage 1= psImageAlloc(numCols, numRows, PS_TYPE_F32);48 psReadout *myReadout = psReadoutAlloc(numCols, numRows, tmpImage 1);49 psImage *tmpImageF32 = psImageAlloc(numCols, numRows, PS_TYPE_F32); 50 psReadout *myReadout = psReadoutAlloc(numCols, numRows, tmpImageF32); 49 51 psStats *myStats = psStatsAlloc(PS_STAT_SAMPLE_MEAN); 50 52 psPolynomial2D *myPoly = psPolynomial2DAlloc(POLY_X_ORDER, POLY_Y_ORDER, PS_POLYNOMIAL_ORD); … … 79 81 int j; 80 82 int testStatus = 0; 81 psImage *tmpImage 1= psImageAlloc(numCols, numRows, PS_TYPE_F32);82 psReadout *myReadout = psReadoutAlloc(numCols, numRows, tmpImage 1);83 psImage *tmpImageF32 = psImageAlloc(numCols, numRows, PS_TYPE_F32); 84 psReadout *myReadout = psReadoutAlloc(numCols, numRows, tmpImageF32); 83 85 psStats *myStats = psStatsAlloc(PS_STAT_SAMPLE_MEAN); 84 86 psPolynomial2D *myPoly = psPolynomial2DAlloc(POLY_X_ORDER, POLY_Y_ORDER, PS_POLYNOMIAL_ORD); … … 169 171 return(testStatus); 170 172 } 173 174 #define NUM_ROWS_SMALL 16 175 #define NUM_COLS_SMALL 16 176 int test01( void ) 177 { 178 int testStatus = 0; 179 psS32 i; 180 psS32 j; 181 psImage *tmpImageF32 = psImageAlloc(NUM_COLS_SMALL, NUM_ROWS_SMALL, PS_TYPE_F32); 182 psImage *tmpImageF64 = psImageAlloc(NUM_COLS_SMALL, NUM_ROWS_SMALL, PS_TYPE_F64); 183 psReadout *myReadout = psReadoutAlloc(NUM_COLS_SMALL, NUM_ROWS_SMALL, tmpImageF32); 184 psReadout *rc = NULL; 185 psStats *myStats = psStatsAlloc(PS_STAT_SAMPLE_MEAN); 186 psPolynomial2D *myPoly = psPolynomial2DAlloc(POLY_X_ORDER, POLY_Y_ORDER, PS_POLYNOMIAL_ORD); 187 for (i=0;i<NUM_ROWS_SMALL;i++) { 188 for (j=0;j<NUM_COLS_SMALL;j++) { 189 myReadout->image->data.F32[i][j] = func(i, j); 190 } 191 } 192 193 printf("----------------------------------------------------------------\n"); 194 printf("Calling pmSubtractSky() with NULL psReadout. Should error.\n\n"); 195 rc = pmSubtractSky(NULL, (void *) myPoly, PM_FIT_POLYNOMIAL, 1, myStats, 2.0); 196 if (rc != NULL) { 197 printf("ERROR: pmSubtractSky() returned a non-NULL psReadout\n"); 198 testStatus = false; 199 } 200 201 printf("----------------------------------------------------------------\n"); 202 printf("Calling pmSubtractSky() with NULL psReadout->image. Should error.\n\n"); 203 myReadout->image = NULL; 204 rc = pmSubtractSky(myReadout, (void *) myPoly, PM_FIT_POLYNOMIAL, 1, myStats, 2.0); 205 if (rc != NULL) { 206 printf("ERROR: pmSubtractSky() returned a non-NULL psReadout\n"); 207 testStatus = false; 208 } 209 myReadout->image = tmpImageF32; 210 211 printf("----------------------------------------------------------------\n"); 212 printf("Calling pmSubtractSky() with PS_TYPE_F64 psReadout->image. Should error.\n\n"); 213 myReadout->image = tmpImageF64; 214 rc = pmSubtractSky(myReadout, (void *) myPoly, PM_FIT_POLYNOMIAL, 1, myStats, 2.0); 215 if (rc != NULL) { 216 printf("ERROR: pmSubtractSky() returned a non-NULL psReadout\n"); 217 testStatus = false; 218 } 219 myReadout->image = tmpImageF32; 220 221 printf("----------------------------------------------------------------\n"); 222 printf("Calling pmSubtractSky() with NULL fitSpec. Should return image, no ERROR, no WARNING.\n\n"); 223 rc = pmSubtractSky(myReadout, NULL, PM_FIT_POLYNOMIAL, 1, myStats, 2.0); 224 if (rc != myReadout) { 225 printf("ERROR: pmSubtractSky() returned something other than psReadout\n"); 226 testStatus = false; 227 } 228 229 printf("----------------------------------------------------------------\n"); 230 printf("Calling pmSubtractSky() with PM_FIT_NONE fit. Should return image, no ERROR, no WARNING.\n\n"); 231 rc = pmSubtractSky(myReadout, (void *) myPoly, PM_FIT_NONE, 1, myStats, 2.0); 232 if (rc != myReadout) { 233 printf("ERROR: pmSubtractSky() returned something other than psReadout\n"); 234 testStatus = false; 235 } 236 237 printf("----------------------------------------------------------------\n"); 238 printf("Calling pmSubtractSky() with PM_FIT_SPLINE fit. Should return image, no ERROR, no WARNING.\n\n"); 239 rc = pmSubtractSky(myReadout, (void *) myPoly, PM_FIT_SPLINE, 1, myStats, 2.0); 240 if (rc != myReadout) { 241 printf("ERROR: pmSubtractSky() returned something other than psReadout\n"); 242 testStatus = false; 243 } 244 245 printf("----------------------------------------------------------------\n"); 246 printf("Calling pmSubtractSky() with NULL myStats. Should fit entire image, generate WARNING.\n\n"); 247 rc = pmSubtractSky(myReadout, (void *) myPoly, PM_FIT_POLYNOMIAL, 1, NULL, 2.0); 248 for (i=0;i<NUM_ROWS_SMALL;i++) { 249 for (j=0;j<NUM_COLS_SMALL;j++) { 250 if (ERROR_TOLERANCE < fabs(rc->image->data.F32[i][j])) { 251 printf("ERROR: image[%d][%d] is %f, should be 0.0\n", i, j, 252 rc->image->data.F32[i][j]); 253 testStatus = false; 254 } 255 } 256 } 257 258 printf("----------------------------------------------------------------\n"); 259 psU64 oldOptions = myStats->options; 260 myStats->options = 0; 261 printf("Calling pmSubtractSky() with no myStats->options specified. Should fit entire image, generate WARNING.\n\n"); 262 rc = pmSubtractSky(myReadout, (void *) myPoly, PM_FIT_POLYNOMIAL, 1, myStats, 2.0); 263 for (i=0;i<NUM_ROWS_SMALL;i++) { 264 for (j=0;j<NUM_COLS_SMALL;j++) { 265 if (ERROR_TOLERANCE < fabs(rc->image->data.F32[i][j])) { 266 printf("ERROR: image[%d][%d] is %f, should be 0.0\n", i, j, 267 rc->image->data.F32[i][j]); 268 testStatus = false; 269 } 270 } 271 } 272 myStats->options = oldOptions; 273 274 printf("----------------------------------------------------------------\n"); 275 oldOptions = myStats->options; 276 myStats->options = PS_STAT_SAMPLE_MEAN | PS_STAT_SAMPLE_MEDIAN; 277 printf("Calling pmSubtractSky() with multiple myStats->options specified. Should fit entire image, generate WARNING.\n\n"); 278 rc = pmSubtractSky(myReadout, (void *) myPoly, PM_FIT_POLYNOMIAL, 1, myStats, 2.0); 279 for (i=0;i<NUM_ROWS_SMALL;i++) { 280 for (j=0;j<NUM_COLS_SMALL;j++) { 281 if (ERROR_TOLERANCE < fabs(rc->image->data.F32[i][j])) { 282 printf("ERROR: image[%d][%d] is %f, should be 0.0\n", i, j, 283 rc->image->data.F32[i][j]); 284 testStatus = false; 285 } 286 } 287 } 288 myStats->options = oldOptions; 289 290 printf("----------------------------------------------------------------\n"); 291 printf("Calling pmSubtractSky() with 0 binFactor. Should fit entire image, generate WARNING.\n\n"); 292 rc = pmSubtractSky(myReadout, (void *) myPoly, PM_FIT_POLYNOMIAL, 0, myStats, 2.0); 293 for (i=0;i<NUM_ROWS_SMALL;i++) { 294 for (j=0;j<NUM_COLS_SMALL;j++) { 295 if (ERROR_TOLERANCE < fabs(rc->image->data.F32[i][j])) { 296 printf("ERROR: image[%d][%d] is %f, should be 0.0\n", i, j, 297 rc->image->data.F32[i][j]); 298 testStatus = false; 299 } 300 } 301 } 302 303 printf("----------------------------------------------------------------\n"); 304 printf("Calling pmSubtractSky() with -1 binFactor. Should fit entire image, generate WARNING.\n\n"); 305 rc = pmSubtractSky(myReadout, (void *) myPoly, PM_FIT_POLYNOMIAL, -1, myStats, 2.0); 306 for (i=0;i<NUM_ROWS_SMALL;i++) { 307 for (j=0;j<NUM_COLS_SMALL;j++) { 308 if (ERROR_TOLERANCE < fabs(rc->image->data.F32[i][j])) { 309 printf("ERROR: image[%d][%d] is %f, should be 0.0\n", i, j, 310 rc->image->data.F32[i][j]); 311 testStatus = false; 312 } 313 } 314 } 315 316 printf("----------------------------------------------------------------\n"); 317 printf("Calling pmSubtractSky() with -1.0 clipSD. Should fit entire image, generate WARNING.\n\n"); 318 rc = pmSubtractSky(myReadout, (void *) myPoly, PM_FIT_POLYNOMIAL, 1, myStats, -1.0); 319 for (i=0;i<NUM_ROWS_SMALL;i++) { 320 for (j=0;j<NUM_COLS_SMALL;j++) { 321 if (ERROR_TOLERANCE < fabs(rc->image->data.F32[i][j])) { 322 printf("ERROR: image[%d][%d] is %f, should be 0.0\n", i, j, 323 rc->image->data.F32[i][j]); 324 testStatus = false; 325 } 326 } 327 } 328 329 330 // myReadout = pmSubtractSky(myReadout, (void *) myPoly, PM_FIT_POLYNOMIAL, 331 // 1, myStats, 2.0); 332 333 334 printf("----------------------------------------------------------------\n"); 335 psFree(myReadout); 336 psFree(myStats); 337 psFree(myPoly); 338 psFree(tmpImageF64); 339 return(testStatus); 340 } 341 // This code will
Note:
See TracChangeset
for help on using the changeset viewer.
