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

Static Public Member Functions

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

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 * sKeyAllowedVariance ()
 
static const char * sKeyAllowedVariances ()
 
static const char * sKeyAllowSignChg ()
 
static const char * sKeyAttribID ()
 
static const char * sKeyCompareMethod ()
 
static const char * sKeyNormSimi ()
 
static const char * sKeyPermittedRange ()
 
static const char * sKeySimThreshold ()
 
static const char * sKeySimWindow ()
 
static const char * sKeySnapToEvent ()
 
static const char * sKeyTrackByValue ()
 
static const char * sKeyTrackEvent ()
 
static const char * sKeyUseAbsThreshold ()
 
static const char * sKeyValueThreshold ()
 
static const char * sKeyValueThresholds ()
 

Protected Attributes

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

Detailed Description

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

<>

Member Enumeration Documentation

◆ CompareMethod

Enumerator
None 
SeedTrace 
AdjacentParent 

Constructor & Destructor Documentation

◆ EventTracker()

EventTracker::EventTracker ( )

Member Function Documentation

◆ allowAmplitudeSignChange()

void EventTracker::allowAmplitudeSignChange ( bool  )

◆ allowedVariance()

float EventTracker::allowedVariance ( ) const

◆ amplitudeThreshold()

float EventTracker::amplitudeThreshold ( ) const

◆ cEventTypes()

static const VSEvent::Type* EventTracker::cEventTypes ( )
static

◆ fillPar()

void EventTracker::fillPar ( IOPar par) const
virtual

Reimplemented from ValSeriesTracker.

◆ findExtreme() [1/2]

ValueSeriesEvent<float,float> EventTracker::findExtreme ( const ValueSeriesEvFinder< float, float > &  ,
const Interval< float > &  ,
float  ,
float &  ,
bool &  ,
float &   
) const
protected

◆ findExtreme() [2/2]

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

◆ findMaxSimilarity()

bool EventTracker::findMaxSimilarity ( int  nrtests,
int  step,
int  nrgracetests,
float &  res,
float &  maxsim,
bool &  flatstart 
) const
protected

◆ getAllowedVariances()

TypeSet<float>& EventTracker::getAllowedVariances ( )

◆ getAmplitudeThresholds()

TypeSet<float>& EventTracker::getAmplitudeThresholds ( )

◆ getCompareMethod()

CompareMethod EventTracker::getCompareMethod ( ) const

◆ getEventTypeIdx()

static int EventTracker::getEventTypeIdx ( VSEvent::Type  )
static

◆ getRangeStep()

float EventTracker::getRangeStep ( ) const
inline

◆ isAmplitudeSignChangeAllowed()

bool EventTracker::isAmplitudeSignChangeAllowed ( ) const

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

◆ isOK()

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

Reimplemented from ValSeriesTracker.

◆ isTargetValueAllowed()

bool EventTracker::isTargetValueAllowed ( ) const
protected

◆ normalizeSimilarityValues()

void EventTracker::normalizeSimilarityValues ( bool  yn)

◆ normalizesSimilarityValues()

bool EventTracker::normalizesSimilarityValues ( ) const

◆ permittedRange()

const Interval<float>& EventTracker::permittedRange ( ) const

◆ quality()

float EventTracker::quality ( ) const
inlinevirtual

Reimplemented from ValSeriesTracker.

◆ setAllowedVariance()

void EventTracker::setAllowedVariance ( float  v)

Only used if not using absolute threshold.

◆ setAllowedVariances()

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

◆ setAmplitudeThreshold()

void EventTracker::setAmplitudeThreshold ( float  th)

Must be set if using absolute threshold.

◆ setAmplitudeThresholds()

void EventTracker::setAmplitudeThresholds ( const TypeSet< float > &  )

◆ setCompareMethod()

void EventTracker::setCompareMethod ( CompareMethod  )

◆ setPermittedRange()

void EventTracker::setPermittedRange ( const Interval< float > &  rg)

◆ setRangeStep()

void EventTracker::setRangeStep ( float  step)
inline

◆ setSeed()

void EventTracker::setSeed ( const ValueSeries< float > *  ,
int  sz,
float  depth 
)

◆ setSimilarityThreshold()

void EventTracker::setSimilarityThreshold ( float  th)

◆ setSimilarityWindow()

void EventTracker::setSimilarityWindow ( const Interval< float > &  rg)

◆ setSnapToEvent()

void EventTracker::setSnapToEvent ( bool  )

◆ setTrackEvent()

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.

◆ setUseAbsThreshold()

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.

◆ sEventNames()

static const char** EventTracker::sEventNames ( )
static

◆ similarityThreshold()

float EventTracker::similarityThreshold ( ) const

◆ similarityWindow()

const Interval<float>& EventTracker::similarityWindow ( ) const

◆ sKeyAllowedVariance()

static const char* EventTracker::sKeyAllowedVariance ( )
staticprotected

◆ sKeyAllowedVariances()

static const char* EventTracker::sKeyAllowedVariances ( )
staticprotected

◆ sKeyAllowSignChg()

static const char* EventTracker::sKeyAllowSignChg ( )
staticprotected

◆ sKeyAttribID()

static const char* EventTracker::sKeyAttribID ( )
staticprotected

◆ sKeyCompareMethod()

static const char* EventTracker::sKeyCompareMethod ( )
staticprotected

◆ sKeyNormSimi()

static const char* EventTracker::sKeyNormSimi ( )
staticprotected

◆ sKeyPermittedRange()

static const char* EventTracker::sKeyPermittedRange ( )
staticprotected

◆ sKeySimThreshold()

static const char* EventTracker::sKeySimThreshold ( )
staticprotected

◆ sKeySimWindow()

static const char* EventTracker::sKeySimWindow ( )
staticprotected

◆ sKeySnapToEvent()

static const char* EventTracker::sKeySnapToEvent ( )
staticprotected

◆ sKeyTrackByValue()

static const char* EventTracker::sKeyTrackByValue ( )
staticprotected

◆ sKeyTrackEvent()

static const char* EventTracker::sKeyTrackEvent ( )
staticprotected

◆ sKeyUseAbsThreshold()

static const char* EventTracker::sKeyUseAbsThreshold ( )
staticprotected

◆ sKeyValueThreshold()

static const char* EventTracker::sKeyValueThreshold ( )
staticprotected

◆ sKeyValueThresholds()

static const char* EventTracker::sKeyValueThresholds ( )
staticprotected

◆ snap() [1/2]

bool EventTracker::snap ( const Interval< float > &  amplrg)

◆ snap() [2/2]

bool EventTracker::snap ( float  threshold)

◆ snapToEvent()

bool EventTracker::snapToEvent ( ) const

◆ sType()

static const char* EventTracker::sType ( )
inlinestatic

◆ track()

bool EventTracker::track ( )
virtual

Calculates a new value for targetdepth_.

Implements ValSeriesTracker.

◆ trackEvent()

VSEvent::Type EventTracker::trackEvent ( ) const

◆ type()

const char* EventTracker::type ( )
inlinevirtual

Implements ValSeriesTracker.

◆ useAbsThreshold()

bool EventTracker::useAbsThreshold ( ) const

◆ usePar()

bool EventTracker::usePar ( const IOPar par)
virtual

Reimplemented from ValSeriesTracker.

◆ useSimilarity()

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.

◆ usesSimilarity()

bool EventTracker::usesSimilarity ( ) const

Member Data Documentation

◆ allowamplsignchg_

bool EventTracker::allowamplsignchg_
protected

◆ allowedvar_

float EventTracker::allowedvar_
protected

◆ allowedvars_

TypeSet<float> EventTracker::allowedvars_
protected

◆ ampthreshold_

float EventTracker::ampthreshold_
protected

◆ ampthresholds_

TypeSet<float> EventTracker::ampthresholds_
protected

◆ compareampl_

float EventTracker::compareampl_
protected

◆ comparemethod_

CompareMethod EventTracker::comparemethod_
protected

◆ dosnap_

bool EventTracker::dosnap_
protected

◆ evtype_

VSEvent::Type EventTracker::evtype_
protected

◆ normalizesimi_

bool EventTracker::normalizesimi_
protected

◆ permrange_

Interval<float> EventTracker::permrange_
protected

◆ quality_

float EventTracker::quality_
protected

◆ rangestep_

float EventTracker::rangestep_
protected

◆ seeddepth_

float EventTracker::seeddepth_
protected

◆ seedsize_

int EventTracker::seedsize_
protected

◆ seedvs_

const ValueSeries<float>* EventTracker::seedvs_
protected

◆ similaritythreshold_

float EventTracker::similaritythreshold_
protected

◆ similaritywin_

Interval<float> EventTracker::similaritywin_
protected

◆ useabsthreshold_

bool EventTracker::useabsthreshold_
protected

◆ usesimilarity_

bool EventTracker::usesimilarity_
protected

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