source: flair-dev/tags/0.1.1/include/FlairFilter/LowPassFilter.h

Last change on this file was 50, checked in by Sanahuja Guillaume, 8 years ago

doc

File size: 2.2 KB
Line 
1// %flair:license{
2// This file is part of the Flair framework distributed under the
3// CECILL-C License, Version 1.0.
4// %flair:license}
5/*!
6 * \file LowPassFilter.h
7 * \brief Class defining a first order low pass filter
8 * \author Guillaume Sanahuja, Copyright Heudiasyc UMR UTC/CNRS 7253
9 * \date 2011/05/01
10 * \version 4.0
11 */
12
13#ifndef LOWPASSFILTER_FILTER_H
14#define LOWPASSFILTER_FILTER_H
15
16#include <IODevice.h>
17
18namespace flair {
19namespace core {
20class cvmatrix;
21}
22namespace gui {
23class Layout;
24class LayoutPosition;
25}
26}
27
28class LowPassFilter_impl;
29
30namespace flair {
31namespace filter {
32/*! \class LowPassFilter
33*
34* \brief Class defining a first order low pass filter
35*/
36class LowPassFilter : public core::IODevice {
37public:
38 /*!
39 * \brief Constructor
40 *
41 * Construct a LowPassFilter at position. \n
42 * After calling this function, position will be deleted as it is no longer
43 *usefull. \n
44 * The filter is automatically updated when parent's
45 * IODevice::ProcessUpdate is called. \n
46 * The optional init_value parameters allow to specify
47 * the size of the input datas and its inital values.
48 * If unspecified, a 1*1 size is used, and values are
49 * initialized with 0.
50 *
51 * \param parent parent
52 * \param position position to display settings
53 * \param name name
54 * \param init_value initial value, it is safe to destroy it after calling this constructor
55 */
56 LowPassFilter(const core::IODevice *parent,
57 const gui::LayoutPosition *position, std::string name,
58 const core::cvmatrix *init_value = NULL);
59
60 /*!
61 * \brief Destructor
62 *
63 */
64 ~LowPassFilter();
65
66 /*!
67 * \brief Output value
68 *
69 * \param row row element
70 * \param col column element
71 *
72 * \return element value
73 */
74 float Output(int row, int col) const;
75
76 /*!
77 * \brief Output matrix
78 *
79 * \return filtered output
80 */
81 core::cvmatrix *Matrix(void) const;
82
83private:
84 /*!
85 * \brief Update using provided datas
86 *
87 * Reimplemented from IODevice.
88 *
89 * \param data data from the parent to process
90 */
91 void UpdateFrom(const core::io_data *data);
92
93 class LowPassFilter_impl *pimpl_;
94};
95} // end namespace filter
96} // end namespace flair
97#endif // LOWPASSFILTER_FILTER_H
Note: See TracBrowser for help on using the repository browser.