86 Trace &filter(
Trace &data_points)
const override;
88 double getThreshold()
const;
89 QString name()
const override;
91 QString toString()
const override;
94 void buildFilterFromString(
const QString &strBuildParams)
override;
98 std::size_t detectClusterApices(
const Trace &trace);
100 Trace::const_iterator backwardFindApex(
const Trace &trace,
101 Trace::const_iterator iter,
102 double distance_threshold);
104 Trace::const_iterator forwardFindApex(
const Trace &trace,
105 Trace::const_iterator iter,
106 double distance_threshold);
110 static constexpr double nan = std::numeric_limits<double>::quiet_NaN();
116 constexpr static double INTRA_CLUSTER_INTER_PEAK_DISTANCE = 1.1;
118 const std::size_t m_minIntPointCount = 5;
119 const std::size_t m_minIntStdDevFactor = 2;
127 bool m_seen_upward_phase =
false;
132 TraceCIter m_prevApex =
static_cast<Trace::const_iterator
>(0);
133 TraceCIter m_curApex =
static_cast<Trace::const_iterator
>(0);
134 TraceCIter m_curIter =
static_cast<Trace::const_iterator
>(0);
135 TraceCIter m_prevIter =
static_cast<Trace::const_iterator
>(0);