30 #ifndef _D_LINE_HISTOGRAM_HPP
31 #define _D_LINE_HISTOGRAM_HPP
33 #include "DBaseLineOperations.hpp"
41 template <
class T,
class T_out = T>
44 T_out trueVal, falseVal;
46 typedef typename unaryLineFunctionBase<T, T_out>::lineInType lineInType;
47 typedef typename unaryLineFunctionBase<T, T_out>::lineOutType lineOutType;
49 virtual void _exec(
const lineInType lIn,
const size_t size,
52 for (
size_t i = 0; i < size; i++)
53 lOut[i] = lIn[i] >=
minVal && lIn[i] <=
maxVal ? trueVal : falseVal;
57 template <
class Tin,
class Tout>
62 typedef typename unaryLineFunctionBase<Tin>::lineType lineInType;
63 typedef typename unaryLineFunctionBase<Tout>::lineType lineOutType;
65 virtual void _exec(
const lineInType lIn,
const size_t size,
70 for (
size_t i = 0; i < size; i++) {
71 newVal = double(outOrig) + (double(lIn[i]) - double(inOrig)) * coeff;
72 if (newVal >
double(numeric_limits<Tout>::max()))
73 newVal = numeric_limits<Tout>::max();
74 else if (newVal <
double(numeric_limits<Tout>::min()))
75 newVal = numeric_limits<Tout>::min();
76 lOut[i] = Tout(round(newVal));
T minVal(const Image< T > &imIn, bool onlyNonZero=false)
minVal() - Min value of an image
Definition: DMeasures.hpp:271
T maxVal(const Image< T > &imIn, bool onlyNonZero=false)
maxVal() - Max value of an image
Definition: DMeasures.hpp:348
Definition: DLineHistogram.hpp:58
Definition: DLineHistogram.hpp:42
Definition: DBaseLineOperations.hpp:46