20 #ifndef MIRTK_MeshSmoothing_H 21 #define MIRTK_MeshSmoothing_H 23 #include "mirtk/MeshFilter.h" 25 #include "mirtk/Array.h" 60 typedef Array<vtkSmartPointer<vtkDataArray> >
DataArrays;
68 mirtkPublicAttributeMacro(vtkSmartPointer<vtkDataArray>, Mask);
71 mirtkPublicAttributeMacro(
int, NumberOfIterations);
74 mirtkPublicAttributeMacro(
double, Lambda);
82 mirtkPublicAttributeMacro(
double, Mu);
94 mirtkPublicAttributeMacro(
double, Sigma);
115 mirtkPublicAttributeMacro(
double, MaximumDirectionSigma);
125 mirtkPublicAttributeMacro(
string, GeometryTensorName);
129 mirtkPublicAttributeMacro(
string, MinimumDirectionName);
133 mirtkPublicAttributeMacro(
string, MaximumDirectionName);
140 mirtkPublicAttributeMacro(
bool, AdjacentValuesOnly);
143 mirtkPublicAttributeMacro(
bool, SmoothPoints);
146 mirtkPublicAttributeMacro(
bool, SmoothMagnitude);
151 mirtkPublicAttributeMacro(
bool, SignedSmoothing);
154 mirtkPublicAttributeMacro(ArrayNames, SmoothArrays);
157 mirtkAttributeMacro(Array<int>, AttributeTypes);
160 mirtkAttributeMacro(DataArrays, InputArrays);
163 mirtkAttributeMacro(DataArrays, OutputArrays);
166 mirtkPublicAttributeMacro(
int, Verbose);
263 return (lstr ==
"default");
271 _SmoothArrays.push_back(name);
272 _AttributeTypes.push_back(attr);
278 #endif // MIRTK_MeshSmoothing_H Anisotropic Gaussian node weights.
MeshSmoothing & operator=(const MeshSmoothing &)
Assignment operator.
string Trim(const string &str, const string &what=" \\)
virtual ~MeshSmoothing()
Destructor.
virtual void Initialize()
Initialize filter after input and parameters are set.
Array< string > ArrayNames
List of point data array names.
MeshSmoothing()
Constructor.
string ToLower(const string &)
Convert string to lowercase letters.
virtual void Execute()
Execute filter.
mirtkSetMacro(NumberOfIterations, int)
Set number of smoothing iterations.
Array< vtkSmartPointer< vtkDataArray > > DataArrays
Vector of point data arrays to be smoothed.
Undefined weighting function, use default.
Weight by cosine of angle made up by normals.
bool FromString(const char *str, EnergyMeasure &value)
Convert energy measure string to enumeration value.
void SmoothArray(const char *name, int attr=-1)
WeightFunction
Enumeration of smoothing kernel functions.
Uniform node weights / "umbrella operator".
virtual void Finalize()
Finalize filter execution.
mirtkOnOffMacro(AdjacentValuesOnly)
Enable/disable averaging of adjacent node values only.
mirtkGetMacro(NumberOfIterations, int)
Get number of smoothing iterations.