OpendTect  6.6
Public Member Functions | Static Public Member Functions | Public Attributes | Static Protected Member Functions | Protected Attributes | List of all members
PreStack::ProcessManager Class Reference

Orgainizes a number of PreStack::Processors into a chain which can be processed. More...

Inheritance diagram for PreStack::ProcessManager:
[legend]

Public Member Functions

 ProcessManager ()
 
 ~ProcessManager ()
 
void addProcessor (Processor *)
 
uiString errMsg () const
 
void fillPar (IOPar &) const
 
BinID getInputStepout () const
 Only after prepareWork. More...
 
DataPack::ID getOutput () const
 
ProcessorgetProcessor (int)
 
const ProcessorgetProcessor (int) const
 
int indexOf (const Processor *) const
 
bool needsPreStackInput () const
 
void notifyChange ()
 
int nrProcessors () const
 
bool prepareWork ()
 
bool process ()
 
void removeAllProcessors ()
 
void removeProcessor (int)
 
bool reset (bool force=true)
 Call when you are about to process new data. More...
 
void setInput (const BinID &relbid, DataPack::ID)
 
void swapProcessors (int, int)
 
bool usePar (const IOPar &)
 
virtual bool wantsInput (const BinID &relbid) const
 Only after prepareWork. More...
 
- Public Member Functions inherited from CallBacker
 CallBacker ()
 
 CallBacker (const CallBacker &)
 
virtual ~CallBacker ()
 
bool attachCB (const NotifierAccess &, const CallBack &, bool onlyifnew=false) const
 
bool attachCB (const NotifierAccess *notif, const CallBack &cb, bool onlyifnew=false) const
 
void detachAllNotifiers () const
 Call from the destructor of your inherited object. More...
 
void detachCB (const NotifierAccess &, const CallBack &) const
 
void detachCB (const NotifierAccess *notif, const CallBack &cb) const
 
virtual bool isCapsule () const
 
bool isNotifierAttached (const NotifierAccess *) const
 Only for debugging purposes, don't use. More...
 
void stopReceivingNotifications () const
 

Static Public Member Functions

static const char * sKeyCDPRange ()
 
static const char * sKeyInputData ()
 
static const char * sKeyLineKey ()
 
static const char * sKeyOutputData ()
 
static const char * sKeySetup ()
 
- Static Public Member Functions inherited from CallBacker
static void createReceiverForCurrentThread ()
 
static void removeReceiverForCurrentThread ()
 

Public Attributes

Notifier< ProcessManagersetupChange
 

Static Protected Member Functions

static const char * sKeyNrProcessors ()
 

Protected Attributes

uiString errmsg_
 
ObjectSet< Processorprocessors_
 

Detailed Description

Orgainizes a number of PreStack::Processors into a chain which can be processed.

Support for processing prestack gathers is done by a PreStack::ProcessManager. The PreStack::ProcessManager has a chain of PreStack::Processor which are run in sequence.

Example:

PreStack::ProcessManager processmanager;
agc->setWindow( Interval<float>( -120, 120 ) );
processmanager.addProcessor( agc );
processmanager.reset();
//Not really necessary since the manager has not been used before
const BinID stepout = processmanager.getInputStepout();
BinID relbid;
for ( relbid.inl()=-stepout.inl(); relbid.inl()<=stepout.inl();
relbid.inl()++ )
{
for ( relbid.crl()=-stepout.crl(); relbid.crl()<=stepout.crl();
relbid.crl()++ )
{
if ( !processor.wantsInput(relbid) )
continue;
const BinID inputbid( relbid*BinID(SI().inlStep(),SI().crlStep()) );
const DataPack::ID dpid = getDataPackFromSomewhere( inputbid );
if ( dpid==DataPack::cNoID() )
return error;
processmanager.setInput( relbid, dpid );
}
}
if ( !processmanager.process() )
return error;
DataPack::ID result = processmanager.getOutput();
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:31
static ID cNoID()
Definition: datapack.h:53
int ID
Definition: datapack.h:37
IdxType & inl()
Definition: posidxpair.h:42
IdxType & crl()
Definition: posidxpair.h:47
Processor for PreStack AGC.
Definition: prestackagc.h:27
void setWindow(const Interval< float > &)
Orgainizes a number of PreStack::Processors into a chain which can be processed.
Definition: prestackprocessor.h:140
void addProcessor(Processor *)
bool reset(bool force=true)
Call when you are about to process new data.
void setInput(const BinID &relbid, DataPack::ID)
DataPack::ID getOutput() const
BinID getInputStepout() const
Only after prepareWork.

<>

Constructor & Destructor Documentation

◆ ProcessManager()

PreStack::ProcessManager::ProcessManager ( )

◆ ~ProcessManager()

PreStack::ProcessManager::~ProcessManager ( )

Member Function Documentation

◆ addProcessor()

void PreStack::ProcessManager::addProcessor ( Processor )

◆ errMsg()

uiString PreStack::ProcessManager::errMsg ( ) const
inline

◆ fillPar()

void PreStack::ProcessManager::fillPar ( IOPar ) const

◆ getInputStepout()

BinID PreStack::ProcessManager::getInputStepout ( ) const

Only after prepareWork.

◆ getOutput()

DataPack::ID PreStack::ProcessManager::getOutput ( ) const

◆ getProcessor() [1/2]

Processor* PreStack::ProcessManager::getProcessor ( int  )

◆ getProcessor() [2/2]

const Processor* PreStack::ProcessManager::getProcessor ( int  ) const

◆ indexOf()

int PreStack::ProcessManager::indexOf ( const Processor ) const

◆ needsPreStackInput()

bool PreStack::ProcessManager::needsPreStackInput ( ) const

◆ notifyChange()

void PreStack::ProcessManager::notifyChange ( )
inline

◆ nrProcessors()

int PreStack::ProcessManager::nrProcessors ( ) const

◆ prepareWork()

bool PreStack::ProcessManager::prepareWork ( )

◆ process()

bool PreStack::ProcessManager::process ( )

◆ removeAllProcessors()

void PreStack::ProcessManager::removeAllProcessors ( )

◆ removeProcessor()

void PreStack::ProcessManager::removeProcessor ( int  )

◆ reset()

bool PreStack::ProcessManager::reset ( bool  force = true)

Call when you are about to process new data.

◆ setInput()

void PreStack::ProcessManager::setInput ( const BinID relbid,
DataPack::ID   
)

◆ sKeyCDPRange()

static const char* PreStack::ProcessManager::sKeyCDPRange ( )
inlinestatic

◆ sKeyInputData()

static const char* PreStack::ProcessManager::sKeyInputData ( )
inlinestatic

◆ sKeyLineKey()

static const char* PreStack::ProcessManager::sKeyLineKey ( )
inlinestatic

◆ sKeyNrProcessors()

static const char* PreStack::ProcessManager::sKeyNrProcessors ( )
inlinestaticprotected

◆ sKeyOutputData()

static const char* PreStack::ProcessManager::sKeyOutputData ( )
inlinestatic

◆ sKeySetup()

static const char* PreStack::ProcessManager::sKeySetup ( )
inlinestatic

◆ swapProcessors()

void PreStack::ProcessManager::swapProcessors ( int  ,
int   
)

◆ usePar()

bool PreStack::ProcessManager::usePar ( const IOPar )

◆ wantsInput()

virtual bool PreStack::ProcessManager::wantsInput ( const BinID relbid) const
virtual

Only after prepareWork.

Member Data Documentation

◆ errmsg_

uiString PreStack::ProcessManager::errmsg_
protected

◆ processors_

ObjectSet<Processor> PreStack::ProcessManager::processors_
protected

◆ setupChange

Notifier<ProcessManager> PreStack::ProcessManager::setupChange

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