Mercurial > hg > qm-dsp
diff maths/MathUtilities.h @ 279:c8908cdc8c32
* First cut at Matthew's downbeat estimator -- untested so far
author | Chris Cannam <c.cannam@qmul.ac.uk> |
---|---|
date | Tue, 10 Feb 2009 12:52:43 +0000 |
parents | c96785becf96 |
children | 9c403afdd9e9 |
line wrap: on
line diff
--- a/maths/MathUtilities.h Mon Feb 09 16:05:32 2009 +0000 +++ b/maths/MathUtilities.h Tue Feb 10 12:52:43 2009 +0000 @@ -21,6 +21,8 @@ static void getFrameMinMax( const double* data, unsigned int len, double* min, double* max ); static double mean( const double* src, unsigned int len ); + static double mean( const std::vector<double> &data, + unsigned int start, unsigned int count ); static double sum( const double* src, unsigned int len ); static double median( const double* src, unsigned int len ); @@ -32,7 +34,8 @@ static void circShift( double* data, int length, int shift); - static int getMax( double* data, unsigned int length, double* max ); + static int getMax( double* data, unsigned int length, double* max = 0 ); + static int getMax( const std::vector<double> &data, double* max = 0 ); static int compareInt(const void * a, const void * b); enum NormaliseType { @@ -46,6 +49,9 @@ static void normalise(std::vector<double> &data, NormaliseType n = NormaliseUnitMax); + + // moving mean threshholding: + static void adaptiveThreshold(std::vector<double> &data); }; #endif