source: flair-src/trunk/demos/Sinus/src/MeanFilter.h @ 405

Last change on this file since 405 was 214, checked in by Sanahuja Guillaume, 4 years ago

matrix

File size: 2.1 KB
Line 
1//  created:    2013/06/27
2//  filename:   MeanFilter.h
3//
4//  author:     Guillaume Sanahuja
5//              Copyright Heudiasyc UMR UTC/CNRS 7253
6//
7//  version:    $Id: $
8//
9//  purpose:    object computing a mean filter
10//
11//
12/*********************************************************************/
13
14#ifndef MEANFILTER_H
15#define MEANFILTER_H
16
17// we fix the max number of elements to compute the mean
18// this is a simple example, it should be dynamical
19#define MAX_NUMBER_OF_ELEMENTS 200
20
21// necessary include, as IODevice is a base of our class
22#include <IODevice.h>
23
24// forward declaration for other classes
25namespace flair {
26namespace core {
27class Matrix;
28}
29namespace gui {
30class LayoutPosition;
31class GroupBox;
32class SpinBox;
33}
34}
35
36// MeanFilter is a class computing a mean
37// based on a parametrizable number of elements
38// it derives on IODevice as it as an input and an output
39// it is a filter, we extend the namespace
40namespace flair {
41namespace filter {
42class MeanFilter : public core::IODevice {
43
44public:
45  /*!
46  * \brief Constructor
47  *
48  * Builds a mean filter. \n
49  * After calling this function, position will be deleted as it is no longer
50  *usefull. \n
51  *
52  * \param parent IODevice to use as parent
53  * \param position where to place settings
54  * \param name name of the object
55  */
56  MeanFilter(const core::IODevice *parent, const gui::LayoutPosition *position,
57             std::string name);
58
59  /*!
60  * \brief Destructor
61  */
62  ~MeanFilter();
63
64  /*!
65  * \brief Output matrix
66  *
67  * allows to access output matrix, to get signal value or to put it in a graph.
68  *\n
69  *
70  * \return pointer to the output matrix
71  */
72  core::Matrix *GetMatrix(void) const;
73
74  /*!
75  * \brief Value
76  *
77  * this method is equivalent to GetMatrix()->Value(0,0)
78  *
79  * \return actual mean value
80  */
81  float GetValue(void) const;
82
83private:
84  // UpdateFrom method from base class IODevice
85  void UpdateFrom(const core::io_data *data);
86  gui::GroupBox *groupBox;
87  gui::SpinBox *numberOfElements;
88  core::Matrix *output;
89  float previousValues[MAX_NUMBER_OF_ELEMENTS]; // previous values storage
90};
91} // end namespace filter
92} // end namespace flair
93#endif // MEANFILTER_H
Note: See TracBrowser for help on using the repository browser.