Line | |
---|
1 | // This may look like C code, but it is really -*- C++ -*-
|
---|
2 | #ifndef SMOOTHTOI_H
|
---|
3 | #define SMOOTHTOI_H
|
---|
4 |
|
---|
5 | #include "toiprocessor.h"
|
---|
6 | #include "flagtoidef.h"
|
---|
7 | #include "slinparbuff.h"
|
---|
8 |
|
---|
9 | //////////////////////////////////////////////////////
|
---|
10 | //-- Pour flagguer les samples hors dynamique
|
---|
11 | // toi BoloIn ---> |FlagOutOfRange| ---> toi BoloOut
|
---|
12 | //////////////////////////////////////////////////////
|
---|
13 | class DataSmooth : public TOIProcessor {
|
---|
14 | public:
|
---|
15 | DataSmooth(uint_4 lsm,uint_4 deg);
|
---|
16 | virtual ~DataSmooth();
|
---|
17 |
|
---|
18 | virtual void init(void);
|
---|
19 | virtual void run(void);
|
---|
20 |
|
---|
21 | //! Ne pas traiter les samples flaggues par la valeur flag
|
---|
22 | inline void DoNotLookAt(uint_8 flag=FlgToiAll) {flgNotLookAt = flag;}
|
---|
23 | //! Flagguer les valeurs ou le smooth a echoue avec la valeur flag
|
---|
24 | inline void SetFlagFailed(uint_8 flag=FlgToiInterp) {flgNotSmoothed = flag;}
|
---|
25 | //! Frequency to update SLinParBuff buffer
|
---|
26 | inline void SetBuffUpd(uint_4 bupd=100) {BuffUpdate = bupd;}
|
---|
27 | //! Nombre minimum de valeurs requises pour smoother un sample
|
---|
28 | inline void MinSmoothLength(uint_4 lsmin=0)
|
---|
29 | {
|
---|
30 | if(lsmin==0) lsmin=LSmooth;
|
---|
31 | LSmoothMin = (lsmin<DegSmooth+1)? DegSmooth+1: lsmin;
|
---|
32 | }
|
---|
33 |
|
---|
34 | //! Print
|
---|
35 | void Print(::ostream & os);
|
---|
36 | inline void Print(void) {Print(cout);}
|
---|
37 |
|
---|
38 | protected:
|
---|
39 | uint_8 flgNotLookAt,flgNotSmoothed;
|
---|
40 | uint_4 LSmooth,LSmoothMin;
|
---|
41 | uint_4 DegSmooth;
|
---|
42 | uint_4 BuffUpdate;
|
---|
43 | };
|
---|
44 |
|
---|
45 | #endif
|
---|
Note:
See
TracBrowser
for help on using the repository browser.