ViennaLS
Loading...
Searching...
No Matches
viennals::CompareSparseField< T, D > Class Template Reference

Calculate distance measure between two level sets by comparing their SDF values on a sparse field. This class iterates over the points in the sparse field of the sample level set and calculates differences with the target level set. The target level set needs to be expanded whereas the sample level set reduced to a sparse field if necessary. The code is currently intended for 2D level sets only. More...

#include <lsCompareSparseField.hpp>

Public Member Functions

 CompareSparseField ()
 
 CompareSparseField (SmartPointer< Domain< T, D > > passedLevelSetTarget, SmartPointer< Domain< T, D > > passedLevelSetSample)
 
void setLevelSetTarget (SmartPointer< Domain< T, D > > passedLevelSet)
 
void setLevelSetSample (SmartPointer< Domain< T, D > > passedLevelSet)
 
void setXRange (T minXRange, T maxXRange)
 Set the x-coordinate range to restrict the comparison area.
 
void setYRange (T minYRange, T maxYRange)
 Set the y-coordinate range to restrict the comparison area.
 
void clearXRange ()
 Clear the x-range restriction.
 
void clearYRange ()
 Clear the y-range restriction.
 
void setOutputMesh (SmartPointer< Mesh< T > > passedMesh)
 Set the output mesh where difference values will be stored.
 
void apply ()
 Apply the comparison and calculate the sum of squared differences.
 
T getSumSquaredDifferences () const
 Return the sum of squared differences calculated by apply().
 
T getSumDifferences () const
 Return the sum of differences calculated by apply().
 
unsigned getNumPoints () const
 Return the number of points used in the comparison.
 
T getRMSE () const
 Calculate the root mean square error from previously computed values.
 

Detailed Description

template<class T, int D = 2>
class viennals::CompareSparseField< T, D >

Calculate distance measure between two level sets by comparing their SDF values on a sparse field. This class iterates over the points in the sparse field of the sample level set and calculates differences with the target level set. The target level set needs to be expanded whereas the sample level set reduced to a sparse field if necessary. The code is currently intended for 2D level sets only.

Constructor & Destructor Documentation

◆ CompareSparseField() [1/2]

template<class T, int D = 2>
viennals::CompareSparseField< T, D >::CompareSparseField ( )
inline

◆ CompareSparseField() [2/2]

template<class T, int D = 2>
viennals::CompareSparseField< T, D >::CompareSparseField ( SmartPointer< Domain< T, D > > passedLevelSetTarget,
SmartPointer< Domain< T, D > > passedLevelSetSample )
inline

Member Function Documentation

◆ apply()

template<class T, int D = 2>
void viennals::CompareSparseField< T, D >::apply ( )
inline

Apply the comparison and calculate the sum of squared differences.

◆ clearXRange()

template<class T, int D = 2>
void viennals::CompareSparseField< T, D >::clearXRange ( )
inline

Clear the x-range restriction.

◆ clearYRange()

template<class T, int D = 2>
void viennals::CompareSparseField< T, D >::clearYRange ( )
inline

Clear the y-range restriction.

◆ getNumPoints()

template<class T, int D = 2>
unsigned viennals::CompareSparseField< T, D >::getNumPoints ( ) const
inline

Return the number of points used in the comparison.

◆ getRMSE()

template<class T, int D = 2>
T viennals::CompareSparseField< T, D >::getRMSE ( ) const
inline

Calculate the root mean square error from previously computed values.

◆ getSumDifferences()

template<class T, int D = 2>
T viennals::CompareSparseField< T, D >::getSumDifferences ( ) const
inline

Return the sum of differences calculated by apply().

◆ getSumSquaredDifferences()

template<class T, int D = 2>
T viennals::CompareSparseField< T, D >::getSumSquaredDifferences ( ) const
inline

Return the sum of squared differences calculated by apply().

◆ setLevelSetSample()

template<class T, int D = 2>
void viennals::CompareSparseField< T, D >::setLevelSetSample ( SmartPointer< Domain< T, D > > passedLevelSet)
inline

◆ setLevelSetTarget()

template<class T, int D = 2>
void viennals::CompareSparseField< T, D >::setLevelSetTarget ( SmartPointer< Domain< T, D > > passedLevelSet)
inline

◆ setOutputMesh()

template<class T, int D = 2>
void viennals::CompareSparseField< T, D >::setOutputMesh ( SmartPointer< Mesh< T > > passedMesh)
inline

Set the output mesh where difference values will be stored.

◆ setXRange()

template<class T, int D = 2>
void viennals::CompareSparseField< T, D >::setXRange ( T minXRange,
T maxXRange )
inline

Set the x-coordinate range to restrict the comparison area.

◆ setYRange()

template<class T, int D = 2>
void viennals::CompareSparseField< T, D >::setYRange ( T minYRange,
T maxYRange )
inline

Set the y-coordinate range to restrict the comparison area.


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