UNIVERS  15.3
UNIVERS base processing software API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
TracePredictor Class Reference

Public Member Functions

 TracePredictor ()
 
 TracePredictor (std::vector< float > *input_trace, OperatorParams *op_par)
 
void setInputData (std::vector< float > *input_trace, OperatorParams *op_par)
 
bool setInputData (std::vector< float > *input_trace)
 
bool setInputData (OperatorParams *op_par)
 
bool deconvoluteTrace (std::vector< float > &res_trace)
 
bool processTrace (std::vector< float > &res_trace, unsigned int left_add, unsigned int right_add)
 
bool expandTrace (std::vector< float > &res_trace, unsigned int left_add, unsigned int right_add)
 

Protected Member Functions

bool expandTraceOnRight (std::vector< float > &res_trace, unsigned int add)
 
bool formPredWin (std::vector< float > *trace_win, std::vector< float > &res_trace, unsigned int add_num)
 
bool getTraceWinOp (std::vector< float > *trace_win, OperatorParams op_par, float *&prd_oper)
 
bool processTraceWin (std::vector< float > *input_trace, float *op_spectrum, std::vector< float > &res_trace)
 

Protected Attributes

bool m_ready
 
std::vector< float > m_input_trace
 
OperatorParams m_op_par
 

Constructor & Destructor Documentation

TracePredictor::TracePredictor ( )

Create empty object

Member Function Documentation

bool TracePredictor::deconvoluteTrace ( std::vector< float > &  res_trace)

Deconvolution process for whole trace

bool TracePredictor::formPredWin ( std::vector< float > *  trace_win,
std::vector< float > &  res_trace,
unsigned int  add_num 
)
protected

Form additional window by means of prediction mechanism. Two cases can be:

  1. Time domain: 1a. Calculate operator with length = add_num = half of input trace window size 1b. In cycle (number of steps = add_num) :
    • convolute operator and window in time domain (result = single value)

add the convolution result to the end of trace window

  • form new trace window of the same length (added sample is taken into account)

Frequency domain (NOT TESTED): 2a. Calculate operator spectrum 2b. In cycle (number of steps = add_num) :

  • convolute operator and window in frequency domain (result = vector)
  • add the first sample of convolution result to the end of trace window
  • form new trace window of the same length (added sample is taken into account) Result - array of predicted samples with length = add_num.
bool TracePredictor::getTraceWinOp ( std::vector< float > *  trace_win,
OperatorParams  op_par,
float *&  prd_oper 
)
protected

Form the prediction operator or prediction error operator spectrum (depends on OperatorParams.fOpDomain parameter value).

bool TracePredictor::processTrace ( std::vector< float > &  res_trace,
unsigned int  left_add,
unsigned int  right_add 
)

Trace is enlarged in both directions by means of prediction mechanism. For the case of trace beginning prediction, the respective trace window is taken in inverse order.

bool TracePredictor::processTraceWin ( std::vector< float > *  input_trace,
float *  op_spectrum,
std::vector< float > &  res_trace 
)
protected

Convolute trace window and operator in frequency domain

void TracePredictor::setInputData ( std::vector< float > *  input_trace,
OperatorParams op_par 
)

Fill object with data

bool TracePredictor::setInputData ( std::vector< float > *  input_trace)

Can modify input data. Works successfully only if the object was already filled some with data.

bool TracePredictor::setInputData ( OperatorParams op_par)

Can modify input data. Works successfully only if the object was already filled some with data.

Member Data Documentation

std::vector<float> TracePredictor::m_input_trace
protected

initial trace data

OperatorParams TracePredictor::m_op_par
protected

operator calculation parameters

bool TracePredictor::m_ready
protected

object status flag


The documentation for this class was generated from the following file: