62     template <
typename ValueType = UInt, 
typename BinSizeType = 
double>
 
   95       Histogram(BinSizeType min, BinSizeType max, BinSizeType bin_size) :
 
  109       template <
typename DataIterator>
 
  110       Histogram(DataIterator 
begin, DataIterator 
end, BinSizeType min, BinSizeType max, BinSizeType bin_size) :
 
  116         for (DataIterator it = 
begin; it != 
end; ++it)
 
  118           this->
inc((BinSizeType) *it);
 
  144         return *(std::max_element(
bins_.begin(), 
bins_.end()));
 
  150         return *(std::min_element(
bins_.begin(), 
bins_.end()));
 
  172         if (index >= 
bins_.size())
 
  186         if (bin_index >= 
bins_.size())
 
  191         return (BinSizeType)(
min_ + ((BinSizeType)bin_index + 0.5) * 
bin_size_);
 
  201         if (bin_index >= 
bins_.size())
 
  205         if (bin_index + 1 == 
bins_.size())
 
  209         return (BinSizeType)(
min_ + ((BinSizeType) bin_index + 1) * 
bin_size_);
 
  219         if (bin_index >= 
bins_.size())
 
  224         return (BinSizeType)(
min_ + (BinSizeType)bin_index * 
bin_size_);
 
  244       Size inc(BinSizeType val, ValueType increment = 1)
 
  247         this->
bins_[bin_index] += increment;
 
  252       Size incUntil(BinSizeType val, 
bool inclusive, ValueType increment = 1)
 
  255         for (
Size i = 0; i < bin_index; ++i)
 
  257          this->
bins_[i] += increment;
 
  261           this->
bins_[bin_index] += increment;
 
  266       Size incFrom(BinSizeType val, 
bool inclusive, ValueType increment = 1)
 
  269         for (
Size i = bin_index + 1; i < this->
bins_.size(); ++i)
 
  271           this->
bins_[i] += increment;
 
  275           this->
bins_[bin_index] += increment;
 
  280       template< 
typename DataIterator >
 
  286         for (DataIterator it = 
begin; it != 
end; ++it)
 
  294             histogram.
incFrom(*it, inclusive);
 
  305       void reset(BinSizeType min, BinSizeType max, BinSizeType bin_size)
 
  351         if (&histogram == 
this) 
return *
this;
 
  376         for (
typename std::vector<ValueType>::iterator it = 
bins_.begin(); it != 
bins_.end(); ++it)
 
  378           *it = (ValueType)(multiplier * log((BinSizeType)(*it + 1.0f)));
 
  390         if (val < min_ || val > 
max_)
 
  418         if (this->bin_size_ <= 0)
 
  424           if (this->max_ != this->min_)
 
  430             this->bins_ = std::vector<ValueType>(1, 0);
 
  437     template <
typename ValueType, 
typename BinSizeType>
 
  440       for (
Size i = 0; i < hist.
size(); ++i)
 
  442         os << hist.
centerOfBin(i) << 
"\t"<< hist[i] << std::endl;
 
Int overflow exception.
Definition: Exception.h:248
 
Out of range exception.
Definition: Exception.h:313
 
Representation of a histogram.
Definition: Histogram.h:64
 
Histogram(BinSizeType min, BinSizeType max, BinSizeType bin_size)
constructor with min, max (inclusive) and bin width
Definition: Histogram.h:95
 
std::vector< ValueType > bins_
Vector of bins.
Definition: Histogram.h:412
 
ValueType operator[](Size index) const
returns the value of bin index
Definition: Histogram.h:170
 
Histogram(DataIterator begin, DataIterator end, BinSizeType min, BinSizeType max, BinSizeType bin_size)
constructor with data iterator and min, max, bin_size parameters
Definition: Histogram.h:110
 
void applyLogTransformation(BinSizeType multiplier)
Transforms the bin values with f(x)=multiplier*log(x+1)
Definition: Histogram.h:374
 
BinSizeType bin_size_
Bin size.
Definition: Histogram.h:410
 
virtual ~Histogram()
destructor
Definition: Histogram.h:123
 
std::vector< ValueType >::const_iterator ConstIterator
Non-mutable iterator of the bins.
Definition: Histogram.h:68
 
bool operator!=(const Histogram &histogram) const
Inequality operator.
Definition: Histogram.h:343
 
BinSizeType max_
Upper bound.
Definition: Histogram.h:408
 
ValueType maxValue() const
returns the bin with the highest count
Definition: Histogram.h:142
 
BinSizeType maxBound() const
returns the upper bound (inclusive)
Definition: Histogram.h:136
 
ConstIterator end() const
Non-mutable iterator pointing after the last bin.
Definition: Histogram.h:370
 
Size inc(BinSizeType val, ValueType increment=1)
increases the bin corresponding to value val by increment
Definition: Histogram.h:244
 
ValueType binValue(BinSizeType val) const
returns the value of bin corresponding to the value val
Definition: Histogram.h:232
 
bool operator==(const Histogram &histogram) const
Equality operator.
Definition: Histogram.h:334
 
BinSizeType rightBorderOfBin(Size bin_index) const
returns the first value to the right side of the bin with the index bin_index, which is not part of t...
Definition: Histogram.h:199
 
BinSizeType minBound() const
returns the lower bound (inclusive)
Definition: Histogram.h:130
 
Histogram & operator=(const Histogram &histogram)
Assignment.
Definition: Histogram.h:349
 
BinSizeType centerOfBin(Size bin_index) const
returns the center position of the bin with the index bin_index
Definition: Histogram.h:184
 
BinSizeType leftBorderOfBin(Size bin_index) const
returns the leftmost value of the bin with the index bin_index, which is part of this bin,...
Definition: Histogram.h:217
 
static void getCumulativeHistogram(DataIterator begin, DataIterator end, bool complement, bool inclusive, Histogram< ValueType, BinSizeType > &histogram)
Definition: Histogram.h:281
 
void reset(BinSizeType min, BinSizeType max, BinSizeType bin_size)
resets the histogram with the given range and bin size
Definition: Histogram.h:305
 
Size size() const
returns the number of bins
Definition: Histogram.h:160
 
ConstIterator begin() const
Non-mutable iterator pointing to the first bin.
Definition: Histogram.h:367
 
BinSizeType binSize() const
returns the bin size
Definition: Histogram.h:154
 
Histogram()
default constructor
Definition: Histogram.h:74
 
ValueType minValue() const
returns the bin with lowest count
Definition: Histogram.h:148
 
Size incFrom(BinSizeType val, bool inclusive, ValueType increment=1)
Definition: Histogram.h:266
 
Histogram(const Histogram &histogram)
copy constructor
Definition: Histogram.h:82
 
void initBins_()
initialize the bins
Definition: Histogram.h:416
 
Size incUntil(BinSizeType val, bool inclusive, ValueType increment=1)
Definition: Histogram.h:252
 
Size valueToBin(BinSizeType val) const
Returns the bin index a given value belongs to.
Definition: Histogram.h:387
 
BinSizeType min_
Lower bound.
Definition: Histogram.h:406
 
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition: Types.h:127
 
std::ostream & operator<<(std::ostream &os, const Histogram< ValueType, BinSizeType > &hist)
Print the contents to a stream.
Definition: Histogram.h:438
 
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:47