source: flair-dev/trunk/include/FlairFilter/ButterworthLowPass.h@ 6

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

filter

File size: 2.8 KB
Line 
1/*!
2 * \file ButterworthLowPass.h
3 * \brief Class defining a Butterworth low pass filter
4 * \author Guillaume Sanahuja, Copyright Heudiasyc UMR UTC/CNRS 7253
5 * \date 2013/12/10
6 * \version 4.0
7 */
8
9#ifndef BUTTERWORTHLOWPASS_H
10#define BUTTERWORTHLOWPASS_H
11
12#include <IODevice.h>
13
14namespace flair
15{
16 namespace core
17 {
18 class cvmatrix;
19 }
20 namespace gui
21 {
22 class LayoutPosition;
23 }
24}
25
26class ButterworthLowPass_impl;
27
28namespace flair
29{
30namespace filter
31{
32 /*! \class ButterworthLowPass
33 *
34 * \brief Class defining a Butterworth low pass filter
35 */
36 class ButterworthLowPass : public core::IODevice
37 {
38 public:
39 /*!
40 * \brief Constructor
41 *
42 * Construct a ButterworthLowPass at position. \n
43 * After calling this function, position will be deleted as it is no longer usefull. \n
44 * The filter is automatically updated when parent's
45 * IODevice::ProcessUpdate is called.
46 *
47 * \param parent parent
48 * \param position position to display settings
49 * \param name name
50 * \param order order of the filter
51 */
52 ButterworthLowPass(const IODevice* parent,const gui::LayoutPosition* position,std::string name,int order);
53
54 /*!
55 * \brief Constructor
56 *
57 * Construct a ButterworthLowPass at position. \n
58 * The ButterworthLowPass will automatically be child of position->getLayout() Layout. After calling this function,
59 * position will be deleted as it is no longer usefull. \n
60 * The filter is updated manually with UpdateFrom method. \n
61 *
62 * \param position position to display settings
63 * \param name name
64 * \param order order of the filter
65 */
66 ButterworthLowPass(const gui::LayoutPosition* position,std::string name,int order);
67
68 /*!
69 * \brief Destructor
70 *
71 */
72 ~ButterworthLowPass();
73
74 /*!
75 * \brief Output value
76 *
77 * \return filtered output
78 */
79 float Output(void) const;
80
81 /*!
82 * \brief Output matrix
83 *
84 * \return filtered output
85 */
86 core::cvmatrix* Matrix(void)const ;
87
88 /*!
89 * \brief Update using provided datas
90 *
91 * Reimplemented from IODevice.
92 *
93 * \param data data from the parent to process
94 */
95 void UpdateFrom(const core::io_data *data);
96
97 private:
98
99 class ButterworthLowPass_impl* pimpl_;
100 };
101} // end namespace filter
102} // end namespace flair
103#endif // BUTTERWORTHLOWPASS_H
Note: See TracBrowser for help on using the repository browser.