OpendTect  7.0
Classes | Functions | Variables
ArrayMath Namespace Reference

Classes

class  ArrayOperExecSetup
 
class  ArrOperExec
 Parallel task for computing the element wise operations of one array and optionally a second input array. Should not be used directly, instead call getSum(const ArrayND) More...
 
class  CumArrOperExec
 Parallel task for computing the sum of element wise operations of one array and optionally a second input array. Should not be used directly, instead call getSum(const ArrayND) More...
 
class  CumSumExec
 

Functions

template<class T >
getAverage (const ArrayND< T > &in, bool noudf, bool parallel)
 returns the average amplitude of the array More...
 
template<>
float_complex getAverage< float_complex > (const ArrayND< float_complex > &in, bool noudf, bool parallel)
 Specialization for complex numbers. More...
 
template<class T , class fT >
bool getInterceptGradient (const ArrayND< T > &iny, const ArrayND< T > *inx_, T &intercept, T &gradient)
 returns the intercept and gradient of two arrays More...
 
template<class T >
getNorm2 (const ArrayND< T > &in, bool noudf, bool parallel)
 return the Norm-2 of the array More...
 
template<class T >
double getNorm2D (const ArrayND< T > &in, bool noudf, bool parallel)
 
template<class T >
void getProduct (const ArrayND< T > &in1, const ArrayND< T > &in2, ArrayND< T > &out, bool noudf, bool parallel)
 computes the product array between two arrays More...
 
template<class T >
getResidual (const ArrayND< T > &in1, const ArrayND< T > &in2, bool noudf, bool parallel)
 returns the residual differences of two arrays More...
 
template<class T >
getRMS (const ArrayND< T > &in, bool noudf, bool parallel)
 return the RMS of the array More...
 
template<class T >
void getScaledArray (const ArrayND< T > &in, ArrayND< T > *out_, double fact, double shift, bool noudf, bool parallel)
 returns a scaled array More...
 
template<class RT , class AT >
RT getStdDev (const ArrayND< AT > &in, bool noudf, bool parallel)
 return the Standard deviation of the array More...
 
template<>
float_complex getSum (const ArrayND< float_complex > &in, bool noudf, bool parallel)
 
template<class T >
getSum (const ArrayND< T > &in, bool noudf, bool parallel)
 returns the sum of all defined values in the Array. Returns UDF if empty or only udfs encountered. More...
 
template<class T >
void getSum (const ArrayND< T > &in1, const ArrayND< T > &in2, ArrayND< T > &out, bool noudf, bool parallel)
 computes the sum array between two arrays More...
 
template<class T >
void getSumArrays (const ArrayND< T > &in1, const ArrayND< T > &in2, ArrayND< T > &out, double fact1, double fact2, bool noudf, bool parallel)
 computes the sum array between two arrays with scaling More...
 
template<class T >
getSumProduct (const ArrayND< T > &in1, const ArrayND< T > &in2, bool noudf, bool parallel)
 returns the sum of product amplitudes between two vectors More...
 
template<class T >
double getSumProductD (const ArrayND< T > &in1, const ArrayND< T > &in2, bool noudf, bool parallel)
 
template<class T >
getSumSq (const ArrayND< T > &in, bool noudf, bool parallel)
 returns the sum of squarred amplitudes of the array More...
 
template<class T >
getSumX2MY2 (const ArrayND< T > &in1, const ArrayND< T > &in2, bool noudf, bool parallel)
 returns the sum of subtracted squarred amplitudes of two arrays More...
 
template<class T >
getSumX2PY2 (const ArrayND< T > &in1, const ArrayND< T > &in2, bool noudf, bool parallel)
 returns the sum of summed squarred amplitudes of two arrays More...
 
template<class T >
getSumXMY2 (const ArrayND< T > &in1, const ArrayND< T > &in2, bool noudf, bool parallel)
 returns the sum of squarred differences of two arrays More...
 
template<class RT , class AT >
RT getVariance (const ArrayND< AT > &in, bool noudf, bool parallel)
 return the Variance of the array More...
 
 if (!noudf_ &&(mIsUdf(inpval)))
 
 if (!noudf_ &&(mIsUdf(val1)||mIsUdf(val2)))
 
template<class T >
 mDefParallelCalc4Pars (ProdExec, od_static_tr("ProdExec","Array product executor"), const T *, arr1, const T *, arr2, T *, out, bool, noudf) mDefParallelCalcBody(
 
template<class T >
 mDefParallelCalc5Pars (ScalingExec, od_static_tr("ScalingExec","Array scaler executor"), const T *, arrin, T *, arrout, T, fact, T, shift, bool, noudf) mDefParallelCalcBody(
 
template<class T >
 mDefParallelCalc6Pars (SumExec, od_static_tr("SumExec","Array addition executor"), const T *, arr1, const T *, arr2, T *, out, T, fact1, T, fact2, bool, noudf) mDefParallelCalcBody(
 

Variables

 arrout_ [idx] = fact_ * inpval + shift_
 
const T inpval = arrin_[idx]
 
 out_ [idx] = fact1_ * val1 + fact2_ * val2
 
const T val1 = arr1_[idx]
 
const T val2 = arr2_[idx]
 

Function Documentation

◆ getAverage()

template<class T >
T ArrayMath::getAverage ( const ArrayND< T > &  in,
bool  noudf,
bool  parallel 
)
inline

returns the average amplitude of the array

◆ getAverage< float_complex >()

template<>
float_complex ArrayMath::getAverage< float_complex > ( const ArrayND< float_complex > &  in,
bool  noudf,
bool  parallel 
)
inline

Specialization for complex numbers.

◆ getInterceptGradient()

template<class T , class fT >
bool ArrayMath::getInterceptGradient ( const ArrayND< T > &  iny,
const ArrayND< T > *  inx_,
T &  intercept,
T &  gradient 
)
inline

returns the intercept and gradient of two arrays

◆ getNorm2()

template<class T >
T ArrayMath::getNorm2 ( const ArrayND< T > &  in,
bool  noudf,
bool  parallel 
)
inline

return the Norm-2 of the array

◆ getNorm2D()

template<class T >
double ArrayMath::getNorm2D ( const ArrayND< T > &  in,
bool  noudf,
bool  parallel 
)
inline

◆ getProduct()

template<class T >
void ArrayMath::getProduct ( const ArrayND< T > &  in1,
const ArrayND< T > &  in2,
ArrayND< T > &  out,
bool  noudf,
bool  parallel 
)
inline

computes the product array between two arrays

◆ getResidual()

template<class T >
T ArrayMath::getResidual ( const ArrayND< T > &  in1,
const ArrayND< T > &  in2,
bool  noudf,
bool  parallel 
)
inline

returns the residual differences of two arrays

◆ getRMS()

template<class T >
T ArrayMath::getRMS ( const ArrayND< T > &  in,
bool  noudf,
bool  parallel 
)
inline

return the RMS of the array

◆ getScaledArray()

template<class T >
void ArrayMath::getScaledArray ( const ArrayND< T > &  in,
ArrayND< T > *  out_,
double  fact,
double  shift,
bool  noudf,
bool  parallel 
)
inline

returns a scaled array

◆ getStdDev()

template<class RT , class AT >
RT ArrayMath::getStdDev ( const ArrayND< AT > &  in,
bool  noudf,
bool  parallel 
)
inline

return the Standard deviation of the array

◆ getSum() [1/3]

template<>
float_complex ArrayMath::getSum ( const ArrayND< float_complex > &  in,
bool  noudf,
bool  parallel 
)
inline

◆ getSum() [2/3]

template<class T >
T ArrayMath::getSum ( const ArrayND< T > &  in,
bool  noudf,
bool  parallel 
)
inline

returns the sum of all defined values in the Array. Returns UDF if empty or only udfs encountered.

◆ getSum() [3/3]

template<class T >
void ArrayMath::getSum ( const ArrayND< T > &  in1,
const ArrayND< T > &  in2,
ArrayND< T > &  out,
bool  noudf,
bool  parallel 
)
inline

computes the sum array between two arrays

◆ getSumArrays()

template<class T >
void ArrayMath::getSumArrays ( const ArrayND< T > &  in1,
const ArrayND< T > &  in2,
ArrayND< T > &  out,
double  fact1,
double  fact2,
bool  noudf,
bool  parallel 
)
inline

computes the sum array between two arrays with scaling

◆ getSumProduct()

template<class T >
T ArrayMath::getSumProduct ( const ArrayND< T > &  in1,
const ArrayND< T > &  in2,
bool  noudf,
bool  parallel 
)
inline

returns the sum of product amplitudes between two vectors

◆ getSumProductD()

template<class T >
double ArrayMath::getSumProductD ( const ArrayND< T > &  in1,
const ArrayND< T > &  in2,
bool  noudf,
bool  parallel 
)
inline

◆ getSumSq()

template<class T >
T ArrayMath::getSumSq ( const ArrayND< T > &  in,
bool  noudf,
bool  parallel 
)
inline

returns the sum of squarred amplitudes of the array

◆ getSumX2MY2()

template<class T >
T ArrayMath::getSumX2MY2 ( const ArrayND< T > &  in1,
const ArrayND< T > &  in2,
bool  noudf,
bool  parallel 
)
inline

returns the sum of subtracted squarred amplitudes of two arrays

◆ getSumX2PY2()

template<class T >
T ArrayMath::getSumX2PY2 ( const ArrayND< T > &  in1,
const ArrayND< T > &  in2,
bool  noudf,
bool  parallel 
)
inline

returns the sum of summed squarred amplitudes of two arrays

◆ getSumXMY2()

template<class T >
T ArrayMath::getSumXMY2 ( const ArrayND< T > &  in1,
const ArrayND< T > &  in2,
bool  noudf,
bool  parallel 
)
inline

returns the sum of squarred differences of two arrays

◆ getVariance()

template<class RT , class AT >
RT ArrayMath::getVariance ( const ArrayND< AT > &  in,
bool  noudf,
bool  parallel 
)
inline

return the Variance of the array

◆ if() [1/2]

ArrayMath::if ( !noudf_ &&  mIsUdf(inpval))

◆ if() [2/2]

ArrayMath::if ( !noudf_ &&  mIsUdf(val1)||mIsUdf(val2))

◆ mDefParallelCalc4Pars()

template<class T >
ArrayMath::mDefParallelCalc4Pars ( ProdExec  ,
od_static_tr("ProdExec","Array product executor")  ,
const T *  ,
arr1  ,
const T *  ,
arr2  ,
T *  ,
out  ,
bool  ,
noudf   
)

◆ mDefParallelCalc5Pars()

template<class T >
ArrayMath::mDefParallelCalc5Pars ( ScalingExec  ,
od_static_tr("ScalingExec","Array scaler executor")  ,
const T *  ,
arrin  ,
T *  ,
arrout  ,
,
fact  ,
,
shift  ,
bool  ,
noudf   
)

◆ mDefParallelCalc6Pars()

template<class T >
ArrayMath::mDefParallelCalc6Pars ( SumExec  ,
od_static_tr("SumExec","Array addition executor")  ,
const T *  ,
arr1  ,
const T *  ,
arr2  ,
T *  ,
out  ,
,
fact1  ,
,
fact2  ,
bool  ,
noudf   
)

Variable Documentation

◆ arrout_

ArrayMath::arrout_[idx] = fact_ * inpval + shift_

◆ inpval

const T ArrayMath::inpval = arrin_[idx]

◆ out_

ArrayMath::out_[idx] = fact1_ * val1 + fact2_ * val2

◆ val1

const T ArrayMath::val1 = arr1_[idx]

◆ val2

const T ArrayMath::val2 = arr2_[idx]

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