OpendTect-6_4  6.4
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Convolver2D< T > Class Template Reference

Convolves (or correlates) two 2D signals. More...

Inheritance diagram for Convolver2D< T >:
[legend]

Public Member Functions

 Convolver2D ()
 
 ~Convolver2D ()
 
void setX (const Array2D< T > &, bool hasudfs)
 
const Array2D< T > * getX () const
 
void setY (const Array2D< T > &, bool hasudfs)
 
const Array2D< T > * getY () const
 
void setZ (Array2D< T > &z)
 
void setNormalize (bool n)
 
void setCorrelate (bool yn)
 
od_int64 nrIterations () const
 
template<>
od_int64 nrIterations () const
 
template<>
 ~Convolver2D ()
 
- Public Member Functions inherited from ParallelTask
virtual ~ParallelTask ()
 
bool execute ()
 
virtual bool executeParallel (bool parallel)
 
void setProgressMeter (ProgressMeter *)
 Must be called before execute() More...
 
int64_t nrDone () const
 May be -1, i.e. class does not report nrdone. More...
 
int64_t totalNr () const
 
- Public Member Functions inherited from Task
virtual ~Task ()
 
virtual uiString uiMessage () const
 will be message() again in 7.x More...
 
virtual uiString uiNrDoneText () const
 will be nrDoneText() in 7.x More...
 
virtual void enableWorkControl (bool=true)
 Must be called before execute() More...
 
bool workControlEnabled () const
 
virtual void controlWork (Control)
 
virtual Control getState () const
 
- Public Member Functions inherited from NamedObject
 NamedObject (const char *nm=0)
 
 NamedObject (const NamedObject *linkedto)
 
 NamedObject (const NamedObject &)
 
virtual ~NamedObject ()
 
void setLinkedTo (NamedObject *)
 
bool operator== (const NamedObject &oth) const
 
virtual const OD::Stringname () const
 
virtual const OD::StringannotName () const
 
virtual void setName (const char *)
 
void setCleanName (const char *)
 cleans string first More...
 
void deleteNotify (const CallBack &)
 
- Public Member Functions inherited from CallBacker
 CallBacker ()
 
 CallBacker (const CallBacker &)
 
virtual ~CallBacker ()
 
bool attachCB (NotifierAccess &, const CallBack &, bool onlyifnew=false)
 
bool attachCB (NotifierAccess *notif, const CallBack &cb, bool onlyifnew=false)
 
void detachCB (NotifierAccess &, const CallBack &)
 
void detachCB (NotifierAccess *notif, const CallBack &cb)
 
bool isNotifierAttached (NotifierAccess *) const
 Only for debugging purposes, don't use. More...
 

Protected Member Functions

bool doWork (od_int64, od_int64, int)
 
bool doNonFFTWork (od_int64, od_int64, int)
 
bool doPrepare (int)
 
bool shouldFFT () const
 
template<>
bool shouldFFT () const
 
template<>
bool doWork (od_int64 start, od_int64 stop, int)
 
- Protected Member Functions inherited from ParallelTask
virtual int maxNrThreads () const
 
virtual int minThreadSize () const
 
virtual bool stopAllOnFailure () const
 
 ParallelTask (const char *nm=0)
 
 ParallelTask (const ParallelTask &)
 
int64_t calculateThreadSize (int64_t totalnr, int nrthreads, int thread) const
 
void addToNrDone (int64_t increment)
 
void quickAddToNrDone (int64_t loopidx)
 
void resetNrDone ()
 
- Protected Member Functions inherited from Task
 Task (const char *nm=0)
 
virtual bool shouldContinue ()
 
- Protected Member Functions inherited from CallBacker
void detachAllNotifiers ()
 Call from the destructor of your inherited object. More...
 

Protected Attributes

const Array2D< T > * x_
 
const Array2D< T > * y_
 
Array2D< T > * z_
 
bool normalize_
 
bool correlate_
 
bool xhasudfs_
 
bool yhasudfs_
 
float_complexxf_
 
float_complexyf_
 
float_complexzf_
 
bool updatexf_
 
bool updateyf_
 
Fourier::CCfft_
 
- Protected Attributes inherited from Task
Control control_
 
Threads::ConditionVarworkcontrolcondvar_
 
- Protected Attributes inherited from NamedObject
BufferStringname_
 
NamedObjectlinkedto_
 
CallBackSetdelnotify_
 

Additional Inherited Members

- Public Types inherited from Task
enum  Control { Run, Pause, Stop }
 
- Static Public Member Functions inherited from ParallelTask
static uiString sPosFinished ()
 
static uiString sTrcFinished ()
 
- Static Public Member Functions inherited from Task
static uiString stdNrDoneText ()
 
static uiString uiStdNrDoneText ()
 

Detailed Description

template<class T>
class Convolver2D< T >

Convolves (or correlates) two 2D signals.

Constructor & Destructor Documentation

template<class T >
Convolver2D< T >::Convolver2D ( )
inline
template<class T >
Convolver2D< T >::~Convolver2D ( )
template<>
Convolver2D< float >::~Convolver2D ( )

Member Function Documentation

template<class T >
bool Convolver2D< T >::doNonFFTWork ( od_int64  start,
od_int64  stop,
int   
)
inlineprotected
template<class T>
bool Convolver2D< T >::doPrepare ( int  nrthreads)
protectedvirtual

Called once, before any doWork is called.

Reimplemented from ParallelTask.

template<class T >
bool Convolver2D< T >::doWork ( od_int64  start,
od_int64  stop,
int  thread 
)
inlineprotected
template<>
bool Convolver2D< float >::doWork ( od_int64  start,
od_int64  stop,
int   
)
protected
template<class T>
const Array2D<T>* Convolver2D< T >::getX ( ) const
inline
template<class T>
const Array2D<T>* Convolver2D< T >::getY ( ) const
inline
template<class T >
od_int64 Convolver2D< T >::nrIterations ( ) const
inlinevirtual
Returns
the number of times the process should be run.

Implements ParallelTask.

template<>
od_int64 Convolver2D< float >::nrIterations ( ) const
inlinevirtual
Returns
the number of times the process should be run.

Implements ParallelTask.

template<class T>
void Convolver2D< T >::setCorrelate ( bool  yn)
inline

If true, the convolution will be replaced by a correllation.

template<class T>
void Convolver2D< T >::setNormalize ( bool  n)
inline

If true, the sum will be divided by the sum of Y.

template<class T >
void Convolver2D< T >::setX ( const Array2D< T > &  x,
bool  hasudfs 
)
inline
template<class T >
void Convolver2D< T >::setY ( const Array2D< T > &  y,
bool  hasudfs 
)
inline
template<class T>
void Convolver2D< T >::setZ ( Array2D< T > &  z)
inline
template<class T >
bool Convolver2D< T >::shouldFFT ( ) const
inlineprotected
template<>
bool Convolver2D< float >::shouldFFT ( ) const
inlineprotected

Member Data Documentation

template<class T>
bool Convolver2D< T >::correlate_
protected
template<class T>
Fourier::CC* Convolver2D< T >::fft_
protected
template<class T>
bool Convolver2D< T >::normalize_
protected
template<class T>
bool Convolver2D< T >::updatexf_
protected
template<class T>
bool Convolver2D< T >::updateyf_
protected
template<class T>
const Array2D<T>* Convolver2D< T >::x_
protected
template<class T>
float_complex* Convolver2D< T >::xf_
protected
template<class T>
bool Convolver2D< T >::xhasudfs_
protected
template<class T>
const Array2D<T>* Convolver2D< T >::y_
protected
template<class T>
float_complex* Convolver2D< T >::yf_
protected
template<class T>
bool Convolver2D< T >::yhasudfs_
protected
template<class T>
Array2D<T>* Convolver2D< T >::z_
protected
template<class T>
float_complex* Convolver2D< T >::zf_
protected

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