OpendTect  6.3
Classes | Namespaces | Macros | Functions
arrayndalgo.h File Reference
Include dependency graph for arrayndalgo.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  ArrayMath::ArrayOperExecSetup
 
class  ArrayMath::CumArrOperExec< ArrType, SumType, OperType, RetType >
 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) Template parameter SumType should be double (real or complex) for all float types. Should be od_int64 for all integer types. Template parameter OperType should be double (real) for all float types. Should be od_int64 for all integer types. More...
 
class  ArrayMath::ArrOperExec< ArrType, SumType, OperType >
 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  ArrayNDWindow
 Tapers the N-dimentional ArrayND with a windowFunction. More...
 
class  Array2DCopier< T >
 Transfers the common samples from one 2D array to another. More...
 
class  Array3DCopier< T >
 Transfers the common samples from one 3D array to another. More...
 
class  PolyTrend
 Polynomial trend with order 0 (mean), 1 (linear) or 2 (parabolic) The trend is derived from a set of values with positions and can be applied thereafter on any other position. More...
 
class  ArrayUdfValReplacer< T >
 
class  ArrayUdfValRestorer< T >
 
class  Array3DUdfTrcRestorer< T >
 
class  MuteArrayExtracter< T >
 

Namespaces

 ArrayMath
 

Macros

#define mFillTrendXArray()
 
#define mGetInfo()
 

Functions

template<class ArrType , class SumType , class OperType , class RetType >
RetType ArrayMath::getSum (const ArrayND< ArrType > &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 ArrType , class SumType , class OperType , class RetType >
RetType ArrayMath::getAverage (const ArrayND< ArrType > &in, bool noudf, bool parallel)
 returns the average amplitude of the array More...
 
template<class ArrType , class SumType , class OperType >
void ArrayMath::getScaled (const ArrayND< ArrType > &in, ArrayND< ArrType > *out_, OperType fact, SumType shift, bool noudf, bool parallel)
 returns a scaled array More...
 
template<class ArrType , class SumType , class OperType >
void ArrayMath::getSum (const ArrayND< ArrType > &in1, const ArrayND< ArrType > &in2, ArrayND< ArrType > &out, bool noudf, bool parallel)
 computes the sum array between two arrays More...
 
template<class ArrType , class SumType , class OperType >
void ArrayMath::getSum (const ArrayND< ArrType > &in1, const ArrayND< ArrType > &in2, ArrayND< ArrType > &out, OperType fact1, OperType fact2, bool noudf, bool parallel)
 computes the sum array between two arrays with scaling More...
 
template<class ArrType , class SumType , class OperType >
void ArrayMath::getProduct (const ArrayND< ArrType > &in1, const ArrayND< ArrType > &in2, ArrayND< ArrType > &out, bool noudf, bool parallel)
 computes the product array between two arrays More...
 
template<class ArrType , class SumType , class OperType , class RetType >
RetType ArrayMath::getSumProduct (const ArrayND< ArrType > &in1, const ArrayND< ArrType > &in2, bool noudf, bool parallel)
 returns the sum of product amplitudes between two vectors More...
 
template<class ArrType , class SumType , class OperType , class RetType >
RetType ArrayMath::getSumSq (const ArrayND< ArrType > &in, bool noudf, bool parallel)
 returns the sum of squarred amplitudes of the array More...
 
template<class ArrType , class SumType , class OperType , class RetType >
RetType ArrayMath::getNorm2 (const ArrayND< ArrType > &in, bool noudf, bool parallel)
 return the Norm-2 of the array More...
 
template<class ArrType , class SumType , class OperType , class RetType >
RetType ArrayMath::getRMS (const ArrayND< ArrType > &in, bool noudf, bool parallel)
 return the RMS of the array More...
 
template<class ArrType , class SumType , class OperType , class RetType >
RetType ArrayMath::getResidual (const ArrayND< ArrType > &in1, const ArrayND< ArrType > &in2, bool noudf, bool parallel)
 returns the residual differences of two arrays More...
 
template<class ArrType , class SumType , class OperType , class RetType >
RetType ArrayMath::getSumXMY2 (const ArrayND< ArrType > &in1, const ArrayND< ArrType > &in2, bool noudf, bool parallel)
 returns the sum of squarred differences of two arrays More...
 
template<class ArrType , class SumType , class OperType , class RetType >
RetType ArrayMath::getSumX2PY2 (const ArrayND< ArrType > &in1, const ArrayND< ArrType > &in2, bool noudf, bool parallel)
 returns the sum of summed squarred amplitudes of two arrays More...
 
template<class ArrType , class SumType , class OperType , class RetType >
RetType ArrayMath::getSumX2MY2 (const ArrayND< ArrType > &in1, const ArrayND< ArrType > &in2, bool noudf, bool parallel)
 returns the sum of subtracted squarred amplitudes of two arrays More...
 
template<class ArrType , class SumType , class OperType >
bool ArrayMath::removeBias (const ArrayND< ArrType > &in, ArrayND< ArrType > &out, bool noudf, bool parallel)
 Fills an ArrayND with an unbiased version of another. More...
 
template<class ArrType , class SumType , class OperType >
bool ArrayMath::removeBias (ArrayND< ArrType > &inout, bool noudf, bool parallel)
 Removes the bias ( 0 order trend = average ) from an ArrayND. More...
 
template<class ArrType , class OperType >
bool ArrayMath::getInterceptGradient (const ArrayND< ArrType > &iny, const ArrayND< ArrType > *inx_, OperType &intercept, OperType &gradient, bool parallel)
 returns the intercept and gradient of two arrays More...
 
template<class ArrType , class OperType >
bool ArrayMath::removeTrend (const ArrayND< ArrType > &in, ArrayND< ArrType > &out)
 Fills an ArrayND with a de-trended version of another. More...
 
template<class ArrType , class OperType >
bool ArrayMath::removeTrend (ArrayND< ArrType > &inout)
 Removes a 1st order (linear) trend from an ArrayND. More...
 
template<class fT >
bool hasUndefs (const ArrayND< fT > &in)
 Returns whether there are undefs in the Array. More...
 
template<class fT >
bool interpUdf (Array1D< fT > &in, typename BendPointBasedMathFunction< fT, fT >::InterpolType ipoltyp=BendPointBasedMathFunction< fT, fT >::Poly)
 
template<class T >
Array3DInterpolate (const Array3D< T > &array, float p0, float p1, float p2, bool posperiodic=false)
 
template<class T >
bool ArrayNDCopy (ArrayND< T > &dest, const ArrayND< T > &src, const TypeSet< int > &copypos, bool srcperiodic=false)
 
template<class T >
bool Array3DCopy (Array3D< T > &dest, const Array3D< T > &src, int p0, int p1, int p2, bool srcperiodic=false)
 
template<class T >
bool ArrayNDPaste (ArrayND< T > &dest, const ArrayND< T > &src, const TypeSet< int > &pastepos, bool destperiodic=false)
 
template<class T >
bool Array2DPaste (Array2D< T > &dest, const Array2D< T > &src, int p0, int p1, bool destperiodic=false)
 
template<class T >
bool Array3DPaste (Array3D< T > &dest, const Array3D< T > &src, int p0, int p1, int p2, bool destperiodic=false)
 
void convertUndefinedIndexList (const TrcKeyZSampling &tkzsin, const TrcKeyZSampling &tkzsout, LargeValVec< od_uint64 > &)
 

Macro Definition Documentation

#define mFillTrendXArray ( )
Value:
{ \
ArrType* trendxvals = trendx.getData(); \
ValueSeries<ArrType>* trendstor = trendx.getStorage(); \
if ( trendxvals ) \
{ \
for ( od_uint64 idx=0; idx<sz; idx++ ) \
trendxvals[idx] = mCast(ArrType,idx); \
} \
else if ( trendstor ) \
{ \
for ( od_uint64 idx=0; idx<sz; idx++ ) \
trendstor->setValue(idx,mCast(ArrType,idx)); \
} \
else \
{ \
ArrayNDIter iter( trendx.info() ); \
od_uint64 idx = 0; \
do \
{ \
trendx.setND( iter.getPos(), mCast(ArrType,idx) ); \
idx++; \
} while ( iter.next() ); \
} \
}
#define mCast(tp, v)
Definition: commondefs.h:120
#define od_uint64
Definition: plftypes.h:35
#define mGetInfo ( )
Value:
const Array3DInfoImpl infoin( tkzsin_.hsamp_.nrLines(), \
tkzsin_.hsamp_.nrTrcs(), tkzsin_.nrZ() ); \
const Array3DInfoImpl infoout( tkzsout_.hsamp_.nrLines(), \
tkzsout_.hsamp_.nrTrcs(), tkzsout_.nrZ() );
Implementation of Array3DInfo.
Definition: arrayndinfo.h:191

Function Documentation

template<class T >
bool Array2DPaste ( Array2D< T > &  dest,
const Array2D< T > &  src,
int  p0,
int  p1,
bool  destperiodic = false 
)
inline
template<class T >
bool Array3DCopy ( Array3D< T > &  dest,
const Array3D< T > &  src,
int  p0,
int  p1,
int  p2,
bool  srcperiodic = false 
)
inline
template<class T >
T Array3DInterpolate ( const Array3D< T > &  array,
float  p0,
float  p1,
float  p2,
bool  posperiodic = false 
)
inline
template<class T >
bool Array3DPaste ( Array3D< T > &  dest,
const Array3D< T > &  src,
int  p0,
int  p1,
int  p2,
bool  destperiodic = false 
)
inline
template<class T >
bool ArrayNDCopy ( ArrayND< T > &  dest,
const ArrayND< T > &  src,
const TypeSet< int > &  copypos,
bool  srcperiodic = false 
)
inline
template<class T >
bool ArrayNDPaste ( ArrayND< T > &  dest,
const ArrayND< T > &  src,
const TypeSet< int > &  pastepos,
bool  destperiodic = false 
)
inline
void convertUndefinedIndexList ( const TrcKeyZSampling tkzsin,
const TrcKeyZSampling tkzsout,
LargeValVec< od_uint64 > &   
)

Replaces undefined values back to an ND array

template<class fT >
bool hasUndefs ( const ArrayND< fT > &  in)
inline

Returns whether there are undefs in the Array.

template<class fT >
bool interpUdf ( Array1D< fT > &  in,
typename BendPointBasedMathFunction< fT, fT >::InterpolType  ipoltyp = BendPointBasedMathFunction<fT,fT>::Poly 
)
inline

The function interpUdf fills all the undefined values in a Array1D by using an inter- or extrapolation from the defined values. It uses the BendPointBasedMathFunction for this. Note that even if there is only one defined value, this function will fill the entire array by this value.

Returns whether any substitution was made.


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