VTK-m  2.0
Public Member Functions | List of all members
vtkm::worklet::WaveletCompressor Class Reference

#include <WaveletCompressor.h>

Inheritance diagram for vtkm::worklet::WaveletCompressor:
vtkm::worklet::wavelets::WaveletDWT vtkm::worklet::wavelets::WaveletBase

Public Member Functions

 WaveletCompressor (wavelets::WaveletName name)
 
template<typename SignalArrayType , typename CoeffArrayType >
VTKM_CONT vtkm::Id WaveDecompose (const SignalArrayType &sigIn, vtkm::Id nLevels, CoeffArrayType &coeffOut, std::vector< vtkm::Id > &L)
 
template<typename CoeffArrayType , typename SignalArrayType >
VTKM_CONT vtkm::Id WaveReconstruct (const CoeffArrayType &coeffIn, vtkm::Id nLevels, std::vector< vtkm::Id > &L, SignalArrayType &sigOut)
 
template<typename InArrayType , typename OutArrayType >
VTKM_CONT vtkm::Float64 WaveDecompose3D (InArrayType &sigIn, vtkm::Id nLevels, vtkm::Id inX, vtkm::Id inY, vtkm::Id inZ, OutArrayType &coeffOut, bool discardSigIn)
 
template<typename InArrayType , typename OutArrayType >
VTKM_CONT vtkm::Float64 WaveReconstruct3D (InArrayType &arrIn, vtkm::Id nLevels, vtkm::Id inX, vtkm::Id inY, vtkm::Id inZ, OutArrayType &arrOut, bool discardArrIn)
 
template<typename InArrayType , typename OutArrayType >
VTKM_CONT vtkm::Float64 WaveDecompose2D (const InArrayType &sigIn, vtkm::Id nLevels, vtkm::Id inX, vtkm::Id inY, OutArrayType &coeffOut, std::vector< vtkm::Id > &L)
 
template<typename InArrayType , typename OutArrayType >
VTKM_CONT vtkm::Float64 WaveReconstruct2D (const InArrayType &arrIn, vtkm::Id nLevels, vtkm::Id inX, vtkm::Id inY, OutArrayType &arrOut, std::vector< vtkm::Id > &L)
 
template<typename CoeffArrayType >
vtkm::Id SquashCoefficients (CoeffArrayType &coeffIn, vtkm::Float64 ratio)
 
template<typename ArrayType >
vtkm::Id EvaluateReconstruction (const ArrayType &original, const ArrayType &reconstruct)
 
void ComputeL (vtkm::Id sigInLen, vtkm::Id nLev, std::vector< vtkm::Id > &L)
 
void ComputeL2 (vtkm::Id inX, vtkm::Id inY, vtkm::Id nLev, std::vector< vtkm::Id > &L)
 
void ComputeL3 (vtkm::Id inX, vtkm::Id inY, vtkm::Id inZ, vtkm::Id nLev, std::vector< vtkm::Id > &L)
 
vtkm::Id ComputeCoeffLength (std::vector< vtkm::Id > &L, vtkm::Id nLevels)
 
vtkm::Id ComputeCoeffLength2 (std::vector< vtkm::Id > &L, vtkm::Id nLevels)
 
vtkm::Id GetApproxLengthLevN (vtkm::Id sigInLen, vtkm::Id levN)
 
- Public Member Functions inherited from vtkm::worklet::wavelets::WaveletDWT
 WaveletDWT (WaveletName name)
 
template<typename SigInArrayType , typename ExtensionArrayType >
vtkm::Id Extend3DLeftRight (const SigInArrayType &sigIn, vtkm::Id sigDimX, vtkm::Id sigDimY, vtkm::Id sigDimZ, vtkm::Id sigStartX, vtkm::Id sigStartY, vtkm::Id sigStartZ, vtkm::Id sigPretendDimX, vtkm::Id sigPretendDimY, vtkm::Id sigPretendDimZ, ExtensionArrayType &ext1, ExtensionArrayType &ext2, vtkm::Id addLen, vtkm::worklet::wavelets::DWTMode ext1Method, vtkm::worklet::wavelets::DWTMode ext2Method, bool pretendSigPaddedZero, bool padZeroAtExt2)
 
template<typename SigInArrayType , typename ExtensionArrayType >
vtkm::Id Extend3DTopDown (const SigInArrayType &sigIn, vtkm::Id sigDimX, vtkm::Id sigDimY, vtkm::Id sigDimZ, vtkm::Id sigStartX, vtkm::Id sigStartY, vtkm::Id sigStartZ, vtkm::Id sigPretendDimX, vtkm::Id sigPretendDimY, vtkm::Id sigPretendDimZ, ExtensionArrayType &ext1, ExtensionArrayType &ext2, vtkm::Id addLen, vtkm::worklet::wavelets::DWTMode ext1Method, vtkm::worklet::wavelets::DWTMode ext2Method, bool pretendSigPaddedZero, bool padZeroAtExt2)
 
template<typename SigInArrayType , typename ExtensionArrayType >
vtkm::Id Extend3DFrontBack (const SigInArrayType &sigIn, vtkm::Id sigDimX, vtkm::Id sigDimY, vtkm::Id sigDimZ, vtkm::Id sigStartX, vtkm::Id sigStartY, vtkm::Id sigStartZ, vtkm::Id sigPretendDimX, vtkm::Id sigPretendDimY, vtkm::Id sigPretendDimZ, ExtensionArrayType &ext1, ExtensionArrayType &ext2, vtkm::Id addLen, vtkm::worklet::wavelets::DWTMode ext1Method, vtkm::worklet::wavelets::DWTMode ext2Method, bool pretendSigPaddedZero, bool padZeroAtExt2)
 
template<typename ArrayInType , typename ArrayOutType >
vtkm::Float64 DWT3D (ArrayInType &sigIn, vtkm::Id sigDimX, vtkm::Id sigDimY, vtkm::Id sigDimZ, vtkm::Id sigStartX, vtkm::Id sigStartY, vtkm::Id sigStartZ, vtkm::Id sigPretendDimX, vtkm::Id sigPretendDimY, vtkm::Id sigPretendDimZ, ArrayOutType &coeffOut, bool discardSigIn)
 
template<typename ArrayInType , typename ArrayOutType >
vtkm::Float64 IDWT3D (ArrayInType &coeffIn, vtkm::Id inDimX, vtkm::Id inDimY, vtkm::Id inDimZ, vtkm::Id inStartX, vtkm::Id inStartY, vtkm::Id inStartZ, const std::vector< vtkm::Id > &L, ArrayOutType &sigOut, bool discardCoeffIn)
 
template<typename SigInArrayType , typename ExtensionArrayType >
vtkm::Id Extend2D (const SigInArrayType &sigIn, vtkm::Id sigDimX, vtkm::Id sigDimY, vtkm::Id sigStartX, vtkm::Id sigStartY, vtkm::Id sigPretendDimX, vtkm::Id sigPretendDimY, ExtensionArrayType &ext1, ExtensionArrayType &ext2, vtkm::Id addLen, vtkm::worklet::wavelets::DWTMode ext1Method, vtkm::worklet::wavelets::DWTMode ext2Method, bool pretendSigPaddedZero, bool padZeroAtExt2, bool modeLR)
 
template<typename SigInArrayType , typename SigExtendedArrayType >
vtkm::Id Extend1D (const SigInArrayType &sigIn, SigExtendedArrayType &sigOut, vtkm::Id addLen, vtkm::worklet::wavelets::DWTMode leftExtMethod, vtkm::worklet::wavelets::DWTMode rightExtMethod, bool attachZeroRightLeft, bool attachZeroRightRight)
 
template<typename SignalArrayType , typename CoeffArrayType >
vtkm::Float64 DWT1D (const SignalArrayType &sigIn, CoeffArrayType &coeffOut, std::vector< vtkm::Id > &L)
 
template<typename CoeffArrayType , typename SignalArrayType >
vtkm::Float64 IDWT1D (const CoeffArrayType &coeffIn, std::vector< vtkm::Id > &L, SignalArrayType &sigOut)
 
template<typename ArrayInType , typename ArrayOutType >
vtkm::Float64 DWT2D (const ArrayInType &sigIn, vtkm::Id sigDimX, vtkm::Id sigDimY, vtkm::Id sigStartX, vtkm::Id sigStartY, vtkm::Id sigPretendDimX, vtkm::Id sigPretendDimY, ArrayOutType &coeffOut, std::vector< vtkm::Id > &L)
 
template<typename ArrayInType , typename ArrayOutType >
vtkm::Float64 IDWT2D (const ArrayInType &coeffIn, vtkm::Id inDimX, vtkm::Id inDimY, vtkm::Id inStartX, vtkm::Id inStartY, const std::vector< vtkm::Id > &L, ArrayOutType &sigOut)
 
template<typename ArrayInType , typename ArrayOutType >
void IDWTHelper2DLeftRight (const ArrayInType &coeffIn, vtkm::Id inDimX, vtkm::Id inDimY, vtkm::Id inStartX, vtkm::Id inStartY, vtkm::Id inPretendDimX, vtkm::Id inPretendDimY, vtkm::Id cADimX, vtkm::Id cDDimX, ArrayOutType &ext1, ArrayOutType &ext2, ArrayOutType &ext3, ArrayOutType &ext4, vtkm::Id &ext1DimX, vtkm::Id &ext2DimX, vtkm::Id &ext3DimX, vtkm::Id &ext4DimX, vtkm::Id filterLen, DWTMode mode)
 
template<typename ArrayInType , typename ArrayOutType >
void IDWTHelper2DTopDown (const ArrayInType &coeffIn, vtkm::Id inDimX, vtkm::Id inDimY, vtkm::Id inStartX, vtkm::Id inStartY, vtkm::Id inPretendDimX, vtkm::Id inPretendDimY, vtkm::Id cADimY, vtkm::Id cDDimY, ArrayOutType &ext1, ArrayOutType &ext2, ArrayOutType &ext3, ArrayOutType &ext4, vtkm::Id &ext1DimY, vtkm::Id &ext2DimY, vtkm::Id &ext3DimY, vtkm::Id &ext4DimY, vtkm::Id filterLen, DWTMode mode)
 
template<typename ArrayInType , typename ArrayOutType >
void IDWTHelper3DLeftRight (const ArrayInType &coeffIn, vtkm::Id inDimX, vtkm::Id inDimY, vtkm::Id inDimZ, vtkm::Id inStartX, vtkm::Id inStartY, vtkm::Id inStartZ, vtkm::Id inPretendDimX, vtkm::Id inPretendDimY, vtkm::Id inPretendDimZ, vtkm::Id cADimX, vtkm::Id cDDimX, ArrayOutType &ext1, ArrayOutType &ext2, ArrayOutType &ext3, ArrayOutType &ext4, vtkm::Id &ext1DimX, vtkm::Id &ext2DimX, vtkm::Id &ext3DimX, vtkm::Id &ext4DimX, vtkm::Id filterLen, DWTMode mode)
 
template<typename ArrayInType , typename ArrayOutType >
void IDWTHelper3DTopDown (const ArrayInType &coeffIn, vtkm::Id inDimX, vtkm::Id inDimY, vtkm::Id inDimZ, vtkm::Id inStartX, vtkm::Id inStartY, vtkm::Id inStartZ, vtkm::Id inPretendDimX, vtkm::Id inPretendDimY, vtkm::Id inPretendDimZ, vtkm::Id cADimY, vtkm::Id cDDimY, ArrayOutType &ext1, ArrayOutType &ext2, ArrayOutType &ext3, ArrayOutType &ext4, vtkm::Id &ext1DimY, vtkm::Id &ext2DimY, vtkm::Id &ext3DimY, vtkm::Id &ext4DimY, vtkm::Id filterLen, DWTMode mode)
 
template<typename ArrayInType , typename ArrayOutType >
void IDWTHelper3DFrontBack (const ArrayInType &coeffIn, vtkm::Id inDimX, vtkm::Id inDimY, vtkm::Id inDimZ, vtkm::Id inStartX, vtkm::Id inStartY, vtkm::Id inStartZ, vtkm::Id inPretendDimX, vtkm::Id inPretendDimY, vtkm::Id inPretendDimZ, vtkm::Id cADimZ, vtkm::Id cDDimZ, ArrayOutType &ext1, ArrayOutType &ext2, ArrayOutType &ext3, ArrayOutType &ext4, vtkm::Id &ext1DimZ, vtkm::Id &ext2DimZ, vtkm::Id &ext3DimZ, vtkm::Id &ext4DimZ, vtkm::Id filterLen, DWTMode mode)
 
- Public Member Functions inherited from vtkm::worklet::wavelets::WaveletBase
 WaveletBase (WaveletName name)
 
vtkm::Id GetApproxLength (vtkm::Id sigInLen)
 
vtkm::Id GetDetailLength (vtkm::Id sigInLen)
 
vtkm::Id GetCoeffLength (vtkm::Id sigInLen)
 
vtkm::Id GetCoeffLength2 (vtkm::Id sigInX, vtkm::Id sigInY)
 
vtkm::Id GetCoeffLength3 (vtkm::Id sigInX, vtkm::Id sigInY, vtkm::Id sigInZ)
 
vtkm::Id GetWaveletMaxLevel (vtkm::Id sigInLen)
 
template<typename ArrayType1 , typename ArrayType2 >
void DeviceCopyStartX (const ArrayType1 &srcArray, ArrayType2 &dstArray, vtkm::Id startIdx)
 
template<typename ArrayType >
void DeviceAssignZero (ArrayType &array, vtkm::Id index)
 
template<typename ArrayType >
void DeviceAssignZero2DRow (ArrayType &array, vtkm::Id dimX, vtkm::Id dimY, vtkm::Id rowIdx)
 
template<typename ArrayType >
void DeviceAssignZero2DColumn (ArrayType &array, vtkm::Id dimX, vtkm::Id dimY, vtkm::Id colIdx)
 
template<typename ArrayType >
void DeviceAssignZero3DPlaneX (ArrayType &array, vtkm::Id dimX, vtkm::Id dimY, vtkm::Id dimZ, vtkm::Id zeroX)
 
template<typename ArrayType >
void DeviceAssignZero3DPlaneY (ArrayType &array, vtkm::Id dimX, vtkm::Id dimY, vtkm::Id dimZ, vtkm::Id zeroY)
 
template<typename ArrayType >
void DeviceAssignZero3DPlaneZ (ArrayType &array, vtkm::Id dimX, vtkm::Id dimY, vtkm::Id dimZ, vtkm::Id zeroZ)
 
template<typename ArrayType >
void DeviceSort (ArrayType &array)
 
template<typename ArrayType >
ArrayType::ValueType DeviceSum (const ArrayType &array)
 
template<typename ArrayType >
ArrayType::ValueType DeviceMax (const ArrayType &array)
 
template<typename ArrayType >
ArrayType::ValueType DeviceMin (const ArrayType &array)
 
template<typename ArrayType >
ArrayType::ValueType DeviceMaxAbs (const ArrayType &array)
 
template<typename ArrayType >
vtkm::Float64 DeviceCalculateVariance (ArrayType &array)
 
template<typename SmallArrayType , typename BigArrayType >
void DeviceRectangleCopyTo (const SmallArrayType &smallRect, vtkm::Id smallX, vtkm::Id smallY, BigArrayType &bigRect, vtkm::Id bigX, vtkm::Id bigY, vtkm::Id startX, vtkm::Id startY)
 
template<typename SmallArrayType , typename BigArrayType >
void DeviceCubeCopyTo (const SmallArrayType &smallCube, vtkm::Id smallX, vtkm::Id smallY, vtkm::Id smallZ, BigArrayType &bigCube, vtkm::Id bigX, vtkm::Id bigY, vtkm::Id bigZ, vtkm::Id startX, vtkm::Id startY, vtkm::Id startZ)
 
template<typename ArrayType >
void Print2DArray (const std::string &str, const ArrayType &arr, vtkm::Id dimX)
 

Additional Inherited Members

- Protected Member Functions inherited from vtkm::worklet::wavelets::WaveletBase
void WaveLengthValidate (vtkm::Id sigInLen, vtkm::Id filterLength, vtkm::Id &level)
 
- Protected Attributes inherited from vtkm::worklet::wavelets::WaveletBase
WaveletName wname
 
DWTMode wmode
 
WaveletFilter filter
 

Constructor & Destructor Documentation

◆ WaveletCompressor()

vtkm::worklet::WaveletCompressor::WaveletCompressor ( wavelets::WaveletName  name)
inline

Member Function Documentation

◆ ComputeCoeffLength()

vtkm::Id vtkm::worklet::WaveletCompressor::ComputeCoeffLength ( std::vector< vtkm::Id > &  L,
vtkm::Id  nLevels 
)
inline

◆ ComputeCoeffLength2()

vtkm::Id vtkm::worklet::WaveletCompressor::ComputeCoeffLength2 ( std::vector< vtkm::Id > &  L,
vtkm::Id  nLevels 
)
inline

◆ ComputeL()

void vtkm::worklet::WaveletCompressor::ComputeL ( vtkm::Id  sigInLen,
vtkm::Id  nLev,
std::vector< vtkm::Id > &  L 
)
inline

◆ ComputeL2()

void vtkm::worklet::WaveletCompressor::ComputeL2 ( vtkm::Id  inX,
vtkm::Id  inY,
vtkm::Id  nLev,
std::vector< vtkm::Id > &  L 
)
inline

◆ ComputeL3()

void vtkm::worklet::WaveletCompressor::ComputeL3 ( vtkm::Id  inX,
vtkm::Id  inY,
vtkm::Id  inZ,
vtkm::Id  nLev,
std::vector< vtkm::Id > &  L 
)
inline

◆ EvaluateReconstruction()

template<typename ArrayType >
vtkm::Id vtkm::worklet::WaveletCompressor::EvaluateReconstruction ( const ArrayType &  original,
const ArrayType &  reconstruct 
)
inline

◆ GetApproxLengthLevN()

vtkm::Id vtkm::worklet::WaveletCompressor::GetApproxLengthLevN ( vtkm::Id  sigInLen,
vtkm::Id  levN 
)
inline

◆ SquashCoefficients()

template<typename CoeffArrayType >
vtkm::Id vtkm::worklet::WaveletCompressor::SquashCoefficients ( CoeffArrayType &  coeffIn,
vtkm::Float64  ratio 
)
inline

◆ WaveDecompose()

template<typename SignalArrayType , typename CoeffArrayType >
VTKM_CONT vtkm::Id vtkm::worklet::WaveletCompressor::WaveDecompose ( const SignalArrayType &  sigIn,
vtkm::Id  nLevels,
CoeffArrayType &  coeffOut,
std::vector< vtkm::Id > &  L 
)
inline

◆ WaveDecompose2D()

template<typename InArrayType , typename OutArrayType >
VTKM_CONT vtkm::Float64 vtkm::worklet::WaveletCompressor::WaveDecompose2D ( const InArrayType &  sigIn,
vtkm::Id  nLevels,
vtkm::Id  inX,
vtkm::Id  inY,
OutArrayType &  coeffOut,
std::vector< vtkm::Id > &  L 
)
inline

◆ WaveDecompose3D()

template<typename InArrayType , typename OutArrayType >
VTKM_CONT vtkm::Float64 vtkm::worklet::WaveletCompressor::WaveDecompose3D ( InArrayType &  sigIn,
vtkm::Id  nLevels,
vtkm::Id  inX,
vtkm::Id  inY,
vtkm::Id  inZ,
OutArrayType &  coeffOut,
bool  discardSigIn 
)
inline

◆ WaveReconstruct()

template<typename CoeffArrayType , typename SignalArrayType >
VTKM_CONT vtkm::Id vtkm::worklet::WaveletCompressor::WaveReconstruct ( const CoeffArrayType &  coeffIn,
vtkm::Id  nLevels,
std::vector< vtkm::Id > &  L,
SignalArrayType &  sigOut 
)
inline

◆ WaveReconstruct2D()

template<typename InArrayType , typename OutArrayType >
VTKM_CONT vtkm::Float64 vtkm::worklet::WaveletCompressor::WaveReconstruct2D ( const InArrayType &  arrIn,
vtkm::Id  nLevels,
vtkm::Id  inX,
vtkm::Id  inY,
OutArrayType &  arrOut,
std::vector< vtkm::Id > &  L 
)
inline

◆ WaveReconstruct3D()

template<typename InArrayType , typename OutArrayType >
VTKM_CONT vtkm::Float64 vtkm::worklet::WaveletCompressor::WaveReconstruct3D ( InArrayType &  arrIn,
vtkm::Id  nLevels,
vtkm::Id  inX,
vtkm::Id  inY,
vtkm::Id  inZ,
OutArrayType &  arrOut,
bool  discardArrIn 
)
inline

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