13 #ifndef IWaveformTool_H 14 #define IWaveformTool_H 50 using PeakTuple = std::tuple<size_t, size_t, size_t>;
53 virtual void triangleSmooth(
const std::vector<float>&,
55 size_t = 0)
const = 0;
56 virtual void triangleSmooth(
const std::vector<double>&,
58 size_t = 0)
const = 0;
59 virtual void medianSmooth(
const std::vector<float>&, std::vector<float>&,
size_t = 3)
const = 0;
60 virtual void medianSmooth(
const std::vector<double>&,
62 size_t = 3)
const = 0;
63 virtual void getTruncatedMeanRMS(
const std::vector<float>&,
68 virtual void getTruncatedMeanRMS(
const std::vector<double>&,
73 virtual void firstDerivative(
const std::vector<float>&, std::vector<float>&)
const = 0;
74 virtual void firstDerivative(
const std::vector<double>&, std::vector<double>&)
const = 0;
85 virtual void getFFTPower(
const std::vector<float>& inputVec,
86 std::vector<float>& outputPowerVec)
const = 0;
87 virtual void getFFTPower(
const std::vector<double>& inputVec,
88 std::vector<double>& outputPowerVec)
const = 0;
90 virtual void getErosionDilationAverageDifference(
98 virtual void getErosionDilationAverageDifference(
const Waveform<float>&,