OpendTect  6.3
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | 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 ConstRefMan< RegularSeisDataPackCVolRef
 
typedef RefMan< RegularSeisDataPackVolRef
 
typedef int ID
 
typedef int InputSlotID
 
typedef int OutputSlotID
 

Public Member Functions

 mDefineFactoryInClass (Step, factory)
 
virtual ~Step ()
 
virtual void releaseData ()
 
ID getID () const
 
ChaingetChain ()
 
const ChaingetChain () const
 
virtual const char * userName () const
 
virtual void setUserName (const char *nm)
 
void resetInput ()
 
virtual int getNrInputs () const
 
bool validInputSlotID (InputSlotID) const
 
virtual InputSlotID getInputSlotID (int idx) const
 
virtual void getInputSlotName (InputSlotID, BufferString &) const
 
virtual int getNrOutputs () const
 
bool validOutputSlotID (OutputSlotID) const
 
virtual OutputSlotID getOutputSlotID (int idx) const
 
virtual TrcKeySampling getInputHRg (const TrcKeySampling &) const
 
virtual StepInterval< int > getInputZRg (const StepInterval< int > &) const
 
const PosInfo::CubeDatagetPosSamplingOfNonNullTraces (InputSlotID, int comp=0)
 
virtual void setInput (InputSlotID, const RegularSeisDataPack *)
 
CVolRef getInput (InputSlotID) const
 
virtual void setOutput (OutputSlotID, RegularSeisDataPack *, const TrcKeySampling &, const StepInterval< int > &)
 
CVolRef getOutput (OutputSlotID) const
 
VolRef getOutput (OutputSlotID)
 
int getOutputIdx (OutputSlotID) const
 
void enableOutput (OutputSlotID)
 
CVolRef getOutput () const
 
VolRef getOutput ()
 
od_int64 getExtraMemoryUsage (const TrcKeySampling &, const StepInterval< int > &, const TypeSet< OutputSlotID > &=TypeSet< OutputSlotID >()) const
 
virtual const VelocityDescgetVelDesc () const
 
virtual TaskcreateTask ()
 
virtual TaskcreateTaskWithProgMeter (ProgressMeter *)
 only called when needReportProgress() More...
 
virtual uiString errMsg () const
 
virtual void fillPar (IOPar &) const
 
virtual bool usePar (const IOPar &)
 
virtual bool needsFullVolume () const =0
 
virtual bool canInputAndOutputBeSame () const =0
 
virtual bool areSamplesIndependent () const =0
 
virtual bool canHandle2D () const
 
virtual bool needsInput () const
 
virtual bool prefersBinIDWise () const
 
virtual bool needReportProgress ()
 
virtual bool isInputPrevStep () const
 

Static Public Member Functions

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

Protected Member Functions

 Step ()
 
virtual bool prepareComp (int nrthreads)
 
virtual bool computeBinID (const BinID &, int threadid)
 
virtual od_int64 extraMemoryUsage (OutputSlotID, const TrcKeySampling &, const StepInterval< int > &) const =0
 

Protected Attributes

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

Private Member Functions

void setChain (Chain &)
 

Private Attributes

RefMan< RegularSeisDataPackoutput_
 

Friends

class Chain
 
class ChainExecutor
 
class BinIDWiseTask
 

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

typedef int VolProc::Step::ID

Constructor & Destructor Documentation

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

Member Function Documentation

virtual bool VolProc::Step::areSamplesIndependent ( ) const
pure virtual
virtual bool VolProc::Step::canHandle2D ( ) const
inlinevirtual
virtual bool VolProc::Step::canInputAndOutputBeSame ( ) const
pure virtual
virtual bool VolProc::Step::computeBinID ( const BinID ,
int  threadid 
)
inlineprotectedvirtual
virtual Task* VolProc::Step::createTask ( )
virtual
virtual Task* VolProc::Step::createTaskWithProgMeter ( ProgressMeter )
virtual

only called when needReportProgress()

static ID VolProc::Step::cUndefID ( )
inlinestatic
static int VolProc::Step::cUndefSlotID ( )
inlinestatic
void VolProc::Step::enableOutput ( OutputSlotID  )
virtual uiString VolProc::Step::errMsg ( ) const
inlinevirtual
virtual od_int64 VolProc::Step::extraMemoryUsage ( OutputSlotID  ,
const TrcKeySampling ,
const StepInterval< int > &   
) const
protectedpure virtual
virtual void VolProc::Step::fillPar ( IOPar ) const
virtual
static od_int64 VolProc::Step::getBaseMemoryUsage ( const TrcKeySampling ,
const StepInterval< int > &   
)
static
Chain& VolProc::Step::getChain ( )
const Chain& VolProc::Step::getChain ( ) const
od_int64 VolProc::Step::getExtraMemoryUsage ( const TrcKeySampling ,
const StepInterval< int > &  ,
const TypeSet< OutputSlotID > &  = TypeSetOutputSlotID >() 
) const

returns total amount of bytes needed on top of the base consumption

ID VolProc::Step::getID ( ) const
inline
CVolRef VolProc::Step::getInput ( InputSlotID  ) const
virtual TrcKeySampling VolProc::Step::getInputHRg ( const TrcKeySampling ) const
virtual

When computing TrcKeySampling, how big input is needed?

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

virtual InputSlotID VolProc::Step::getInputSlotID ( int  idx) const
virtual
virtual void VolProc::Step::getInputSlotName ( InputSlotID  ,
BufferString  
) const
virtual
virtual StepInterval<int> VolProc::Step::getInputZRg ( const StepInterval< int > &  ) const
virtual

When computing Z Sampling, how big input is needed?

Reimplemented in VolProc::Smoother.

virtual int VolProc::Step::getNrInputs ( ) const
virtual
virtual int VolProc::Step::getNrOutputs ( ) const
inlinevirtual
CVolRef VolProc::Step::getOutput ( OutputSlotID  ) const
VolRef VolProc::Step::getOutput ( OutputSlotID  )
CVolRef VolProc::Step::getOutput ( ) const
inline
VolRef VolProc::Step::getOutput ( )
inline
int VolProc::Step::getOutputIdx ( OutputSlotID  ) const
virtual OutputSlotID VolProc::Step::getOutputSlotID ( int  idx) const
virtual
const PosInfo::CubeData* VolProc::Step::getPosSamplingOfNonNullTraces ( InputSlotID  ,
int  comp = 0 
)
virtual const VelocityDesc* VolProc::Step::getVelDesc ( ) const
inlinevirtual

Reimplemented in VolProc::VelocityGridder.

virtual bool VolProc::Step::isInputPrevStep ( ) const
inlinevirtual
VolProc::Step::mDefineFactoryInClass ( Step  ,
factory   
)
virtual bool VolProc::Step::needReportProgress ( )
inlinevirtual
virtual bool VolProc::Step::needsFullVolume ( ) const
pure virtual
virtual bool VolProc::Step::needsInput ( ) const
inlinevirtual
virtual bool VolProc::Step::prefersBinIDWise ( ) const
inlinevirtual
virtual bool VolProc::Step::prepareComp ( int  nrthreads)
inlineprotectedvirtual
virtual void VolProc::Step::releaseData ( )
virtual
void VolProc::Step::resetInput ( )
void VolProc::Step::setChain ( Chain )
private
virtual void VolProc::Step::setInput ( InputSlotID  ,
const RegularSeisDataPack  
)
virtual
virtual void VolProc::Step::setOutput ( OutputSlotID  ,
RegularSeisDataPack ,
const TrcKeySampling ,
const StepInterval< int > &   
)
virtual
virtual void VolProc::Step::setUserName ( const char *  nm)
virtual
virtual bool VolProc::Step::usePar ( const IOPar )
virtual
virtual const char* VolProc::Step::userName ( ) const
virtual
bool VolProc::Step::validInputSlotID ( InputSlotID  ) const
bool VolProc::Step::validOutputSlotID ( OutputSlotID  ) const

Friends And Related Function Documentation

friend class BinIDWiseTask
friend
friend class Chain
friend
friend class ChainExecutor
friend

Member Data Documentation

Chain* VolProc::Step::chain_
protected
uiString VolProc::Step::errmsg_
protected
ID VolProc::Step::id_
protected
ObjectSet<const RegularSeisDataPack> VolProc::Step::inputs_
protected
TypeSet<InputSlotID> VolProc::Step::inputslotids_
protected
RefMan<RegularSeisDataPack> VolProc::Step::output_
private
TypeSet<OutputSlotID> VolProc::Step::outputslotids_
protected
TrcKeySampling VolProc::Step::tks_
protected
BufferString VolProc::Step::username_
protected
StepInterval<int> VolProc::Step::zrg_
protected

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