andrew@45: /* andrew@45: * Histogram.h andrew@45: * annotationResultCalculator andrew@45: * andrew@45: * Created by Andrew on 08/05/2012. andrew@45: * Copyright 2012 QMUL. All rights reserved. andrew@45: * andrew@45: */ andrew@45: andrew@45: andrew@45: andrew@45: #ifndef HISTOGRAM andrew@45: #define HISTOGRAM andrew@45: andrew@45: #include "ofMain.h" andrew@45: andrew@45: class Histogram{ andrew@45: public: andrew@45: Histogram(); andrew@45: typedef std::vector DoubleVector; andrew@45: typedef std::vector IntVector; andrew@45: IntVector histogram; andrew@45: andrew@48: void createHistogram(const int& binWidthIn, const int& numberofBinsIn); andrew@48: void createAbsoluteHistogram(const int& binWidthIn, const int& numberofBinsIn); andrew@49: void createAbsoluteHistogramForMatchData(); andrew@48: andrew@47: void processDataIntoHistogram(const DoubleVector& data); andrew@45: void plotHistogram(); andrew@45: void plotHistogram(const double& maxHeight); andrew@45: andrew@47: void setBinPoints(); andrew@49: void setBinPointsToMatchRange(); andrew@49: andrew@45: int numberofBins; andrew@45: int binWidth; andrew@47: double minimumBinValue, maximumBinValue; andrew@47: andrew@47: DoubleVector binPoints; andrew@45: andrew@45: double maximum; andrew@47: int numberOutsideRange; andrew@45: andrew@45: int getY(const int& y); andrew@45: int screenHeight; andrew@49: void labelHistogram(); andrew@49: void printHistogramPercentages(); andrew@45: }; andrew@45: #endif