OpendTect  7.0
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 > &, Pos::GeomID) 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
 
bool is2D () 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
 
RefMan< 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 > &  ,
Pos::GeomID   
) 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

◆ 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

◆ is2D()

bool VolProc::Step::is2D ( ) const

◆ 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_

RefMan<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-2024