source: flair-src/trunk/lib/FlairFilter/src/ButterworthLowPass.h@ 10

Last change on this file since 10 was 10, checked in by Sanahuja Guillaume, 7 years ago

lic

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