82 TSeries
apply(
const TSeries&
ts);
85 return Pipe::operator() (in); }
98 Pipe::dataCheck (in); }
106 return Pipe::isDataValid (in); }
149 inline bool inUse(
void)
const;
210 inline double axb(
double,
double);
211 inline double wrap(
double);
212 inline long intw(
double);
221 f *= (
nLPF >= 0) ? 1 : 2;
226 {
return (a-
long(a))*long(b) + (b-long(b))*
long(a) + (a-long(a))*(b-
long(b));}
229 {
return (a>0) ? long(a+0.5) : long(a-0.5);}
233 long l = a>0 ? long(a/
PI/2. + 0.5) : long(a/
PI/2. - 0.5);
253 #endif // LineFilter_HH
void reset()
Clear/release the internal History vector and reset the current time.
bool LoadTrend(const char *)
The linefilter class containes methods to track and remove quasi- monochromatic lines.
double axb(double, double)
wavearray< double > a(hp.size())
bool isDataValid(const FilterIO &in) const
LineFilter * clone(void) const
Clone a LineFilter.
double Interference(WaveData &, double)
std::vector< f_complex > amplitude
cout<< endl;cout<< "ts size = "<< ts.size()<< " ts rate = "<< ts.rate()<< endl;tf.Forward(ts, wdm);int levels=tf.getLevel();cout<< "tf size = "<< tf.size()<< endl;double dF=tf.resolution();double dT=1./(2 *dF);cout<< "rate(hz) : "<< RATE<< "\t layers : "<< nLAYERS<< "\t dF(hz) : "<< dF<< "\t dT(ms) : "<< dT *1000.<< endl;int itime=TIME_PIXEL_INDEX;int ifreq=FREQ_PIXEL_INDEX;int index=(levels+1)*itime+ifreq;double time=itime *dT;double freq=(ifreq >0)?ifreq *dF:dF/4;cout<< endl;cout<< "PIXEL TIME = "<< time<< " sec "<< endl;cout<< "PIXEL FREQ = "<< freq<< " Hz "<< endl;cout<< endl;wavearray< double > x
bool DumpTrend(const char *, int=0)
~LineFilter(void)
Destroy the LineFilter object and release the function storage.
wavearray< wavereal > WaveData
void setFilter(int nF=1, int nL=0, int nS=1, int nD=-1, int nB=5, int nR=6, int nW=8)
std::list< lineData > lineList
double getOmega(const WaveData &, int=2)
LineFilter(void)
Build an empty LineFilter.
lineData getHeteroLine(WaveData &)
unsigned int maxLine(int)
std::vector< float > filter
void dataCheck(const TSeries &ts) const
Check the data for validity.
Time getStartTime(void) const
lineData getLine(WaveData &)
TSeries operator()(const TSeries &ts)
WaveData getPSD(const WaveData &, int=1)
void setFScan(double f=0., double sn=2., double fS=0.45, int nS=20)
FilterIO & apply(const FilterIO &in)
wavearray< float > getTrend(int, char)
bool isDataValid(const TSeries &ts) const
Check the data for validity.
double fScan(const WaveData &)
double makeFilter(const WaveData &, int=0)
void dataCheck(const FilterIO &in) const
wavearray< double > ts(N)
The LineFilter class containes methods to track and remove quasi- monochromatic lines.
std::complex< float > f_complex
std::vector< float > noise
std::vector< float > line
Time getCurrentTime(void) const
TSeries apply(const TSeries &ts)
The argument time series is filtered to remove lines, and the argument TSeries ts is left unchanged...
FilterIO & operator()(const FilterIO &in)