OpendTect-6_4  6.4
Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
Attrib::DipFilter Class Reference

Dip filtering Attribute. More...

Inheritance diagram for Attrib::DipFilter:
[legend]

Public Member Functions

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

Static Public Member Functions

static void initClass ()
 
static const char * attribName ()
 
static const char * sizeStr ()
 
static const char * typeStr ()
 
static const char * minvelStr ()
 
static const char * maxvelStr ()
 
static const char * filteraziStr ()
 
static const char * minaziStr ()
 
static const char * maxaziStr ()
 
static const char * taperlenStr ()
 
static const char * filterTypeNamesStr (int)
 
- Static Public Member Functions inherited from Attrib::Provider
static Providercreate (Desc &, uiString &errmsg)
 
static uiString prepare (Desc &)
 

Protected Member Functions

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

Static Protected Member Functions

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

Protected Attributes

int size_
 
int type_
 
float minvel_
 
float maxvel_
 
bool filterazi_
 
float minazi_
 
float maxazi_
 
float taperlen_
 
bool isinited_
 
Array3DImpl< float > kernel_
 
Interval< float > valrange_
 
float azi_
 
float aziaperture_
 
BinID stepout_
 
Interval< int > zmargin_
 
int dataidx_
 
ObjectSet< const DataHolderinputdata_
 
- Protected Attributes inherited from Attrib::Provider
ObjectSet< Providerinputs_
 
ObjectSet< Providerparents_
 
Descdesc_
 
TypeSet< int > outputinterest_
 
BinID desbufferstepout_
 
BinID reqbufferstepout_
 
TrcKeyZSamplingdesiredvolume_
 
TrcKeyZSamplingpossiblevolume_
 
TypeSet< Interval< int > > localcomputezintervals_
 
ObjectSet< Providerallexistingprov_
 
TypeSet< float > exactz_
 
ProviderTask * providertask_
 
DataHolderLineBufferlinebuffer_
 
BinID currentbid_
 
int prevtrcnr_
 
Pos::GeomID geomid_
 
const Seis::SelDataseldata_
 
Interval< float > extraz_
 
const SeisTrcInfocurtrcinfo_
 
BinID trcinfobid_
 
bool useshortcuts_
 
float refz0_
 
float refstep_
 
bool alreadymoved_
 
bool isusedmulttimes_
 
bool needinterp_
 
uiString errmsg_
 
bool dataunavailableflag_
 

Detailed Description

Dip filtering Attribute.

DipFilter convolves a signal with the on the command-line specified signal.

minvel/maxvel is the cutoff velocity (m/s) or dip (degrees), depending on the z-range unit.

Azimuth is given in degrees from the inline, in the direction of increasing crossline-numbers.

Taper is given as percentage. Tapering is done differently for the three different filtertype. Bandpass tapers at the upper and lower taperlen/2 parts of t the interval. Lowpass tapers from the maxvel down to 100-taperlen of the maxvel. Highpass tapers from minvel to 100+taperlen of minvel

The azimuthrange is tapered in the same way as bandpass.

DipFilter size= minvel= maxvel= type=LowPass|HighPass|BandPass
           filterazi=Y/N minazi= maxazi= taperlen=
type = HighPass
          x     x minvel > 0
          xx   xx
          xxx xxx
          xxxxxxx
          xxx xxx
          xx   xx
          x     x
type = LowPass
          xxxxxxx maxvel > 0
           xxxxx
            xxx
             x
            xxx
           xxxxx
          xxxxxxx
type = BandPass
             x       x  minvel
            xxx     xxx
            xxxx   xxxx maxvel > 0
              xxx xxx
                 x
              xxx xxx
            xxxx   xxxx
            xxx     xxx
             x       x
Inputs:
0       Signal to be filtered.

Constructor & Destructor Documentation

Attrib::DipFilter::DipFilter ( Desc )
Attrib::DipFilter::~DipFilter ( )
inlineprotected

Member Function Documentation

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

Reimplemented from Attrib::Provider.

static const char* Attrib::DipFilter::attribName ( )
inlinestatic
bool Attrib::DipFilter::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
threadidthread identifier that may be handy when using multiple threads.

Implements Attrib::Provider.

static Provider* Attrib::DipFilter::createInstance ( Desc )
staticprotected
const BinID* Attrib::DipFilter::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.

const Interval<int>* Attrib::DipFilter::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.

static const char* Attrib::DipFilter::filteraziStr ( )
inlinestatic
static const char* Attrib::DipFilter::filterTypeNamesStr ( int  )
static
bool Attrib::DipFilter::getInputData ( const BinID relpos,
int  idx 
)
protectedvirtual

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

Reimplemented from Attrib::Provider.

bool Attrib::DipFilter::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.

static void Attrib::DipFilter::initClass ( )
static
bool Attrib::DipFilter::initKernel ( )
protected
static const char* Attrib::DipFilter::maxaziStr ( )
inlinestatic
static const char* Attrib::DipFilter::maxvelStr ( )
inlinestatic
static const char* Attrib::DipFilter::minaziStr ( )
inlinestatic
static const char* Attrib::DipFilter::minvelStr ( )
inlinestatic
void Attrib::DipFilter::prepareForComputeData ( )
inlineprotectedvirtual

Everything is known now.

Reimplemented from Attrib::Provider.

static const char* Attrib::DipFilter::sizeStr ( )
inlinestatic
float Attrib::DipFilter::taper ( float  ) const
protected
static const char* Attrib::DipFilter::taperlenStr ( )
inlinestatic
static const char* Attrib::DipFilter::typeStr ( )
inlinestatic
static void Attrib::DipFilter::updateDefaults ( Desc )
staticprotected
static void Attrib::DipFilter::updateDesc ( Desc )
staticprotected

Member Data Documentation

float Attrib::DipFilter::azi_
protected
float Attrib::DipFilter::aziaperture_
protected
int Attrib::DipFilter::dataidx_
protected
bool Attrib::DipFilter::filterazi_
protected
ObjectSet<const DataHolder> Attrib::DipFilter::inputdata_
protected
bool Attrib::DipFilter::isinited_
protected
Array3DImpl<float> Attrib::DipFilter::kernel_
protected
float Attrib::DipFilter::maxazi_
protected
float Attrib::DipFilter::maxvel_
protected
float Attrib::DipFilter::minazi_
protected
float Attrib::DipFilter::minvel_
protected
int Attrib::DipFilter::size_
protected
BinID Attrib::DipFilter::stepout_
protected
float Attrib::DipFilter::taperlen_
protected
int Attrib::DipFilter::type_
protected
Interval<float> Attrib::DipFilter::valrange_
protected
Interval<int> Attrib::DipFilter::zmargin_
protected

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