OpendTect-6_4  6.4
Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
FFTFilter Class Reference

Classical FFT filter, use set to set up data step, min and max frequency and type of the filter (minfreq not required for highpass, maxfreq not required for lowpass) More...

Public Types

enum  Type { LowPass, HighPass, BandPass }
 

Public Member Functions

 FFTFilter (int sz, float step)
 
 ~FFTFilter ()
 
 mDeclareEnumUtils (Type) void setLowPass(float cutf3
 
void setHighPass (float cutf1, float cutf2)
 
void setBandPass (float cutf1, float cutf2, float cutf3, float cutf4)
 
void setLowPass (float cutf4)
 
void setHighPass (float cutf1)
 
void setBandPass (float cutf1, float cutf4)
 
bool setTimeTaperWindow (int sz, BufferString wintype, float var=0.95)
 
bool apply (Array1DImpl< float > &)
 
bool apply (Array1DImpl< float_complex > &, bool dopreproc=true)
 
Array1DImpl< float_complex > * getFreqDomainArr () const
 
void requestStayInFreqDomain ()
 
Type getFilterType () const
 
bool isLowPass () const
 
bool isHighPass () const
 

Public Attributes

float cutf4
 

Protected Member Functions

void buildFreqTaperWin ()
 
bool interpUdf (Array1DImpl< float > &, bool isimag=false)
 
bool interpUdf (Array1DImpl< float_complex > &)
 
void restoreUdf (Array1DImpl< float > &, bool isimag=false) const
 
void restoreUdf (Array1DImpl< float_complex > &) const
 
bool deTrend (Array1DImpl< float > &outp, bool isimag=false)
 
bool deTrend (Array1DImpl< float_complex > &)
 
bool restoreTrend (Array1DImpl< float > &outp, bool isimag=false) const
 
bool restoreTrend (Array1DImpl< float_complex > &) const
 
void reSize (const Array1DImpl< float_complex > &inp, Array1DImpl< float_complex > &outp) const
 
void reSize (const Array1DImpl< float > &inp, Array1DImpl< float > &outp) const
 
void restoreSize (const Array1DImpl< float_complex > &inp, Array1DImpl< float_complex > &outp) const
 
void restoreSize (const Array1DImpl< float > &inp, Array1DImpl< float > &outp) const
 

Protected Attributes

int fftsz_
 
int sz_
 
float df_
 
float step_
 
float cutfreq_ [4]
 
Fourier::CCfft_
 
ArrayNDWindowtimewindow_
 
ArrayNDWindowfreqwindow_
 
Array1DImpl< float > * trendreal_
 
Array1DImpl< float > * trendimag_
 
BoolTypeSet isudfreal_
 
BoolTypeSet isudfimag_
 
Array1DImpl< float_complex > * freqdomain_
 
bool stayinfreq_
 

Detailed Description

Classical FFT filter, use set to set up data step, min and max frequency and type of the filter (minfreq not required for highpass, maxfreq not required for lowpass)

Member Enumeration Documentation

Enumerator
LowPass 
HighPass 
BandPass 

Constructor & Destructor Documentation

FFTFilter::FFTFilter ( int  sz,
float  step 
)
FFTFilter::~FFTFilter ( )

Member Function Documentation

bool FFTFilter::apply ( Array1DImpl< float > &  )
bool FFTFilter::apply ( Array1DImpl< float_complex > &  ,
bool  dopreproc = true 
)
void FFTFilter::buildFreqTaperWin ( )
protected
bool FFTFilter::deTrend ( Array1DImpl< float > &  outp,
bool  isimag = false 
)
protected
bool FFTFilter::deTrend ( Array1DImpl< float_complex > &  )
protected
Type FFTFilter::getFilterType ( ) const
Array1DImpl<float_complex>* FFTFilter::getFreqDomainArr ( ) const
inline
bool FFTFilter::interpUdf ( Array1DImpl< float > &  ,
bool  isimag = false 
)
protected
bool FFTFilter::interpUdf ( Array1DImpl< float_complex > &  )
protected
bool FFTFilter::isHighPass ( ) const
bool FFTFilter::isLowPass ( ) const
FFTFilter::mDeclareEnumUtils ( Type  )
void FFTFilter::requestStayInFreqDomain ( )
inline
void FFTFilter::reSize ( const Array1DImpl< float_complex > &  inp,
Array1DImpl< float_complex > &  outp 
) const
protected
void FFTFilter::reSize ( const Array1DImpl< float > &  inp,
Array1DImpl< float > &  outp 
) const
protected
void FFTFilter::restoreSize ( const Array1DImpl< float_complex > &  inp,
Array1DImpl< float_complex > &  outp 
) const
protected
void FFTFilter::restoreSize ( const Array1DImpl< float > &  inp,
Array1DImpl< float > &  outp 
) const
protected
bool FFTFilter::restoreTrend ( Array1DImpl< float > &  outp,
bool  isimag = false 
) const
protected
bool FFTFilter::restoreTrend ( Array1DImpl< float_complex > &  ) const
protected
void FFTFilter::restoreUdf ( Array1DImpl< float > &  ,
bool  isimag = false 
) const
protected
void FFTFilter::restoreUdf ( Array1DImpl< float_complex > &  ) const
protected
void FFTFilter::setBandPass ( float  cutf1,
float  cutf2,
float  cutf3,
float  cutf4 
)
void FFTFilter::setBandPass ( float  cutf1,
float  cutf4 
)
void FFTFilter::setHighPass ( float  cutf1,
float  cutf2 
)
void FFTFilter::setHighPass ( float  cutf1)
void FFTFilter::setLowPass ( float  cutf4)
bool FFTFilter::setTimeTaperWindow ( int  sz,
BufferString  wintype,
float  var = 0.95 
)

Member Data Documentation

float FFTFilter::cutf4
float FFTFilter::cutfreq_[4]
protected
float FFTFilter::df_
protected
Fourier::CC* FFTFilter::fft_
protected
int FFTFilter::fftsz_
protected
Array1DImpl<float_complex>* FFTFilter::freqdomain_
protected
ArrayNDWindow* FFTFilter::freqwindow_
protected
BoolTypeSet FFTFilter::isudfimag_
protected
BoolTypeSet FFTFilter::isudfreal_
protected
bool FFTFilter::stayinfreq_
protected
float FFTFilter::step_
protected
int FFTFilter::sz_
protected
ArrayNDWindow* FFTFilter::timewindow_
protected
Array1DImpl<float>* FFTFilter::trendimag_
protected
Array1DImpl<float>* FFTFilter::trendreal_
protected

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B. V. 2019