CTL  0.6.1
Computed Tomography Library
pointseriesbase.h
1 #ifndef CTL_POINTSERIESBASE_H
2 #define CTL_POINTSERIESBASE_H
3 
4 #include <QList>
5 #include <QPointF>
6 #include <vector>
7 
8 namespace CTL {
9 
10 template<typename> class Range;
11 
33 {
34 public:
35  // getter methods
36  const QList<QPointF>& data() const;
37 
38  // other methods
39  float max() const;
40  float min() const;
41  uint nbSamples() const;
42  uint size() const;
43  float sum() const;
44  float sum(const std::vector<float>& weights) const;
45  float weightedSum(const std::vector<float>& weights) const;
46 
47  // Sampling points ("x values")
48  float samplingPoint(uint sampleNb) const;
49  std::vector<float> samplingPoints() const;
51 
52  // Values ("y values")
53  float value(uint sampleNb) const;
54  std::vector<float> values() const;
55  Range<float> valueRange() const;
56 
57 protected:
58  // ctors
59  PointSeriesBase() = default;
60  explicit PointSeriesBase(const QList<QPointF>& pointSeries);
61  explicit PointSeriesBase(QList<QPointF>&& pointSeries);
62 
63  // data manipulation
64  void normalizeByMaxAbsVal();
65  void normalizeByMaxVal();
66  void scaleValues(float factor);
67 
68  QList<QPointF> _data;
69 };
70 
71 
72 
73 } // namespace CTL
74 
75 #endif // CTL_POINTSERIESBASE_H
float min() const
Definition: pointseriesbase.cpp:48
const QList< QPointF > & data() const
Definition: pointseriesbase.cpp:29
std::vector< float > samplingPoints() const
Definition: pointseriesbase.cpp:87
float weightedSum(const std::vector< float > &weights) const
Definition: pointseriesbase.cpp:172
Range< float > samplingRange() const
Definition: pointseriesbase.cpp:99
The PointSeriesBase class is the base class used to represent a series of data tuples.
Definition: pointseriesbase.h:32
uint size() const
Definition: pointseriesbase.cpp:69
Range< float > valueRange() const
Definition: pointseriesbase.cpp:159
float samplingPoint(uint sampleNb) const
Definition: pointseriesbase.cpp:77
unsigned int uint
Qt style alias for unsigned int.
Definition: modulelayout.h:6
std::vector< float > values() const
Definition: pointseriesbase.cpp:145
float value(uint sampleNb) const
Definition: pointseriesbase.cpp:135
uint nbSamples() const
Definition: pointseriesbase.cpp:59
float max() const
Definition: pointseriesbase.cpp:37
float sum() const
Definition: pointseriesbase.cpp:112
void scaleValues(float factor)
Definition: pointseriesbase.cpp:251