Changeset 660 for trunk/psLib/src/math/psStats.c
- Timestamp:
- May 12, 2004, 9:42:51 PM (22 years ago)
- File:
-
- 1 edited
-
trunk/psLib/src/math/psStats.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psLib/src/math/psStats.c
r659 r660 174 174 int i = 0; 175 175 float mean = 0.0; 176 int count = 0; 176 177 177 178 if (maskVector != NULL) { 178 179 for (i=0;i<myVector->n;i++) { 179 180 if (!(maskVal & maskVector->vec.i[i])) { 180 mean+= maskVector->vec.i[i]; 181 } 182 } 181 mean+= myVector->vec.f[i]; 182 count++; 183 } 184 } 185 mean/= (float) count; 186 return(mean); 183 187 } else { 184 188 for (i=0;i<myVector->n;i++) { … … 348 352 } 349 353 350 switch (stats->options) { 351 case PS_STAT_SAMPLE_MEAN: 352 newStruct->sampleMean = p_psArraySampleMean(myVector, maskVector, maskVal); 353 break; 354 case PS_STAT_SAMPLE_MEDIAN: 354 if (stats->options & PS_STAT_SAMPLE_MEAN) { 355 newStruct->sampleMean = p_psArraySampleMean(myVector, 356 maskVector, 357 maskVal); 358 } 359 360 if (stats->options & PS_STAT_MAX) { 361 newStruct->max = p_psArrayMax(myVector, maskVector, maskVal); 362 } 363 364 if (stats->options & PS_STAT_MIN) { 365 newStruct->min = p_psArrayMin(myVector, maskVector, maskVal); 366 } 367 368 if (stats->options & PS_STAT_NVALUES) { 369 newStruct->nValues = p_psArrayNValues(myVector, maskVector, maskVal); 370 } 371 372 if (stats->options & PS_STAT_SAMPLE_MEDIAN) { 355 373 newStruct->sampleMedian = p_psArrayXXX(myVector, maskVector, maskVal); 356 break; 357 case PS_STAT_SAMPLE_STDEV: 374 } 375 376 if (stats->options & PS_STAT_SAMPLE_STDEV) { 358 377 newStruct->sampleStdev = p_psArrayXXX(myVector, maskVector, maskVal); 359 break; 360 case PS_STAT_SAMPLE_UQ: 378 } 379 380 if (stats->options & PS_STAT_SAMPLE_UQ) { 361 381 newStruct->sampleUQ = p_psArrayXXX(myVector, maskVector, maskVal); 362 break; 363 case PS_STAT_SAMPLE_LQ: 382 } 383 384 if (stats->options & PS_STAT_SAMPLE_LQ) { 364 385 newStruct->sampleLQ = p_psArrayXXX(myVector, maskVector, maskVal); 365 break; 366 case PS_STAT_ROBUST_MEAN: 386 } 387 388 if (stats->options & PS_STAT_ROBUST_MEAN) { 367 389 newStruct->robustMean = p_psArrayXXX(myVector, maskVector, maskVal); 368 break; 369 case PS_STAT_ROBUST_MEAN_NVALUES: 390 } 391 392 if (stats->options & PS_STAT_ROBUST_MEAN_NVALUES) { 370 393 newStruct->robustMeanNvalues = p_psArrayXXX(myVector, maskVector, maskVal); 371 break; 372 case PS_STAT_ROBUST_MEDIAN: 394 } 395 396 if (stats->options & PS_STAT_ROBUST_MEDIAN) { 373 397 newStruct->robustMedian = p_psArrayXXX(myVector, maskVector, maskVal); 374 break; 375 case PS_STAT_ROBUST_MEDIAN_NVALUES: 398 } 399 400 if (stats->options & PS_STAT_ROBUST_MEDIAN_NVALUES) { 376 401 newStruct->robustMedianNvalues = p_psArrayXXX(myVector, maskVector, maskVal); 377 break; 378 case PS_STAT_ROBUST_MODE: 402 } 403 404 if (stats->options & PS_STAT_ROBUST_MODE) { 379 405 newStruct->robustMode = p_psArrayXXX(myVector, maskVector, maskVal); 380 break; 381 case PS_STAT_ROBUST_MODE_NVALUES: 406 } 407 408 if (stats->options & PS_STAT_ROBUST_MODE_NVALUES) { 382 409 newStruct->robustModeNvalues = p_psArrayXXX(myVector, maskVector, maskVal); 383 break; 384 case PS_STAT_ROBUST_STDEV: 410 } 411 412 if (stats->options & PS_STAT_ROBUST_STDEV) { 385 413 newStruct->robustStdev = p_psArrayXXX(myVector, maskVector, maskVal); 386 break; 387 case PS_STAT_ROBUST_UQ: 414 } 415 416 if (stats->options & PS_STAT_ROBUST_UQ) { 388 417 newStruct->robustUQ = p_psArrayXXX(myVector, maskVector, maskVal); 389 break; 390 case PS_STAT_ROBUST_LQ: 418 } 419 420 if (stats->options & PS_STAT_ROBUST_LQ) { 391 421 newStruct->robustLQ = p_psArrayXXX(myVector, maskVector, maskVal); 392 break; 393 case PS_STAT_CLIPPED_MEAN: 422 } 423 424 if (stats->options & PS_STAT_CLIPPED_MEAN) { 394 425 newStruct->clippedMean = p_psArrayXXX(myVector, maskVector, maskVal); 395 break; 396 case PS_STAT_CLIPPED_MEAN_NVALUES: 426 } 427 428 if (stats->options & PS_STAT_CLIPPED_MEAN_NVALUES) { 397 429 newStruct->clippedMeanNvalues = p_psArrayXXX(myVector, maskVector, maskVal); 398 break; 399 case PS_STAT_CLIPPED_MEAN_NSIGMA: 430 } 431 432 if (stats->options & PS_STAT_CLIPPED_MEAN_NSIGMA) { 400 433 newStruct->clipSigma = p_psArrayXXX(myVector, maskVector, maskVal); 401 break; 402 case PS_STAT_CLIPPED_STDEV: 434 } 435 436 if (stats->options & PS_STAT_CLIPPED_STDEV) { 403 437 newStruct->clippedStdev = p_psArrayXXX(myVector, maskVector, maskVal); 404 break; 405 case PS_STAT_MAX: 406 newStruct->max = p_psArrayMax(myVector, maskVector, maskVal); 407 break; 408 case PS_STAT_MIN: 409 newStruct->min = p_psArrayMin(myVector, maskVector, maskVal); 410 break; 411 case PS_STAT_NVALUES: 412 newStruct->nValues = p_psArrayNValues(myVector, maskVector, maskVal); 413 break; 414 default: 415 psError(__func__, "Unknown options 0x%x.\n", stats->options); 416 break; 417 } 438 } 439 440 441 // OLD CODE: Should we check for an unknown option? 442 // default: 443 // psError(__func__, "Unknown options 0x%x.\n", stats->options); 418 444 419 445 return(newStruct);
Note:
See TracChangeset
for help on using the changeset viewer.
