OpendTect  6.6
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Static Private Member Functions | Private Attributes | Friends | List of all members
VolProc::Step Class Referenceabstract

An algorithm/calculation/transformation that takes one scalar volume as input, processes it, and puts the output in another volume. More...

Inheritance diagram for VolProc::Step:
[legend]

Public Types

typedef int ID
 
typedef int InputSlotID
 
typedef int OutputSlotID
 

Public Member Functions

virtual ~Step ()
 
virtual bool areSamplesIndependent () const
 
virtual bool canHandle2D () const
 
virtual bool canInputAndOutputBeSame () const
 
virtual TaskcreateTask ()
 
virtual TaskcreateTaskWithProgMeter (ProgressMeter *)
 
void enableOutput (OutputSlotID)
 
virtual uiString errMsg () const
 
virtual void fillPar (IOPar &) const
 
ChaingetChain ()
 
const ChaingetChain () const
 
ID getID () const
 
const RegularSeisDataPackgetInput (InputSlotID) const
 
virtual TrcKeySampling getInputHRg (const TrcKeySampling &) const
 
TrcKeyZSampling getInputSampling (const TrcKeyZSampling &) const
 
virtual InputSlotID getInputSlotID (int idx) const
 
virtual void getInputSlotName (InputSlotID, BufferString &) const
 
virtual StepInterval< int > getInputZRg (const StepInterval< int > &) const
 
virtual StepInterval< int > getInputZRgWithGeom (const StepInterval< int > &, Survey::Geometry::ID) const
 
virtual int getNrInputs () const
 
virtual int getNrOutputs () const
 
virtual mDeprecatedDef od_int64 getOuputMemSize (int) const
 
RegularSeisDataPackgetOutput ()
 
const RegularSeisDataPackgetOutput () const
 
RegularSeisDataPackgetOutput (OutputSlotID)
 
const RegularSeisDataPackgetOutput (OutputSlotID) const
 
int getOutputIdx (OutputSlotID) const
 
virtual OutputSlotID getOutputSlotID (int idx) const
 
virtual mDeprecatedDef od_int64 getProcTimeExtraMemory () const
 
virtual const VelocityDescgetVelDesc () const
 
virtual bool isInputPrevStep () const
 
virtual bool needReportProgress ()
 
virtual bool needsFullVolume () const
 
virtual bool needsInput () const =0
 
virtual void releaseData ()
 
void resetInput ()
 
virtual void setInput (InputSlotID, const RegularSeisDataPack *)
 
virtual void setOutput (OutputSlotID, RegularSeisDataPack *, const TrcKeySampling &, const StepInterval< int > &)
 
virtual void setUserName (const char *nm)
 
virtual bool usePar (const IOPar &)
 
virtual const char * userName () const
 
bool validInputSlotID (InputSlotID) const
 
bool validOutputSlotID (OutputSlotID) const
 

Static Public Member Functions

static ID cUndefID ()
 
static int cUndefSlotID ()
 
static mDeprecatedDef od_int64 getBaseMemoryUsage (const TrcKeySampling &, const StepInterval< int > &)
 

Protected Member Functions

 Step ()
 
virtual bool computeBinID (const BinID &, int threadid)
 
virtual od_int64 extraMemoryUsage (OutputSlotID, const TrcKeySampling &, const StepInterval< int > &) const
 
od_uint64 getComponentMemory (const TrcKeySampling &, bool input) const
 
int getNrInputComponents (InputSlotID) const
 
int getNrOutComponents () const
 
const StepInterval< float > & getZSampling () const
 
virtual bool prefersBinIDWise () const
 
virtual bool prepareComp (int nrthreads)
 
void setHStep (const BinID &bid)
 
void setInpNrComps (InputSlotID, int)
 
void setOutputNrComps (int nr)
 
void setVStep (int zstep)
 

Protected Attributes

Chainchain_
 
uiString errmsg_
 
ID id_
 
ObjectSet< const RegularSeisDataPackinputs_
 
TypeSet< InputSlotIDinputslotids_
 
TypeSet< OutputSlotIDoutputslotids_
 
mDeprecatedDef TrcKeySampling tks_
 
BufferString username_
 
mDeprecatedDef StepInterval< int > zrg_
 

Private Member Functions

od_uint64 extraMemoryUsage (OutputSlotID, const TrcKeyZSampling &) const
 
od_uint64 getComponentMemory (const TrcKeyZSampling &, bool input) const
 
StepInterval< float > getInputZSamp (const StepInterval< float > &) const
 
void setChain (Chain &)
 

Static Private Member Functions

static od_uint64 getBaseMemoryUsage (const TrcKeyZSampling &)
 

Private Attributes

BinID hstep_
 
TypeSet< int > nrinpcomps_
 
int nroutcomps_ = 1
 
RegularSeisDataPackoutput_
 
int vstep_ = 0
 
StepInterval< float > zsamp_
 

Friends

class BinIDWiseTask
 
class Chain
 
class ChainExecutor
 

Detailed Description

An algorithm/calculation/transformation that takes one scalar volume as input, processes it, and puts the output in another volume.

Every step will be part of a Chain, which will give the step its ID.

<>

Member Typedef Documentation

◆ ID

typedef int VolProc::Step::ID

◆ InputSlotID

◆ OutputSlotID

Constructor & Destructor Documentation

◆ ~Step()

virtual VolProc::Step::~Step ( )
virtual

◆ Step()

VolProc::Step::Step ( )
protected

Member Function Documentation

◆ areSamplesIndependent()

virtual bool VolProc::Step::areSamplesIndependent ( ) const
inlinevirtual

returns whether samples in the output are independent from each other.

Reimplemented in VolProc::VoxelConnectivityFilter, VolProc::SurfaceLimitedFiller, VolProc::LateralSmoother, VolProc::HorInterFiller, and VolProc::BodyFiller.

◆ canHandle2D()

virtual bool VolProc::Step::canHandle2D ( ) const
inlinevirtual

◆ canInputAndOutputBeSame()

virtual bool VolProc::Step::canInputAndOutputBeSame ( ) const
inlinevirtual

◆ computeBinID()

virtual bool VolProc::Step::computeBinID ( const BinID ,
int  threadid 
)
inlineprotectedvirtual

◆ createTask()

virtual Task* VolProc::Step::createTask ( )
virtual

◆ createTaskWithProgMeter()

virtual Task* VolProc::Step::createTaskWithProgMeter ( ProgressMeter )
virtual

◆ cUndefID()

static ID VolProc::Step::cUndefID ( )
inlinestatic

◆ cUndefSlotID()

static int VolProc::Step::cUndefSlotID ( )
inlinestatic

◆ enableOutput()

void VolProc::Step::enableOutput ( OutputSlotID  )

◆ errMsg()

virtual uiString VolProc::Step::errMsg ( ) const
inlinevirtual

◆ extraMemoryUsage() [1/2]

virtual od_int64 VolProc::Step::extraMemoryUsage ( OutputSlotID  ,
const TrcKeySampling ,
const StepInterval< int > &   
) const
inlineprotectedvirtual

◆ extraMemoryUsage() [2/2]

od_uint64 VolProc::Step::extraMemoryUsage ( OutputSlotID  ,
const TrcKeyZSampling  
) const
private

◆ fillPar()

virtual void VolProc::Step::fillPar ( IOPar ) const
virtual

◆ getBaseMemoryUsage() [1/2]

static mDeprecatedDef od_int64 VolProc::Step::getBaseMemoryUsage ( const TrcKeySampling ,
const StepInterval< int > &   
)
static

◆ getBaseMemoryUsage() [2/2]

static od_uint64 VolProc::Step::getBaseMemoryUsage ( const TrcKeyZSampling )
staticprivate

◆ getChain() [1/2]

Chain& VolProc::Step::getChain ( )

◆ getChain() [2/2]

const Chain& VolProc::Step::getChain ( ) const

◆ getComponentMemory() [1/2]

od_uint64 VolProc::Step::getComponentMemory ( const TrcKeySampling ,
bool  input 
) const
protected

◆ getComponentMemory() [2/2]

od_uint64 VolProc::Step::getComponentMemory ( const TrcKeyZSampling ,
bool  input 
) const
private

◆ getID()

ID VolProc::Step::getID ( ) const
inline

◆ getInput()

const RegularSeisDataPack* VolProc::Step::getInput ( InputSlotID  ) const

◆ getInputHRg()

virtual TrcKeySampling VolProc::Step::getInputHRg ( const TrcKeySampling ) const
virtual

When computing TrcKeySampling, how big input is needed?

Reimplemented in VolProc::StatsCalculator, VolProc::Smoother, and VolProc::LateralSmoother.

◆ getInputSampling()

TrcKeyZSampling VolProc::Step::getInputSampling ( const TrcKeyZSampling ) const

◆ getInputSlotID()

virtual InputSlotID VolProc::Step::getInputSlotID ( int  idx) const
virtual

◆ getInputSlotName()

virtual void VolProc::Step::getInputSlotName ( InputSlotID  ,
BufferString  
) const
virtual

◆ getInputZRg()

virtual StepInterval<int> VolProc::Step::getInputZRg ( const StepInterval< int > &  ) const
virtual

Reimplemented in VolProc::Smoother.

◆ getInputZRgWithGeom()

virtual StepInterval<int> VolProc::Step::getInputZRgWithGeom ( const StepInterval< int > &  ,
Survey::Geometry::ID   
) const
virtual

When computing Z Sampling, how big input is needed?

Reimplemented in VolProc::Smoother.

◆ getInputZSamp()

StepInterval<float> VolProc::Step::getInputZSamp ( const StepInterval< float > &  ) const
private

◆ getNrInputComponents()

int VolProc::Step::getNrInputComponents ( InputSlotID  ) const
protected

◆ getNrInputs()

virtual int VolProc::Step::getNrInputs ( ) const
virtual

Reimplemented in VolProc::MatlabStep.

◆ getNrOutComponents()

int VolProc::Step::getNrOutComponents ( ) const
inlineprotected

◆ getNrOutputs()

virtual int VolProc::Step::getNrOutputs ( ) const
inlinevirtual

◆ getOuputMemSize()

virtual mDeprecatedDef od_int64 VolProc::Step::getOuputMemSize ( int  ) const
virtual

◆ getOutput() [1/4]

RegularSeisDataPack* VolProc::Step::getOutput ( )
inline

◆ getOutput() [2/4]

const RegularSeisDataPack* VolProc::Step::getOutput ( ) const
inline

◆ getOutput() [3/4]

RegularSeisDataPack* VolProc::Step::getOutput ( OutputSlotID  )

◆ getOutput() [4/4]

const RegularSeisDataPack* VolProc::Step::getOutput ( OutputSlotID  ) const

◆ getOutputIdx()

int VolProc::Step::getOutputIdx ( OutputSlotID  ) const

◆ getOutputSlotID()

virtual OutputSlotID VolProc::Step::getOutputSlotID ( int  idx) const
virtual

◆ getProcTimeExtraMemory()

virtual mDeprecatedDef od_int64 VolProc::Step::getProcTimeExtraMemory ( ) const
inlinevirtual

◆ getVelDesc()

virtual const VelocityDesc* VolProc::Step::getVelDesc ( ) const
inlinevirtual

Reimplemented in VolProc::VelocityGridder.

◆ getZSampling()

const StepInterval<float>& VolProc::Step::getZSampling ( ) const
inlineprotected

◆ isInputPrevStep()

virtual bool VolProc::Step::isInputPrevStep ( ) const
inlinevirtual

◆ needReportProgress()

virtual bool VolProc::Step::needReportProgress ( )
inlinevirtual

◆ needsFullVolume()

virtual bool VolProc::Step::needsFullVolume ( ) const
inlinevirtual

◆ needsInput()

virtual bool VolProc::Step::needsInput ( ) const
pure virtual

◆ prefersBinIDWise()

virtual bool VolProc::Step::prefersBinIDWise ( ) const
inlineprotectedvirtual

◆ prepareComp()

virtual bool VolProc::Step::prepareComp ( int  nrthreads)
inlineprotectedvirtual

◆ releaseData()

virtual void VolProc::Step::releaseData ( )
virtual

◆ resetInput()

void VolProc::Step::resetInput ( )

◆ setChain()

void VolProc::Step::setChain ( Chain )
private

◆ setHStep()

void VolProc::Step::setHStep ( const BinID bid)
inlineprotected

◆ setInpNrComps()

void VolProc::Step::setInpNrComps ( InputSlotID  ,
int   
)
protected

◆ setInput()

virtual void VolProc::Step::setInput ( InputSlotID  ,
const RegularSeisDataPack  
)
virtual

◆ setOutput()

virtual void VolProc::Step::setOutput ( OutputSlotID  ,
RegularSeisDataPack ,
const TrcKeySampling ,
const StepInterval< int > &   
)
virtual

◆ setOutputNrComps()

void VolProc::Step::setOutputNrComps ( int  nr)
inlineprotected

◆ setUserName()

virtual void VolProc::Step::setUserName ( const char *  nm)
virtual

◆ setVStep()

void VolProc::Step::setVStep ( int  zstep)
inlineprotected

◆ usePar()

virtual bool VolProc::Step::usePar ( const IOPar )
virtual

◆ userName()

virtual const char* VolProc::Step::userName ( ) const
virtual

◆ validInputSlotID()

bool VolProc::Step::validInputSlotID ( InputSlotID  ) const

◆ validOutputSlotID()

bool VolProc::Step::validOutputSlotID ( OutputSlotID  ) const

Friends And Related Function Documentation

◆ BinIDWiseTask

friend class BinIDWiseTask
friend

◆ Chain

friend class Chain
friend

◆ ChainExecutor

friend class ChainExecutor
friend

Member Data Documentation

◆ chain_

Chain* VolProc::Step::chain_
protected

◆ errmsg_

uiString VolProc::Step::errmsg_
protected

◆ hstep_

BinID VolProc::Step::hstep_
private

◆ id_

ID VolProc::Step::id_
protected

◆ inputs_

ObjectSet<const RegularSeisDataPack> VolProc::Step::inputs_
protected

◆ inputslotids_

TypeSet<InputSlotID> VolProc::Step::inputslotids_
protected

◆ nrinpcomps_

TypeSet<int> VolProc::Step::nrinpcomps_
private

◆ nroutcomps_

int VolProc::Step::nroutcomps_ = 1
private

◆ output_

RegularSeisDataPack* VolProc::Step::output_
private

◆ outputslotids_

TypeSet<OutputSlotID> VolProc::Step::outputslotids_
protected

◆ tks_

mDeprecatedDef TrcKeySampling VolProc::Step::tks_
protected

◆ username_

BufferString VolProc::Step::username_
protected

◆ vstep_

int VolProc::Step::vstep_ = 0
private

◆ zrg_

mDeprecatedDef StepInterval<int> VolProc::Step::zrg_
protected

◆ zsamp_

StepInterval<float> VolProc::Step::zsamp_
private

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