Mercurial > hg > bayesian-drum-tracker
view newOFsrc/bayesianArray.h @ 10:d880f7f29fbe
better output of data
author | Andrew N Robertson <andrew.robertson@eecs.qmul.ac.uk> |
---|---|
date | Wed, 07 Mar 2012 16:47:10 +0000 |
parents | fc095148e2a8 |
children | 23ff520d28ff |
line wrap: on
line source
/* * bayesianArray.h * bayesianTest5 * * Created by Andrew Robertson on 08/05/2010. * Copyright 2010 __MyCompanyName__. All rights reserved. * */ #ifndef _BAYESIAN_ARRAY #define _BAYESIAN_ARRAY //#define arraySize 240 class bayesianArray{ public: bayesianArray(); void initialiseArray(); void setGaussianLikelihoodForBeats(float mean, float StdDev); void setGaussianLikelihood(float mean, float StdDev); void setGaussianPrior(float mean, float StdDev); void setGaussianPosterior(float mean, float StdDev); void calculatePosterior(); void renormalisePosterior(); void renormalisePrior(); void resetMaximumPosterior();//resets the max index void decayPosteriorWithGaussianNoise(); void translateDistribution(int translationIndex); void setDecayNoiseGaussian(float mean, float StdDev); double calculateStandardDeviation(); float getMaximum(float *ptr, int length); void renormaliseArray(float *ptr, int length); void resetPrior(); void decayPosterior(); float* getMaximumEstimate(float *ptr, int length); double getIntegratedEstimateIndex(); static int const arraySize = 240; float prior [arraySize]; float posterior [arraySize]; float likelihood [arraySize]; float tempPosteriorArray[arraySize]; float decayNoiseArray[arraySize]; float decayNoiseStdDev, decayNoiseAmount; float likelihoodMean, likelihoodStdDev, likelihoodNoise; float maximumTest, posteriorDecayRate, maximumValue; float eighthNoteProportion, earlySixteenthNoteProportion, lateSixteenthNoteProportion ; float maximumEstimate, maximumIndex, integratedEstimate; double standardDeviation; double getKLdivergence(); double getEntropyOfPosterior(); private: }; #endif