ViennaLS
|
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 iterated level set and calculates differences with the corresponding values of the expanded level set. More...
#include <lsCompareSparseField.hpp>
Public Member Functions | |
CompareSparseField () | |
CompareSparseField (SmartPointer< Domain< T, D > > passedLevelSetExpanded, SmartPointer< Domain< T, D > > passedLevelSetIterated) | |
void | setLevelSetExpanded (SmartPointer< Domain< T, D > > passedLevelSet) |
void | setLevelSetIterated (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 | setFillIteratedWithDistances (bool fill) |
Set whether to fill the iterated level set with distances. | |
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. | |
unsigned | getNumSkippedPoints () const |
Return the number of skipped points during the comparison. | |
T | getRMSE () const |
Calculate the root mean square error from previously computed values. | |
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 iterated level set and calculates differences with the corresponding values of the expanded level set.
The expanded level set is expected to be expanded in such a way that the sparse field of the iterated level set always overlaps with defined values in the expanded level set. If a level set with a width < 50 is passed as the expaned one, the function will automatically expand it to a width of 50, a value which might be sufficient for many purposes. However, making sure that the level set is sufficiently expanded is the responsibility of the user.
The iterated level set is expected to be sparse. The reduction is performed automatically if this is not the case.
The code is currently intended for 2D level sets only.
|
inline |
|
inline |
|
inline |
Apply the comparison and calculate the sum of squared differences.
|
inline |
Clear the x-range restriction.
|
inline |
Clear the y-range restriction.
|
inline |
Return the number of points used in the comparison.
|
inline |
Return the number of skipped points during the comparison.
|
inline |
Calculate the root mean square error from previously computed values.
|
inline |
Return the sum of differences calculated by apply().
|
inline |
Return the sum of squared differences calculated by apply().
|
inline |
Set whether to fill the iterated level set with distances.
|
inline |
|
inline |
|
inline |
Set the output mesh where difference values will be stored.
|
inline |
Set the x-coordinate range to restrict the comparison area.
|
inline |
Set the y-coordinate range to restrict the comparison area.