MaMiCo 1.2
Loading...
Searching...
No Matches
coupling::filtering::Gauss< dim, scope > Class Template Reference
Inheritance diagram for coupling::filtering::Gauss< dim, scope >:
Collaboration diagram for coupling::filtering::Gauss< dim, scope >:

Public Member Functions

 Gauss (const std::vector< coupling::datastructures::CouplingCell< dim > * > &inputCellVector, const std::vector< coupling::datastructures::CouplingCell< dim > * > &outputCellVector, const std::array< bool, 7 > filteredValues, unsigned int dimension, int sigma, const char *extrapolationStrategy)
 
void operator() ()
 
- Public Member Functions inherited from coupling::filtering::FilterInterface< dim >
 FilterInterface (const std::vector< coupling::datastructures::CouplingCell< dim > * > &inputCellVector, const std::vector< coupling::datastructures::CouplingCell< dim > * > &outputCellVector, const std::array< bool, 7 > filteredValues, const char *type)
 
 FilterInterface (const char *type)
 
void updateCellData (const std::vector< coupling::datastructures::CouplingCell< dim > * > &new_inputCells, const std::vector< coupling::datastructures::CouplingCell< dim > * > &new_outputCells)
 
const char * getType () const
 
std::vector< coupling::datastructures::CouplingCell< dim > * > getInputCells () const
 
std::vector< coupling::datastructures::CouplingCell< dim > * > getOutputCells () const
 
coupling::datastructures::CouplingCell< dim > * getInputCellOfIndex (const CellIndex_T &index)
 
coupling::datastructures::CouplingCell< dim > * getOutputCellOfIndex (const CellIndex_T &index)
 
void setInputCells (const std::vector< coupling::datastructures::CouplingCell< dim > * > &newInputCells)
 
int getSize () const
 

Private Types

using ScalarIndex = coupling::indexing::CellIndex<dim, scope..., coupling::indexing::IndexTrait::md2macro, coupling::indexing::IndexTrait::noGhost>
 
using VectorIndex
 

Private Member Functions

std::array< double, 1+2 *GAUSS_KERNEL_RADIUS > generateKernel ()
 
constexpr double gaussianDensityFunction (int x)
 
VectorIndex getIndexAbove (const VectorIndex index, unsigned int d)
 
VectorIndex getIndexBelow (const VectorIndex index, unsigned int d)
 

Private Attributes

const unsigned int _dim
 
const double _sigma
 
std::array< double, 1+2 *GAUSS_KERNEL_RADIUS > _kernel
 
coupling::filtering::GaussExtrapolationStrategy _extrapolationStrategy
 

Additional Inherited Members

- Public Types inherited from coupling::filtering::FilterInterface< dim >
using CellIndex_T
 
- Protected Attributes inherited from coupling::filtering::FilterInterface< dim >
std::vector< coupling::datastructures::CouplingCell< dim > * > _inputCells
 
std::vector< coupling::datastructures::CouplingCell< dim > * > _outputCells
 
std::vector< ScalarAccessFunctionPair_scalarAccessFunctionPairs
 
std::vector< VectorAccessFunctionPair_vectorAccessFunctionPairs
 
const char * _type
 

Member Typedef Documentation

◆ VectorIndex

template<unsigned int dim, coupling::indexing::IndexTrait... scope>
using coupling::filtering::Gauss< dim, scope >::VectorIndex
private
Initial value:
coupling::indexing::CellIndex<dim, coupling::indexing::IndexTrait::vector, scope..., coupling::indexing::IndexTrait::md2macro,
coupling::indexing::IndexTrait::noGhost>
Definition CellIndex.h:85

Member Function Documentation

◆ operator()()

template<unsigned int dim, coupling::indexing::IndexTrait... scope>
void coupling::filtering::Gauss< dim, scope >::operator() ( )
virtual

Member Data Documentation

◆ _extrapolationStrategy

template<unsigned int dim, coupling::indexing::IndexTrait... scope>
coupling::filtering::GaussExtrapolationStrategy coupling::filtering::Gauss< dim, scope >::_extrapolationStrategy
private

Determines how to apply filter to border cells: NONE = only use existing cells and normalize their weight accordingly MIRROR = b | a b c d | c REFLECT = a | a b c d | d

The last two are congruent to SciPy's gaussian filter's respective extrapolation modes


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