OpendTect  6.6
Classes | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Private Member Functions | Private Attributes | List of all members
Attrib::GLCM_attrib Class Reference
Inheritance diagram for Attrib::GLCM_attrib:
[legend]

Classes

struct  Node
 
struct  PosAndSteeridx
 

Public Member Functions

 GLCM_attrib (Desc &)
 
void initSteering ()
 
- Public Member Functions inherited from Attrib::Provider
void addLocalCompZIntervals (const TypeSet< Interval< int > > &)
 
virtual void adjust2DLineStoredVolume ()
 
int alignInputs (ObjectSet< Provider > &)
 
int comparePosAndAlign (Provider *, bool, Provider *, bool, bool)
 
virtual bool compDistBetwTrcsStats (bool force=false)
 
void computeNewStartPos (BinID &)
 
void computeRefStep ()
 
void computeRefZ0 ()
 
void enableAllOutputs (bool yn=true)
 
void enableOutput (int output, bool yn=true)
 
uiString errMsg () const
 
virtual void fillDataPackWithTrc (RegularSeisDataPack *) const
 
float getApplicableCrlDist (bool) const
 
virtual void getCompNames (BufferStringSet &) const
 
virtual void getCompOutputIDs (TypeSet< int > &) const
 
Coord getCoord (const BinID &) const
 
Coord getCurrentCoord () const
 
BinID getCurrentPosition () const
 
virtual const SeisTrcInfogetCurrentTrcInfo () const
 
const DataHoldergetData (const BinID &relpos=BinID(0, 0), int idx=0)
 
const DataHoldergetDataDontCompute (const BinID &relpos) const
 
bool getDataUnavailableFlag () const
 
const BinIDgetDesBufStepout () const
 
DescgetDesc ()
 
const DescgetDesc () const
 
const TrcKeyZSamplinggetDesiredVolume () const
 
virtual float getDistBetwTrcs (bool, const char *linenm=0) const
 
BinID getElementStepout () const
 
virtual Pos::GeomID getGeomID () const
 
ObjectSet< Provider > & getInputs ()
 
const TrcKeyZSamplinggetPossibleVolume () const
 
virtual bool getPossibleVolume (int outp, TrcKeyZSampling &)
 
float getRefStep () const
 
float getRefZ0 () const
 
const BinIDgetReqBufStepout () const
 
virtual BinID getStepoutStep () const
 
int getTotalNrPos (bool)
 
BinID getTrcInfoBid () const
 
bool is2D () const
 
virtual bool isOK () const
 
bool isOutputEnabled (int output) const
 
virtual bool isSingleTrace () const
 
const TypeSet< Interval< int > > & localCompZIntervals () const
 
virtual int moveToNextTrace (BinID startpos=BinID(-1,-1), bool firstcheck=false)
 
virtual bool needStoredInput () const
 
int nrOutputs () const
 
virtual void prepareForComputeData ()
 
virtual void prepPriorToBoundsCalc ()
 
virtual bool prepPriorToOutputSetup ()
 
virtual void prepSteeringForStepout (const BinID &)
 
void resetDesiredVolume ()
 
void resetMoved ()
 
void resetZIntervals ()
 
void setCurLineName (const char *)
 
virtual bool setCurrentPosition (const BinID &)
 
void setDataUnavailableFlag (bool yn)
 
virtual void setDesBufStepout (const BinID &, bool wait=false)
 
void setDesiredVolume (const TrcKeyZSampling &)
 
void setExactZ (const TypeSet< float > &)
 
void setExtraZ (const Interval< float > &)
 
virtual void setGeomID (Pos::GeomID)
 
void setNeedInterpol (bool)
 
void setOutputInterestSize (bool preserve=false)
 
void setPossibleVolume (const TrcKeyZSampling &)
 
virtual void setRdmPaths (TypeSet< BinID > *truepath, TypeSet< BinID > *snappedpath)
 For directional attributes. More...
 
void setRefStep (float step)
 
void setRefZ0 (float z0)
 
virtual void setReqBufStepout (const BinID &, bool wait=false)
 
void setSelData (const Seis::SelData *)
 
void setUseSC ()
 
virtual void updateCSIfNeeded (TrcKeyZSampling &) const
 
void updateCurrentInfo ()
 
void updateInputReqs (int input=-1)
 
virtual void updateStorageReqs (bool all=false)
 
virtual bool usesTracePosition () const
 

Static Public Member Functions

static const char * attribName ()
 
static const char * attribTypeStr (int)
 
static const char * attributeStr ()
 
static const char * directionStr ()
 
static const char * directTypeStr (int)
 
static const char * gateStr ()
 
static void initClass ()
 
static const char * maxlimitStr ()
 
static const char * minlimitStr ()
 
static const char * numbergreyStr ()
 
static const char * sampStr ()
 
static const char * steeringStr ()
 
static const char * stepoutStr ()
 
- Static Public Member Functions inherited from Attrib::Provider
static Providercreate (Desc &, uiString &errmsg)
 
static uiString prepare (Desc &)
 

Protected Member Functions

 ~GLCM_attrib ()
 
bool allowParallelComputation () const
 
bool computeData (const DataHolder &, const BinID &relpos, int z0, int nrsamples, int threadid) const
 
const BinIDdesStepout (int, int) const
 
const Interval< float > * desZMargin (int input, int output) const
 
const Interval< int > * desZSampMargin (int input, int output) const
 
bool getInputData (const BinID &, int zintv)
 
bool getInputOutput (int input, TypeSet< int > &) const
 
const BinIDreqStepout (int input, int output) const
 
const Interval< float > * reqZMargin (int input, int output) const
 
- Protected Member Functions inherited from Attrib::Provider
 Provider (Desc &)
 
void addParent (Provider *prov)
 
virtual bool checkInpAndParsAtStart ()
 
void computeDesInputCube (int inp, int out, TrcKeyZSampling &, bool usestepout=true) const
 
float crlDist () const
 
float dipFactor () const
 
virtual bool doNotReUseDH () const
 
void fillInputRangesArray (Array2DImpl< BasicInterval< int > > &, int, const BasicInterval< int > &)
 
virtual bool finalizeCalculation (bool scs)
 
DataHoldergetDataHolder (const BinID &relpos)
 
int getDataIndex (int input) const
 
float getExtraZFromSampInterval (int, int) const
 
float getExtraZFromSampPos (float) const
 
float getInputValue (const DataHolder &, int inputidx, int sampleidx, int z0) const
 
float getInterpolInputValue (const DataHolder &, int inputidx, float sample, int z0) const
 
float getInterpolInputValue (const DataHolder &, int inputidx, float zval) const
 
virtual SeisMSCProvidergetMSCProvider (bool &) const
 
virtual BinDataDesc getOutputFormat (int output) const
 
virtual bool getZ0StoredData (float &z0) const
 
float getZAtSample (int idx) const
 
virtual bool getZStepStoredData (float &step) const
 
float inlDist () const
 
bool isNew2DLine () const
 
bool isUsedMultTimes ()
 
float lineDist () const
 
float maxSecureDip () const
 
virtual int minTaskSize () const
 
virtual bool preProcCommonToAllThreads (const DataHolder &out, const BinID &relpos)
 
void removeDataHolder (const BinID &relpos)
 
virtual const Interval< int > * reqZSampMargin (int input, int output) const
 
void setInput (int input, Provider *)
 
virtual bool setNrThreads (int idx)
 
void setOutputValue (const DataHolder &output, int outputidx, int sampleidx, int z0, float val) const
 
void setUsedMultTimes ()
 
void stdPrepSteering (const BinID &)
 
float trcDist () const
 
virtual bool useInterTrcDist () const
 
float zFactor () const
 
bool zIsTime () const
 

Static Protected Member Functions

static ProvidercreateInstance (Desc &)
 
static void updateDefaults (Desc &)
 
static void updateDesc (Desc &)
 
- Static Protected Member Functions inherited from Attrib::Provider
static ProviderinternalCreate (Desc &, ObjectSet< Provider > &, bool &issame, uiString &)
 

Private Member Functions

double computeAutocorrelation (Node *LinkedList, int elements) const
 
double computeClusterProminence (Node *LinkedList, int elements) const
 
double computeClusterShade (Node *LinkedList, int elements) const
 
double computeClusterTendency (Node *LinkedList, int elements) const
 
double computeContrast (Node *LinkedList, int elements) const
 
double computeCorrelation (Node *LinkedList, int elements) const
 
double computeDifferenceEntropy (Node *LinkedList, int elements) const
 
double computeDifferenceMean (Node *LinkedList, int elements) const
 
double computeDifferenceVariance (Node *LinkedList, int elements) const
 
double computeDissimilarity (Node *LinkedList, int elements) const
 
double computeEnergy (Node *head, int elements) const
 
double computeEntropy (Node *LinkedList, int elements) const
 
double computeF12 (Node *LinkedList, int elements) const
 
double computeF13 (Node *LinkedList, int elements) const
 
int computeGreyLevel (float) const
 
double computeHomogeneity (Node *LinkedList, int elements) const
 
double computeHX (Node *LinkedList, int elements) const
 
double computeHXY1 (Node *LinkedList, int elements) const
 
double computeHXY2 (Node *LinkedList, int elements) const
 
double computeHY (Node *LinkedList, int elements) const
 
double computeInertia (Node *LinkedList, int elements) const
 
double computeInverseDifferenceMoment (Node *LinkedList, int elements) const
 
double computeMaximumProbability (Node *LinkedList, int elements) const
 
double computeMean (Node *LinkedList, int elements) const
 
std::pair< double, double > computeMu (Node *LinkedList, int elements) const
 
double computeMuXminusY (Node *LinkedList, int elements) const
 
double computeMxI (Node *LinkedList, int elements, int i) const
 
double computeMXminusY (Node *LinkedList, int elements, int N) const
 
double computeMXplusY (Node *LinkedList, int elements, int N) const
 
double computeMyJ (Node *LinkedList, int elements, int j) const
 
std::pair< double, double > computeSigma (Node *LinkedList, int elements, double MuX, double MuY) const
 
double computeSumAverage (Node *LinkedList, int elements) const
 
double computeSumEntropy (Node *LinkedList, int elements) const
 
double computeSumMean (Node *LinkedList, int elements) const
 
double computeSumVariance (Node *LinkedList, int elements) const
 
double computeVariance (Node *LinkedList, int elements) const
 

Private Attributes

int attribute_
 
int dataidx_
 
Interval< float > desgate_
 
int direction_
 
bool dosteer_
 
Interval< float > gate_
 
ObjectSet< const DataHolderinpdata_
 
float maxlimit_
 
float minlimit_
 
Node Node_
 
PosAndSteeridx posandsteeridx_
 
Interval< int > sampgate_
 
int samples_
 
int samprange_
 
const DataHoldersteerdata_
 
BinID stepout_
 
int usegreylevels_
 

Additional Inherited Members

- Protected Attributes inherited from Attrib::Provider
ObjectSet< Providerallexistingprov_
 
bool alreadymoved_
 
BinID currentbid_
 
const SeisTrcInfocurtrcinfo_
 
bool dataunavailableflag_
 
BinID desbufferstepout_
 
Descdesc_
 
TrcKeyZSamplingdesiredvolume_
 
uiString errmsg_
 
TypeSet< float > exactz_
 
Interval< float > extraz_
 
Pos::GeomID geomid_
 
ObjectSet< Providerinputs_
 
bool isusedmulttimes_
 
DataHolderLineBufferlinebuffer_
 
TypeSet< Interval< int > > localcomputezintervals_
 
bool needinterp_
 
TypeSet< int > outputinterest_
 
ObjectSet< Providerparents_
 
TrcKeyZSamplingpossiblevolume_
 
int prevtrcnr_
 
ProviderTaskprovidertask_
 
float refstep_
 
float refz0_
 
BinID reqbufferstepout_
 
const Seis::SelDataseldata_
 
BinID trcinfobid_
 
bool useshortcuts_
 

Detailed Description

<>

Constructor & Destructor Documentation

◆ GLCM_attrib()

Attrib::GLCM_attrib::GLCM_attrib ( Desc )
explicit

◆ ~GLCM_attrib()

Attrib::GLCM_attrib::~GLCM_attrib ( )
inlineprotected

Member Function Documentation

◆ allowParallelComputation()

bool Attrib::GLCM_attrib::allowParallelComputation ( ) const
inlineprotectedvirtual

Reimplemented from Attrib::Provider.

◆ attribName()

static const char* Attrib::GLCM_attrib::attribName ( )
inlinestatic

◆ attribTypeStr()

static const char* Attrib::GLCM_attrib::attribTypeStr ( int  )
static

◆ attributeStr()

static const char* Attrib::GLCM_attrib::attributeStr ( )
inlinestatic

◆ computeAutocorrelation()

double Attrib::GLCM_attrib::computeAutocorrelation ( Node LinkedList,
int  elements 
) const
private

◆ computeClusterProminence()

double Attrib::GLCM_attrib::computeClusterProminence ( Node LinkedList,
int  elements 
) const
private

◆ computeClusterShade()

double Attrib::GLCM_attrib::computeClusterShade ( Node LinkedList,
int  elements 
) const
private

◆ computeClusterTendency()

double Attrib::GLCM_attrib::computeClusterTendency ( Node LinkedList,
int  elements 
) const
private

◆ computeContrast()

double Attrib::GLCM_attrib::computeContrast ( Node LinkedList,
int  elements 
) const
private

◆ computeCorrelation()

double Attrib::GLCM_attrib::computeCorrelation ( Node LinkedList,
int  elements 
) const
private

◆ computeData()

bool Attrib::GLCM_attrib::computeData ( const DataHolder output,
const BinID relpos,
int  t0,
int  nrsamples,
int  threadidx 
) const
protectedvirtual

The system will use the algorithm specified in this function to compute the attribute's outputs. The results will be stored as different series in the DataHolder output.

Parameters
output
relpos
t0
nrsamples
threadidxthread identifier that may be handy when using multiple threads.

Implements Attrib::Provider.

◆ computeDifferenceEntropy()

double Attrib::GLCM_attrib::computeDifferenceEntropy ( Node LinkedList,
int  elements 
) const
private

◆ computeDifferenceMean()

double Attrib::GLCM_attrib::computeDifferenceMean ( Node LinkedList,
int  elements 
) const
private

◆ computeDifferenceVariance()

double Attrib::GLCM_attrib::computeDifferenceVariance ( Node LinkedList,
int  elements 
) const
private

◆ computeDissimilarity()

double Attrib::GLCM_attrib::computeDissimilarity ( Node LinkedList,
int  elements 
) const
private

◆ computeEnergy()

double Attrib::GLCM_attrib::computeEnergy ( Node head,
int  elements 
) const
private

◆ computeEntropy()

double Attrib::GLCM_attrib::computeEntropy ( Node LinkedList,
int  elements 
) const
private

◆ computeF12()

double Attrib::GLCM_attrib::computeF12 ( Node LinkedList,
int  elements 
) const
private

◆ computeF13()

double Attrib::GLCM_attrib::computeF13 ( Node LinkedList,
int  elements 
) const
private

◆ computeGreyLevel()

int Attrib::GLCM_attrib::computeGreyLevel ( float  ) const
private

◆ computeHomogeneity()

double Attrib::GLCM_attrib::computeHomogeneity ( Node LinkedList,
int  elements 
) const
private

◆ computeHX()

double Attrib::GLCM_attrib::computeHX ( Node LinkedList,
int  elements 
) const
private

◆ computeHXY1()

double Attrib::GLCM_attrib::computeHXY1 ( Node LinkedList,
int  elements 
) const
private

◆ computeHXY2()

double Attrib::GLCM_attrib::computeHXY2 ( Node LinkedList,
int  elements 
) const
private

◆ computeHY()

double Attrib::GLCM_attrib::computeHY ( Node LinkedList,
int  elements 
) const
private

◆ computeInertia()

double Attrib::GLCM_attrib::computeInertia ( Node LinkedList,
int  elements 
) const
private

◆ computeInverseDifferenceMoment()

double Attrib::GLCM_attrib::computeInverseDifferenceMoment ( Node LinkedList,
int  elements 
) const
private

◆ computeMaximumProbability()

double Attrib::GLCM_attrib::computeMaximumProbability ( Node LinkedList,
int  elements 
) const
private

◆ computeMean()

double Attrib::GLCM_attrib::computeMean ( Node LinkedList,
int  elements 
) const
private

◆ computeMu()

std::pair<double, double> Attrib::GLCM_attrib::computeMu ( Node LinkedList,
int  elements 
) const
private

◆ computeMuXminusY()

double Attrib::GLCM_attrib::computeMuXminusY ( Node LinkedList,
int  elements 
) const
private

◆ computeMxI()

double Attrib::GLCM_attrib::computeMxI ( Node LinkedList,
int  elements,
int  i 
) const
private

◆ computeMXminusY()

double Attrib::GLCM_attrib::computeMXminusY ( Node LinkedList,
int  elements,
int  N 
) const
private

◆ computeMXplusY()

double Attrib::GLCM_attrib::computeMXplusY ( Node LinkedList,
int  elements,
int  N 
) const
private

◆ computeMyJ()

double Attrib::GLCM_attrib::computeMyJ ( Node LinkedList,
int  elements,
int  j 
) const
private

◆ computeSigma()

std::pair<double, double> Attrib::GLCM_attrib::computeSigma ( Node LinkedList,
int  elements,
double  MuX,
double  MuY 
) const
private

◆ computeSumAverage()

double Attrib::GLCM_attrib::computeSumAverage ( Node LinkedList,
int  elements 
) const
private

◆ computeSumEntropy()

double Attrib::GLCM_attrib::computeSumEntropy ( Node LinkedList,
int  elements 
) const
private

◆ computeSumMean()

double Attrib::GLCM_attrib::computeSumMean ( Node LinkedList,
int  elements 
) const
private

◆ computeSumVariance()

double Attrib::GLCM_attrib::computeSumVariance ( Node LinkedList,
int  elements 
) const
private

◆ computeVariance()

double Attrib::GLCM_attrib::computeVariance ( Node LinkedList,
int  elements 
) const
private

◆ createInstance()

static Provider* Attrib::GLCM_attrib::createInstance ( Desc )
staticprotected

◆ desStepout()

const BinID* Attrib::GLCM_attrib::desStepout ( int  input,
int  output 
) const
protectedvirtual

The system will try to supply the attribute with the desired stepout, but will not take the desired stepout into account when computing the volume that can be computed.

Returns
the desired stepout on input if output is going to be computed, or NULL if no stepout is desired.

Reimplemented from Attrib::Provider.

◆ desZMargin()

const Interval<float>* Attrib::GLCM_attrib::desZMargin ( int  input,
int  output 
) const
protectedvirtual

The gate is specified in the depth-unit of the survey (e.g. seconds, feet or meters), and is in addition to the gate specified in desZSampMargin. The system will try to supply the attribute with the desired gate, but will not take the desired gate into account when computing the volume that can be computed.

Returns
the extra gate desired on input if output is going to be computed, or NULL if no extra gate is desired.

Reimplemented from Attrib::Provider.

◆ desZSampMargin()

const Interval<int>* Attrib::GLCM_attrib::desZSampMargin ( int  input,
int  output 
) const
protectedvirtual

The gate is specified in the trace samples, and is in addition to the gate specified in desZMargin. The system will try to supply the attribute with the desired gate, but will not take the desired gate into account when computing the volume that can be computed.

Returns
the extra gate desired on input if output is going to be computed, or NULL if no extra gate is desired.

Reimplemented from Attrib::Provider.

◆ directionStr()

static const char* Attrib::GLCM_attrib::directionStr ( )
inlinestatic

◆ directTypeStr()

static const char* Attrib::GLCM_attrib::directTypeStr ( int  )
static

◆ gateStr()

static const char* Attrib::GLCM_attrib::gateStr ( )
inlinestatic

◆ getInputData()

bool Attrib::GLCM_attrib::getInputData ( const BinID relpos,
int  idx 
)
protectedvirtual

Gets all imput data, including data for which a stepout is required

Reimplemented from Attrib::Provider.

◆ getInputOutput()

bool Attrib::GLCM_attrib::getInputOutput ( int  input,
TypeSet< int > &   
) const
protectedvirtual

Specifies the outputs needed for calculation among all those provided by the input data; very usefull when steering used as input data

Reimplemented from Attrib::Provider.

◆ initClass()

static void Attrib::GLCM_attrib::initClass ( )
static

◆ initSteering()

void Attrib::GLCM_attrib::initSteering ( )
inlinevirtual

Reimplemented from Attrib::Provider.

◆ maxlimitStr()

static const char* Attrib::GLCM_attrib::maxlimitStr ( )
inlinestatic

◆ minlimitStr()

static const char* Attrib::GLCM_attrib::minlimitStr ( )
inlinestatic

◆ numbergreyStr()

static const char* Attrib::GLCM_attrib::numbergreyStr ( )
inlinestatic

◆ reqStepout()

const BinID* Attrib::GLCM_attrib::reqStepout ( int  input,
int  output 
) const
protectedvirtual

The system will supply the attribute with the required stepout, and use it to compute the volume that can be computed.

Returns
the required stepout on input if output is going to be computed, or NULL if no stepout is required.

Reimplemented from Attrib::Provider.

◆ reqZMargin()

const Interval<float>* Attrib::GLCM_attrib::reqZMargin ( int  input,
int  output 
) const
protectedvirtual

Reimplemented from Attrib::Provider.

◆ sampStr()

static const char* Attrib::GLCM_attrib::sampStr ( )
inlinestatic

◆ steeringStr()

static const char* Attrib::GLCM_attrib::steeringStr ( )
inlinestatic

◆ stepoutStr()

static const char* Attrib::GLCM_attrib::stepoutStr ( )
inlinestatic

◆ updateDefaults()

static void Attrib::GLCM_attrib::updateDefaults ( Desc )
staticprotected

◆ updateDesc()

static void Attrib::GLCM_attrib::updateDesc ( Desc )
staticprotected

Member Data Documentation

◆ attribute_

int Attrib::GLCM_attrib::attribute_
private

◆ dataidx_

int Attrib::GLCM_attrib::dataidx_
private

◆ desgate_

Interval<float> Attrib::GLCM_attrib::desgate_
private

◆ direction_

int Attrib::GLCM_attrib::direction_
private

◆ dosteer_

bool Attrib::GLCM_attrib::dosteer_
private

◆ gate_

Interval<float> Attrib::GLCM_attrib::gate_
private

◆ inpdata_

ObjectSet<const DataHolder> Attrib::GLCM_attrib::inpdata_
private

◆ maxlimit_

float Attrib::GLCM_attrib::maxlimit_
private

◆ minlimit_

float Attrib::GLCM_attrib::minlimit_
private

◆ Node_

Node Attrib::GLCM_attrib::Node_
private

◆ posandsteeridx_

PosAndSteeridx Attrib::GLCM_attrib::posandsteeridx_
private

◆ sampgate_

Interval<int> Attrib::GLCM_attrib::sampgate_
private

◆ samples_

int Attrib::GLCM_attrib::samples_
private

◆ samprange_

int Attrib::GLCM_attrib::samprange_
private

◆ steerdata_

const DataHolder* Attrib::GLCM_attrib::steerdata_
private

◆ stepout_

BinID Attrib::GLCM_attrib::stepout_
private

◆ usegreylevels_

int Attrib::GLCM_attrib::usegreylevels_
private

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