OpendTect  6.6
seisbayesclass.h
Go to the documentation of this file.
1 #pragma once
2 
3 /*
4 ________________________________________________________________________
5 
6  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
7  Author: Bert
8  Date: Feb 2010
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 */
13 
14 #include "seismod.h"
15 #include "executor.h"
16 #include "bufstringset.h"
17 class SeisTrc;
18 class SeisTrcBuf;
19 class ProbDenFunc;
20 class SeisTrcReader;
21 class SeisTrcWriter;
22 
23 
42 public:
43 
44  SeisBayesClass(const IOPar&);
46 
47  static const char* sKeyPDFID();
48  static const char* sKeyAPProbID();
49  static const char* sKeySeisInpID();
50  static const char* sKeySeisOutID();
51  static const char* sKeyPreNorm();
52  static const char* sKeyPostNorm();
53  static const char* sKeyPreScale();
54 
55  int nextStep();
58  od_int64 nrDone() const;
59  od_int64 totalNr() const;
60 
61 protected:
62 
63  bool is2d_;
72  const IOPar& pars_;
74  bool doprenorm_;
77 
78  const int nrdims_;
79  const int nrpdfs_;
80  const bool needclass_;
85  int initstep_;
87 
88  bool getPDFs();
89  void preScalePDFs();
91  bool getReaders();
92  bool getWriters();
93 
94  SeisTrcReader* getReader(const char*,bool,int);
95  int readInpTrcs();
96  int createOutput();
97  int closeDown();
98 
99  float getPDFValue(int ipdf,int isamp,int icomp,
100  bool inp=false) const;
101  float getAPTrcVal(int ipdf,int isamp,int icomp);
103  void calcProbs(int);
104  void calcClass();
105  void calcDet();
106  void cleanUp();
107  void prepOutTrc(SeisTrc&,bool) const;
108  void getClass(const TypeSet<float>&,int&,
109  float&) const;
110 
111 };
112 
113 #define mGetSeisBayesKey(ky,nr) \
114  IOPar::compKey(SeisBayesClass::sKey##ky(),nr)
115 #define mGetSeisBayesIDKey(ky,nr) mGetSeisBayesKey(ky##ID,nr)
116 
117 #define mGetSeisBayesPreScaleKey(nr) mGetSeisBayesKey(PreScale,nr)
118 #define mGetSeisBayesPDFIDKey(nr) mGetSeisBayesIDKey(PDF,nr)
119 #define mGetSeisBayesAPProbIDKey(nr) mGetSeisBayesIDKey(APProb,nr)
120 #define mGetSeisBayesSeisInpIDKey(nr) mGetSeisBayesIDKey(SeisInp,nr)
121 #define mGetSeisBayesSeisOutIDKey(nr) mGetSeisBayesIDKey(SeisOut,nr)
122 
123 
SeisBayesClass::postScaleProbs
void postScaleProbs()
SeisBayesClass::~SeisBayesClass
mODTextTranslationClass(SeisBayesClass) public ~SeisBayesClass()
SeisBayesClass::cleanUp
void cleanUp()
SeisBayesClass::aptrcs_
SeisTrcBuf & aptrcs_
Definition: seisbayesclass.h:70
SeisBayesClass
Bayesian inversion/classification for seismic data using PDFs.
Definition: seisbayesclass.h:41
SeisBayesClass::sKeyPostNorm
static const char * sKeyPostNorm()
SeisTrcReader
reads from a seismic data store.
Definition: seisread.h:50
ObjectSet< ProbDenFunc >
SeisBayesClass::msg_
uiString msg_
Definition: seisbayesclass.h:83
SeisBayesClass::nrdone_
od_int64 nrdone_
Definition: seisbayesclass.h:81
SeisBayesClass::sKeySeisOutID
static const char * sKeySeisOutID()
BufferStringSet
Set of BufferString objects.
Definition: bufstringset.h:26
Seis
Summary for a Seismic object.
Definition: segydirectdef.h:22
od_int64
#define od_int64
Definition: plftypes.h:35
SeisBayesClass::totalnr_
od_int64 totalnr_
Definition: seisbayesclass.h:82
SeisBayesClass::sKeyPreNorm
static const char * sKeyPreNorm()
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
SeisBayesClass::getPDFValue
float getPDFValue(int ipdf, int isamp, int icomp, bool inp=false) const
SeisTrc
Seismic trace.
Definition: seistrc.h:34
SeisBayesClass::getReaders
bool getReaders()
SeisBayesClass::calcProbs
void calcProbs(int)
SeisBayesClass::sKeyPDFID
static const char * sKeyPDFID()
SeisBayesClass::pars_
const IOPar & pars_
Definition: seisbayesclass.h:72
SeisBayesClass::getWriters
bool getWriters()
SeisBayesClass::getAPTrcVal
float getAPTrcVal(int ipdf, int isamp, int icomp)
mODTextTranslationClass
#define mODTextTranslationClass(clss)
Definition: uistring.h:40
SeisBayesClass::calcDet
void calcDet()
SeisTrcBuf
set of seismic traces.
Definition: seisbuf.h:31
SeisBayesClass::createOutput
int createOutput()
SeisBayesClass::uiNrDoneText
uiString uiNrDoneText() const
will be nrDoneText() in 7.x
SeisBayesClass::needclass_
const bool needclass_
Definition: seisbayesclass.h:80
SeisBayesClass::sKeyAPProbID
static const char * sKeyAPProbID()
SeisBayesClass::getReader
SeisTrcReader * getReader(const char *, bool, int)
SeisBayesClass::nrdims_
const int nrdims_
Definition: seisbayesclass.h:78
SeisBayesClass::outtrcs_
SeisTrcBuf & outtrcs_
Definition: seisbayesclass.h:71
SeisBayesClass::preScalePDFs
void preScalePDFs()
Executor
Specification to enable chunkwise execution of a process.
Definition: executor.h:39
SeisBayesClass::is2d_
bool is2d_
Definition: seisbayesclass.h:63
SeisBayesClass::doprenorm_
bool doprenorm_
Definition: seisbayesclass.h:74
executor.h
SeisBayesClass::calcClass
void calcClass()
ProbDenFunc
Base class for Probability Density Functions.
Definition: probdenfunc.h:31
bufstringset.h
SeisBayesClass::uiMessage
uiString uiMessage() const
will be message() again in 7.x
uiString
String that is able to hold international (UTF-8) strings for the user interface.
Definition: uistring.h:121
SeisBayesClass::readInpTrcs
int readInpTrcs()
SeisBayesClass::nrDone
od_int64 nrDone() const
SeisBayesClass::getPDFs
bool getPDFs()
SeisBayesClass::dopostnorm_
bool dopostnorm_
Definition: seisbayesclass.h:75
SeisBayesClass::inppdfs_
ObjectSet< ProbDenFunc > inppdfs_
Definition: seisbayesclass.h:64
SeisBayesClass::pdfnames_
BufferStringSet pdfnames_
Definition: seisbayesclass.h:84
SeisBayesClass::sKeyPreScale
static const char * sKeyPreScale()
SeisBayesClass::getClass
void getClass(const TypeSet< float > &, int &, float &) const
SeisBayesClass::closeDown
int closeDown()
SeisBayesClass::calcPerBinProbs
void calcPerBinProbs()
SeisBayesClass::pdfxtbls_
ObjectSet< TypeSet< int > > pdfxtbls_
Definition: seisbayesclass.h:73
SeisBayesClass::inptrcs_
SeisTrcBuf & inptrcs_
Definition: seisbayesclass.h:69
SeisBayesClass::totalNr
od_int64 totalNr() const
SeisBayesClass::prepOutTrc
void prepOutTrc(SeisTrc &, bool) const
SeisBayesClass::nrpdfs_
const int nrpdfs_
Definition: seisbayesclass.h:79
SeisTrcWriter
Definition: seiswrite.h:41
SeisBayesClass::pdfinpvals_
TypeSet< float > pdfinpvals_
Definition: seisbayesclass.h:86
SeisBayesClass::sKeySeisInpID
static const char * sKeySeisInpID()
SeisBayesClass::wrrs_
ObjectSet< SeisTrcWriter > wrrs_
Definition: seisbayesclass.h:68
SeisBayesClass::rdrs_
ObjectSet< SeisTrcReader > rdrs_
Definition: seisbayesclass.h:66
SeisBayesClass::nextStep
int nextStep()
IOPar
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:55
SeisBayesClass::aprdrs_
ObjectSet< SeisTrcReader > aprdrs_
Definition: seisbayesclass.h:67
TypeSet< float >
SeisBayesClass::initstep_
int initstep_
Definition: seisbayesclass.h:85
SeisBayesClass::prescales_
TypeSet< float > prescales_
Definition: seisbayesclass.h:76
SeisBayesClass::pdfs_
ObjectSet< ProbDenFunc > pdfs_
Definition: seisbayesclass.h:65

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