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

Tracker that tracks Min/Max & Zero crossings between valueseries. More...

Inheritance diagram for EventTracker:
[legend]

Public Types

enum  CompareMethod { None, SeedTrace, AdjacentParent }
 

Public Member Functions

 EventTracker ()
 
const char * type ()
 
 mDeclareEnumUtils (CompareMethod) void setCompareMethod(CompareMethod)
 
CompareMethod getCompareMethod () const
 
virtual bool isOK () const
 
void setSeed (const ValueSeries< float > *, int sz, float depth)
 
void setRangeStep (float step)
 
float getRangeStep () const
 
void setPermittedRange (const Interval< float > &rg)
 
const Interval< float > & permittedRange () const
 
void setTrackEvent (VSEvent::Type ev)
 
VSEvent::Type trackEvent () const
 
void allowAmplitudeSignChange (bool)
 
bool isAmplitudeSignChangeAllowed () const
 
bool snap (const Interval< float > &amplrg)
 
bool snap (float threshold)
 
void useSimilarity (bool yn)
 
bool usesSimilarity () const
 
void normalizeSimilarityValues (bool yn)
 
bool normalizesSimilarityValues () const
 
void setUseAbsThreshold (bool abs)
 
bool useAbsThreshold () const
 
void setAmplitudeThreshold (float th)
 Must be set if using absolute threshold. More...
 
float amplitudeThreshold () const
 
void setAmplitudeThresholds (const TypeSet< float > &)
 
TypeSet< float > & getAmplitudeThresholds ()
 
void setAllowedVariance (float v)
 Only used if not using absolute threshold. More...
 
float allowedVariance () const
 
void setAllowedVariances (const TypeSet< float > &avs)
 
TypeSet< float > & getAllowedVariances ()
 
void setSimilarityWindow (const Interval< float > &rg)
 
const Interval< float > & similarityWindow () const
 
void setSimilarityThreshold (float th)
 
float similarityThreshold () const
 
void setSnapToEvent (bool)
 
bool snapToEvent () const
 
bool track ()
 
float quality () const
 
void fillPar (IOPar &par) const
 
bool usePar (const IOPar &par)
 
- Public Member Functions inherited from ValSeriesTracker
 ValSeriesTracker ()
 
virtual ~ValSeriesTracker ()
 
virtual void setSource (const ValueSeries< float > *, int sz, float depth)
 
virtual void setTarget (const ValueSeries< float > *, int sz, float initialdepth)
 
virtual float targetValue () const
 
virtual float targetDepth () const
 

Static Public Member Functions

static const char * sType ()
 
static const char ** sEventNames ()
 
static const VSEvent::TypecEventTypes ()
 
static int getEventTypeIdx (VSEvent::Type)
 

Protected Member Functions

ValueSeriesEvent< float, float > findExtreme (const ValueSeriesEvFinder< float, float > &, const Interval< float > &, float, float &, bool &, float &) const
 
ValueSeriesEvent< float, float > findExtreme (const ValueSeriesEvFinder< float, float > &, const Interval< float > &zrg, const Interval< float > &amplrg, float &avgampl, bool &hasloopskips, float &troughampl) const
 
bool findMaxSimilarity (int nrtests, int step, int nrgracetests, float &res, float &maxsim, bool &flatstart) const
 
bool isTargetValueAllowed () const
 

Static Protected Member Functions

static const char * sKeyPermittedRange ()
 
static const char * sKeyValueThreshold ()
 
static const char * sKeyValueThresholds ()
 
static const char * sKeyAllowedVariance ()
 
static const char * sKeyAllowedVariances ()
 
static const char * sKeyUseAbsThreshold ()
 
static const char * sKeySimWindow ()
 
static const char * sKeySimThreshold ()
 
static const char * sKeyNormSimi ()
 
static const char * sKeyTrackByValue ()
 
static const char * sKeyTrackEvent ()
 
static const char * sKeyCompareMethod ()
 
static const char * sKeyAttribID ()
 
static const char * sKeySnapToEvent ()
 
static const char * sKeyAllowSignChg ()
 

Protected Attributes

VSEvent::Type evtype_
 
Interval< float > permrange_
 
CompareMethod comparemethod_
 
float ampthreshold_
 
TypeSet< float > ampthresholds_
 
float allowedvar_
 
TypeSet< float > allowedvars_
 
bool useabsthreshold_
 
Interval< float > similaritywin_
 
float rangestep_
 
float similaritythreshold_
 
bool usesimilarity_
 
bool normalizesimi_
 
float compareampl_
 
bool dosnap_
 
float quality_
 
bool allowamplsignchg_
 
const ValueSeries< float > * seedvs_
 
float seeddepth_
 
int seedsize_
 
- Protected Attributes inherited from ValSeriesTracker
const ValueSeries< float > * sourcevs_
 
float sourcedepth_
 
int sourcesize_
 
const ValueSeries< float > * targetvs_
 
float targetdepth_
 
int targetsize_
 
float targetvalue_
 

Detailed Description

Tracker that tracks Min/Max & Zero crossings between valueseries.

Member Enumeration Documentation

Enumerator
None 
SeedTrace 
AdjacentParent 

Constructor & Destructor Documentation

EventTracker::EventTracker ( )

Member Function Documentation

void EventTracker::allowAmplitudeSignChange ( bool  )
float EventTracker::allowedVariance ( ) const
float EventTracker::amplitudeThreshold ( ) const
static const VSEvent::Type* EventTracker::cEventTypes ( )
static
void EventTracker::fillPar ( IOPar par) const
virtual

Reimplemented from ValSeriesTracker.

ValueSeriesEvent<float,float> EventTracker::findExtreme ( const ValueSeriesEvFinder< float, float > &  ,
const Interval< float > &  ,
float  ,
float &  ,
bool &  ,
float &   
) const
protected
ValueSeriesEvent<float,float> EventTracker::findExtreme ( const ValueSeriesEvFinder< float, float > &  ,
const Interval< float > &  zrg,
const Interval< float > &  amplrg,
float &  avgampl,
bool &  hasloopskips,
float &  troughampl 
) const
protected
bool EventTracker::findMaxSimilarity ( int  nrtests,
int  step,
int  nrgracetests,
float &  res,
float &  maxsim,
bool &  flatstart 
) const
protected
TypeSet<float>& EventTracker::getAllowedVariances ( )
TypeSet<float>& EventTracker::getAmplitudeThresholds ( )
CompareMethod EventTracker::getCompareMethod ( ) const
static int EventTracker::getEventTypeIdx ( VSEvent::Type  )
static
float EventTracker::getRangeStep ( ) const
inline
bool EventTracker::isAmplitudeSignChangeAllowed ( ) const

If true, a peak can have a negative amplitude value, and a trough can have a positive amplitude value.

virtual bool EventTracker::isOK ( ) const
virtual
Returns
whether the settings are OK, and it is possible to track.

Reimplemented from ValSeriesTracker.

bool EventTracker::isTargetValueAllowed ( ) const
protected
EventTracker::mDeclareEnumUtils ( CompareMethod  )
void EventTracker::normalizeSimilarityValues ( bool  yn)
bool EventTracker::normalizesSimilarityValues ( ) const
const Interval<float>& EventTracker::permittedRange ( ) const
float EventTracker::quality ( ) const
inlinevirtual

Reimplemented from ValSeriesTracker.

void EventTracker::setAllowedVariance ( float  v)

Only used if not using absolute threshold.

void EventTracker::setAllowedVariances ( const TypeSet< float > &  avs)
void EventTracker::setAmplitudeThreshold ( float  th)

Must be set if using absolute threshold.

void EventTracker::setAmplitudeThresholds ( const TypeSet< float > &  )
void EventTracker::setPermittedRange ( const Interval< float > &  rg)
void EventTracker::setRangeStep ( float  step)
inline
void EventTracker::setSeed ( const ValueSeries< float > *  ,
int  sz,
float  depth 
)
void EventTracker::setSimilarityThreshold ( float  th)
void EventTracker::setSimilarityWindow ( const Interval< float > &  rg)
void EventTracker::setSnapToEvent ( bool  )
void EventTracker::setTrackEvent ( VSEvent::Type  ev)
  • VSEvent::Max Will find max event within the permitted range where the amplitude is higher than the threshold.
  • VSEvent::Min Will find minimum event within the permitted range where the amplitude is lower than the threshold.
  • VSEvent::ZCNegPos Will find zerocrossing (Neg to Pos ) event within the permitted range. No amplitude threshold is used.
  • VSEvent::ZCPosNeg Will find zerocrossing (Pos to Neg) event within the permitted range. No amplitude threshold is used.
void EventTracker::setUseAbsThreshold ( bool  abs)

If on, the amplitude threshold is set by setAmplitudeThreshold(). If off, the amplitude threshold is set by (1-allowedVariance()) * compareamplitude. The compare amplitude is either extracted from the seed valseries or from source valseries.

static const char** EventTracker::sEventNames ( )
static
float EventTracker::similarityThreshold ( ) const
const Interval<float>& EventTracker::similarityWindow ( ) const
static const char* EventTracker::sKeyAllowedVariance ( )
staticprotected
static const char* EventTracker::sKeyAllowedVariances ( )
staticprotected
static const char* EventTracker::sKeyAllowSignChg ( )
staticprotected
static const char* EventTracker::sKeyAttribID ( )
staticprotected
static const char* EventTracker::sKeyCompareMethod ( )
staticprotected
static const char* EventTracker::sKeyNormSimi ( )
staticprotected
static const char* EventTracker::sKeyPermittedRange ( )
staticprotected
static const char* EventTracker::sKeySimThreshold ( )
staticprotected
static const char* EventTracker::sKeySimWindow ( )
staticprotected
static const char* EventTracker::sKeySnapToEvent ( )
staticprotected
static const char* EventTracker::sKeyTrackByValue ( )
staticprotected
static const char* EventTracker::sKeyTrackEvent ( )
staticprotected
static const char* EventTracker::sKeyUseAbsThreshold ( )
staticprotected
static const char* EventTracker::sKeyValueThreshold ( )
staticprotected
static const char* EventTracker::sKeyValueThresholds ( )
staticprotected
bool EventTracker::snap ( const Interval< float > &  amplrg)
bool EventTracker::snap ( float  threshold)
bool EventTracker::snapToEvent ( ) const
static const char* EventTracker::sType ( )
inlinestatic
bool EventTracker::track ( )
virtual

Calculates a new value for targetdepth_.

Implements ValSeriesTracker.

VSEvent::Type EventTracker::trackEvent ( ) const
const char* EventTracker::type ( )
inlinevirtual

Implements ValSeriesTracker.

bool EventTracker::useAbsThreshold ( ) const
bool EventTracker::usePar ( const IOPar par)
virtual

Reimplemented from ValSeriesTracker.

void EventTracker::useSimilarity ( bool  yn)

Snaps at nearest event that is in permitted range and where the amplitude meets the threshold criterion. Only needs target data.

bool EventTracker::usesSimilarity ( ) const

Member Data Documentation

bool EventTracker::allowamplsignchg_
protected
float EventTracker::allowedvar_
protected
TypeSet<float> EventTracker::allowedvars_
protected
float EventTracker::ampthreshold_
protected
TypeSet<float> EventTracker::ampthresholds_
protected
float EventTracker::compareampl_
protected
CompareMethod EventTracker::comparemethod_
protected
bool EventTracker::dosnap_
protected
VSEvent::Type EventTracker::evtype_
protected
bool EventTracker::normalizesimi_
protected
Interval<float> EventTracker::permrange_
protected
float EventTracker::quality_
protected
float EventTracker::rangestep_
protected
float EventTracker::seeddepth_
protected
int EventTracker::seedsize_
protected
const ValueSeries<float>* EventTracker::seedvs_
protected
float EventTracker::similaritythreshold_
protected
Interval<float> EventTracker::similaritywin_
protected
bool EventTracker::useabsthreshold_
protected
bool EventTracker::usesimilarity_
protected

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