Histogram
Description
Histogram is basically a double array, but it contains some useful methods and meta information, which makes it a perfect data structure to store information about frequencies of numeric values, e.g. frequency of image pixel values.
class Histogram : public Array< double > { private: float domainStart; float binSize; public: Histogram(); Histogram(float start, float end, float size); Histogram(float start, float size, int count); Histogram(float start, float size, void* data, int count); int Size() const; void Reserve( int newCapacity ); double* Begin(); double* End(); const double* Begin(); const double* End(); float DomainStart() const; void SetDomainStart(float begin); void SetDomainStartOf(const fil::Histogram& other); float BinSize() const; void SetBinSize(float newBinSize); void SetBinSizeOf(const fil::Histogram& other); int BinCount() const; void SetBinCount(int newBinCount); void SetBinCountOf(const fil::Histogram& other); float DomainLength() const; float DomainEnd() const; };