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

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

matrix

File size: 2.1 KB
RevLine 
[14]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
[16]17// we fix the max number of elements to compute the mean
18// this is a simple example, it should be dynamical
[14]19#define MAX_NUMBER_OF_ELEMENTS 200
20
[16]21// necessary include, as IODevice is a base of our class
[14]22#include <IODevice.h>
23
[16]24// forward declaration for other classes
[14]25namespace flair {
[16]26namespace core {
[214]27class Matrix;
[14]28}
[16]29namespace gui {
30class LayoutPosition;
31class GroupBox;
32class SpinBox;
33}
34}
[14]35
[16]36// MeanFilter is a class computing a mean
[14]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
[16]40namespace flair {
41namespace filter {
42class MeanFilter : public core::IODevice {
[14]43
[16]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);
[14]58
[16]59 /*!
60 * \brief Destructor
61 */
62 ~MeanFilter();
[14]63
[16]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 */
[214]72 core::Matrix *GetMatrix(void) const;
[14]73
[16]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;
[14]82
[16]83private:
84 // UpdateFrom method from base class IODevice
85 void UpdateFrom(const core::io_data *data);
86 gui::GroupBox *groupBox;
87 gui::SpinBox *numberOfElements;
[214]88 core::Matrix *output;
[16]89 float previousValues[MAX_NUMBER_OF_ELEMENTS]; // previous values storage
90};
91} // end namespace filter
92} // end namespace flair
[14]93#endif // MEANFILTER_H
Note: See TracBrowser for help on using the repository browser.