OpendTect-6_4  6.4
Protected Member Functions | Protected Attributes | Private Member Functions | Static Private Member Functions | List of all members
SeisBayesClass Class Reference

Bayesian inversion/classification for seismic data using PDFs. More...

Inheritance diagram for SeisBayesClass:
[legend]

Protected Member Functions

bool getPDFs ()
 
void preScalePDFs ()
 
void postScaleProbs ()
 
bool getReaders ()
 
bool getWriters ()
 
SeisTrcReadergetReader (const char *, bool, int)
 
int readInpTrcs ()
 
int createOutput ()
 
int closeDown ()
 
float getPDFValue (int ipdf, int isamp, int icomp, bool inp=false) const
 
float getAPTrcVal (int ipdf, int isamp, int icomp)
 
void calcPerBinProbs ()
 
void calcProbs (int)
 
void calcClass ()
 
void calcDet ()
 
void cleanUp ()
 
void prepOutTrc (SeisTrc &, bool) const
 
void getClass (const TypeSet< float > &, int &, float &) const
 
- Protected Member Functions inherited from Executor
virtual bool goImpl (od_ostream *, bool, bool, int)
 
- Protected Member Functions inherited from Task
 Task (const char *nm=0)
 
virtual bool shouldContinue ()
 
- Protected Member Functions inherited from CallBacker
void detachAllNotifiers ()
 Call from the destructor of your inherited object. More...
 

Protected Attributes

bool is2d_
 
ObjectSet< ProbDenFuncinppdfs_
 
ObjectSet< ProbDenFuncpdfs_
 
ObjectSet< SeisTrcReaderrdrs_
 
ObjectSet< SeisTrcReaderaprdrs_
 
ObjectSet< SeisTrcWriterwrrs_
 
SeisTrcBufinptrcs_
 
SeisTrcBufaptrcs_
 
SeisTrcBufouttrcs_
 
const IOParpars_
 
ObjectSet< TypeSet< int > > pdfxtbls_
 
bool doprenorm_
 
bool dopostnorm_
 
TypeSet< float > prescales_
 
const int nrdims_
 
const int nrpdfs_
 
const bool needclass_
 
od_int64 nrdone_
 
od_int64 totalnr_
 
uiString msg_
 
BufferStringSet pdfnames_
 
int initstep_
 
TypeSet< float > pdfinpvals_
 
- Protected Attributes inherited from SequentialTask
ProgressMeterprogressmeter_
 
int lastupdate_
 
- Protected Attributes inherited from Task
Control control_
 
Threads::ConditionVarworkcontrolcondvar_
 
- Protected Attributes inherited from NamedObject
BufferStringname_
 
NamedObjectlinkedto_
 
CallBackSetdelnotify_
 

Private Member Functions

mODTextTranslationClass(SeisBayesClass) public ~SeisBayesClass ()
 
int nextStep ()
 
uiString uiMessage () const
 will be message() again in 7.x More...
 
uiString uiNrDoneText () const
 will be nrDoneText() in 7.x More...
 
od_int64 nrDone () const
 
od_int64 totalNr () const
 

Static Private Member Functions

static const char * sKeyPDFID ()
 
static const char * sKeyAPProbID ()
 
static const char * sKeySeisInpID ()
 
static const char * sKeySeisOutID ()
 
static const char * sKeyPreNorm ()
 
static const char * sKeyPostNorm ()
 
static const char * sKeyPreScale ()
 

Additional Inherited Members

- Public Types inherited from Task
enum  Control { Run, Pause, Stop }
 
- Public Member Functions inherited from Executor
 Executor (const char *nm)
 
virtual ~Executor ()
 
virtual int doStep ()
 
bool go (od_ostream *s=0, bool isfirst=true, bool islast=true, int delaybtwnstepsinms=0)
 
bool go (od_ostream &s, bool isfirst=true, bool islast=true, int delaybtwnstepsinms=0)
 
virtual bool execute ()
 
- Public Member Functions inherited from SequentialTask
 SequentialTask (const char *nm=0)
 
virtual ~SequentialTask ()
 
void setProgressMeter (ProgressMeter *)
 Must be called before execute() More...
 
ProgressMeterprogressMeter ()
 
const ProgressMeterprogressMeter () const
 
bool execute ()
 
- Public Member Functions inherited from Task
virtual ~Task ()
 
virtual void enableWorkControl (bool=true)
 Must be called before execute() More...
 
bool workControlEnabled () const
 
virtual void controlWork (Control)
 
virtual Control getState () const
 
- Public Member Functions inherited from NamedObject
 NamedObject (const char *nm=0)
 
 NamedObject (const NamedObject *linkedto)
 
 NamedObject (const NamedObject &)
 
virtual ~NamedObject ()
 
void setLinkedTo (NamedObject *)
 
bool operator== (const NamedObject &oth) const
 
virtual const OD::Stringname () const
 
virtual const OD::StringannotName () const
 
virtual void setName (const char *)
 
void setCleanName (const char *)
 cleans string first More...
 
void deleteNotify (const CallBack &)
 
- Public Member Functions inherited from CallBacker
 CallBacker ()
 
 CallBacker (const CallBacker &)
 
virtual ~CallBacker ()
 
bool attachCB (NotifierAccess &, const CallBack &, bool onlyifnew=false)
 
bool attachCB (NotifierAccess *notif, const CallBack &cb, bool onlyifnew=false)
 
void detachCB (NotifierAccess &, const CallBack &)
 
void detachCB (NotifierAccess *notif, const CallBack &cb)
 
bool isNotifierAttached (NotifierAccess *) const
 Only for debugging purposes, don't use. More...
 
- Static Public Member Functions inherited from SequentialTask
static int ErrorOccurred ()
 
static int Finished ()
 
static int MoreToDo ()
 
static int WarningAvailable ()
 
- Static Public Member Functions inherited from Task
static uiString stdNrDoneText ()
 
static uiString uiStdNrDoneText ()
 
- Public Attributes inherited from Executor
Notifier< Executorprestep
 
Notifier< Executorpoststep
 Only when MoreToDo will be returned. More...
 

Detailed Description

Bayesian inversion/classification for seismic data using PDFs.

The IOPar must contain the input/output, in IOObj IDs: mGetSeisBayesPDFIDKey(nr) - the input ProbDenFunc's mGetSeisBayesSeisInpIDKey(nr) - for each dimension of the PDF in the order of the first PDF mGetSeisBayesSeisOutIDKey(nr) - outputs in a specific sequence.

The outputs are all optional, but have a specific number: 0 .. N-1 = the Probability output for PDF 0 .. N-1 N = the Classification N+1 = the Classification confidence N+2 = the Determination confidence: sum of the input PDF values

Constructor & Destructor Documentation

mODTextTranslationClass (SeisBayesClass) public SeisBayesClass::~SeisBayesClass ( )
private

Member Function Documentation

void SeisBayesClass::calcClass ( )
protected
void SeisBayesClass::calcDet ( )
protected
void SeisBayesClass::calcPerBinProbs ( )
protected
void SeisBayesClass::calcProbs ( int  )
protected
void SeisBayesClass::cleanUp ( )
protected
int SeisBayesClass::closeDown ( )
protected
int SeisBayesClass::createOutput ( )
protected
float SeisBayesClass::getAPTrcVal ( int  ipdf,
int  isamp,
int  icomp 
)
protected
void SeisBayesClass::getClass ( const TypeSet< float > &  ,
int &  ,
float &   
) const
protected
bool SeisBayesClass::getPDFs ( )
protected
float SeisBayesClass::getPDFValue ( int  ipdf,
int  isamp,
int  icomp,
bool  inp = false 
) const
protected
SeisTrcReader* SeisBayesClass::getReader ( const char *  ,
bool  ,
int   
)
protected
bool SeisBayesClass::getReaders ( )
protected
bool SeisBayesClass::getWriters ( )
protected
int SeisBayesClass::nextStep ( )
privatevirtual
Return values
MoreToDo()Not finished. Call me again.
Finished()Nothing more to do.
ErrorOccurred()Something went wrong.
Note
if function returns a value greater than cMoreToDo(), it should be interpreted as cMoreToDo().

Implements SequentialTask.

od_int64 SeisBayesClass::nrDone ( ) const
privatevirtual
Note
nrDone is only used for displaying progress and will be compared to totalNr to show user how large part of the task that is finished.

Reimplemented from Task.

void SeisBayesClass::postScaleProbs ( )
protected
void SeisBayesClass::prepOutTrc ( SeisTrc ,
bool   
) const
protected
void SeisBayesClass::preScalePDFs ( )
protected
int SeisBayesClass::readInpTrcs ( )
protected
static const char* SeisBayesClass::sKeyAPProbID ( )
staticprivate
static const char* SeisBayesClass::sKeyPDFID ( )
staticprivate
static const char* SeisBayesClass::sKeyPostNorm ( )
staticprivate
static const char* SeisBayesClass::sKeyPreNorm ( )
staticprivate
static const char* SeisBayesClass::sKeyPreScale ( )
staticprivate
static const char* SeisBayesClass::sKeySeisInpID ( )
staticprivate
static const char* SeisBayesClass::sKeySeisOutID ( )
staticprivate
od_int64 SeisBayesClass::totalNr ( ) const
privatevirtual

Reimplemented from Task.

uiString SeisBayesClass::uiMessage ( ) const
privatevirtual

will be message() again in 7.x

Note
totalNr is only used for displaying progress.

Reimplemented from Task.

uiString SeisBayesClass::uiNrDoneText ( ) const
privatevirtual

will be nrDoneText() in 7.x

Reimplemented from Task.

Member Data Documentation

ObjectSet<SeisTrcReader> SeisBayesClass::aprdrs_
protected
SeisTrcBuf& SeisBayesClass::aptrcs_
protected
bool SeisBayesClass::dopostnorm_
protected
bool SeisBayesClass::doprenorm_
protected
int SeisBayesClass::initstep_
protected
ObjectSet<ProbDenFunc> SeisBayesClass::inppdfs_
protected
SeisTrcBuf& SeisBayesClass::inptrcs_
protected
bool SeisBayesClass::is2d_
protected
uiString SeisBayesClass::msg_
protected
const bool SeisBayesClass::needclass_
protected
const int SeisBayesClass::nrdims_
protected
od_int64 SeisBayesClass::nrdone_
protected
const int SeisBayesClass::nrpdfs_
protected
SeisTrcBuf& SeisBayesClass::outtrcs_
protected
const IOPar& SeisBayesClass::pars_
protected
TypeSet<float> SeisBayesClass::pdfinpvals_
mutableprotected
BufferStringSet SeisBayesClass::pdfnames_
protected
ObjectSet<ProbDenFunc> SeisBayesClass::pdfs_
protected
ObjectSet< TypeSet<int> > SeisBayesClass::pdfxtbls_
protected
TypeSet<float> SeisBayesClass::prescales_
protected
ObjectSet<SeisTrcReader> SeisBayesClass::rdrs_
protected
od_int64 SeisBayesClass::totalnr_
protected
ObjectSet<SeisTrcWriter> SeisBayesClass::wrrs_
protected

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