Changeset 344 for trunk/archive/pslib/include/psStats.h
- Timestamp:
- Mar 31, 2004, 5:01:04 PM (22 years ago)
- File:
-
- 1 edited
-
trunk/archive/pslib/include/psStats.h (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/archive/pslib/include/psStats.h
r257 r344 39 39 /** generic statistics structure */ 40 40 typedef struct { 41 double sampleMean; // <!formal mean of sample42 double sampleMedian; // <!formal median of sample43 double sampleMode; // !< Formal mode of sample44 double sampleStdev; // <!standard deviation of sample45 double sampleUQ; // <!upper quartile of sample46 double sampleLQ; // <!lower quartile of sample47 double robustMean; // <!robust mean of array48 double robustMeanError; // <!error on robust mean49 int robustMeanNvalues; // <!number of measurements used for robust mean50 double robustMedian; // <!robust median of array51 double robustMedianError; // <!error on robust median52 int robustMedianNvalues; // <!number of measurements used for robust median53 double robustMode; // !< Robust mode of array54 double robustModeErr; // !< Error in robust mode55 int robustModeNvalues; // !< Number of measurements used for robust mode56 double robustStdev; // <!robust standard deviation of array57 double robustUQ; // <!robust upper quartile58 double robustLQ; // <!robust lower quartile59 double clippedMean; // <!Nsigma clipped mean60 double clippedMeanError; // <!error on clipped mean61 int clippedMeanNvalues; // <!number of data points used for clipped mean62 double clippedStdev; // !< standard deviation after clipping63 double clipSigma; // <!Nsigma used for clipping; user input64 int clipIter; // !< Number of clipping iterations; user input65 double min; // <!minimum data value in array66 double max; // <!maximum data value in array67 int nValues; // <!number of data values in array68 psStatsOptions options; // <!bitmask of calculated values41 double sampleMean; ///< formal mean of sample 42 double sampleMedian; ///< formal median of sample 43 double sampleMode; ///< Formal mode of sample 44 double sampleStdev; ///< standard deviation of sample 45 double sampleUQ; ///< upper quartile of sample 46 double sampleLQ; ///< lower quartile of sample 47 double robustMean; ///< robust mean of array 48 double robustMeanError; ///< error on robust mean 49 int robustMeanNvalues; ///< number of measurements used for robust mean 50 double robustMedian; ///< robust median of array 51 double robustMedianError; ///< error on robust median 52 int robustMedianNvalues; ///< number of measurements used for robust median 53 double robustMode; ///< Robust mode of array 54 double robustModeErr; ///< Error in robust mode 55 int robustModeNvalues; ///< Number of measurements used for robust mode 56 double robustStdev; ///< robust standard deviation of array 57 double robustUQ; ///< robust upper quartile 58 double robustLQ; ///< robust lower quartile 59 double clippedMean; ///< Nsigma clipped mean 60 double clippedMeanError; ///< error on clipped mean 61 int clippedMeanNvalues; ///< number of data points used for clipped mean 62 double clippedStdev; ///< standard deviation after clipping 63 double clipSigma; ///< Nsigma used for clipping; user input 64 int clipIter; ///< Number of clipping iterations; user input 65 double min; ///< minimum data value in array 66 double max; ///< maximum data value in array 67 int nValues; ///< number of data values in array 68 psStatsOptions options; ///< bitmask of calculated values 69 69 } psStats; 70 70 … … 72 72 /** Do Statistics on an array. Returns a status value. \ingroup MathGroup */ 73 73 psStats * 74 psArrayStats(const psFloatArray *restrict myArray, // !< Array to be analysed75 const psIntArray *restrict maskArray, // !< Ignore elements where (maskArray & maskVal) != 076 // !< May be NULL77 unsigned int maskVal, // !< Only mask elements with one of these bits set in maskArray78 psStats *stats // !< stats structure defines stats to be calculated and how74 psArrayStats(const psFloatArray *restrict myArray, ///< Array to be analysed 75 const psIntArray *restrict maskArray, ///< Ignore elements where (maskArray & maskVal) != 0 76 ///< May be NULL 77 unsigned int maskVal, ///< Only mask elements with one of these bits set in maskArray 78 psStats *stats ///< stats structure defines stats to be calculated and how 79 79 ); 80 80 … … 83 83 /** Histograms */ 84 84 typedef struct { 85 const psFloatArray *restrict lower; // !< Lower bounds for the bins86 const psFloatArray *restrict upper; // !< Upper bounds for the bins87 psIntArray *nums; // !< Number in each of the bins88 const float minVal, maxVal; // !< Minimum and maximum values89 int minNum, maxNum; // !< Number below the minimum and above the maximum85 const psFloatArray *restrict lower; ///< Lower bounds for the bins 86 const psFloatArray *restrict upper; ///< Upper bounds for the bins 87 psIntArray *nums; ///< Number in each of the bins 88 const float minVal, maxVal; ///< Minimum and maximum values 89 int minNum, maxNum; ///< Number below the minimum and above the maximum 90 90 } psHistogram; 91 91 92 92 /** Constructor \ingroup MathGroup */ 93 93 psHistogram * 94 psHistogramAlloc(float lower, // !< Lower limit for the bins95 float upper, // !< Upper limit for the bins96 float size // !< Size of the bins94 psHistogramAlloc(float lower, ///< Lower limit for the bins 95 float upper, ///< Upper limit for the bins 96 float size ///< Size of the bins 97 97 ); 98 98 99 99 /** Generic constructor \ingroup MathGroup */ 100 100 psHistogram * 101 psHistogramAllocGeneric(const psFloatArray *restrict lower, // !< Lower bounds for the bins102 const psFloatArray *restrict upper, // !< Upper bounds for the bins103 float minVal, // !< Minimum value104 float maxVal // !< Maximum value101 psHistogramAllocGeneric(const psFloatArray *restrict lower, ///< Lower bounds for the bins 102 const psFloatArray *restrict upper, ///< Upper bounds for the bins 103 float minVal, ///< Minimum value 104 float maxVal ///< Maximum value 105 105 ); 106 106 107 107 /** Destructor \ingroup MathGroup **/ 108 108 void 109 psHistogramFree(psHistogram *restrict myHist // !< Histogram to destroy109 psHistogramFree(psHistogram *restrict myHist ///< Histogram to destroy 110 110 ); 111 111 … … 113 113 /** Calculate a histogram \ingroup MathGroup **/ 114 114 psHistogram * 115 psGetArrayHistogram(psHistogram *restrict myHist, // !< Histogram data116 const psFloatArray *restrict myArray // !< Array to analyse115 psGetArrayHistogram(psHistogram *restrict myHist, ///< Histogram data 116 const psFloatArray *restrict myArray ///< Array to analyse 117 117 ); 118 118
Note:
See TracChangeset
for help on using the changeset viewer.
