smooth-surface <input> <output> [options]
smooth-surface <input> <output> <iterations> [lambda] [mu] [options] (deprecated)


Smooths the node positions and/or scalar data of a surface mesh.

When node positions are smoothed, iteratively move mesh nodes towards the centroid of the adjacent nodes. The relaxation factor (RF) determines how far each node moves towards the local centroid (0 <= lambda <= 1). The new position of a node is a weighted combination of its previous position and the neighbours’ centroid. If lambda = 1, a node is moved all the way to the centroid, while lambda = 0 keeps a node at its previous position.

For a low-pass filtering of the surface mesh, set smooth-surface -lambda to a positive value in the range (0, 1), and smooth-surface -mu to a negative value greater in magnitude than lambda, i.e., 0 < lambda < mu. For a detailed explanation of the parameters, cf. Taubin, Curve and Surface Smoothing without Shrinkage, ICCV 1995.



File name of input surface mesh.


File name of output surface mesh.


No. of smoothing iterations. (deprecated: see -iterations option)


Relaxation/scale factor for odd iterations. (deprecated: see -lambda option)


Magnitude of scale factor for even iterations. (deprecated: see -mu option)

Command options

-iterations <n>

Number of smoothing iterations. (default: 1)

-lambda <float>

Relaxation/scale factor for odd iterations. (default: 1)

-mu <float>

Relaxation/scale factor for even iterations. (default: lambda)


Smooth node positions. (default if no -scalars specified)

-scalars [<name>]

Name of scalar point data array to smooth. If no <name> given, all non-attribute scalar arrays and the SCALARS if any are smoothed.


Exclude node itself from smoothing, only average adjacent values.


Include node itself in the smoothing.


Area weighted Laplacian relaxation of surface node positions. (default)

-windowedsinc [<band>]

Adjust point positions using a windowed sinc interpolation function.


Combinatorial weighting of adjacent nodes.

-distance [<sigma>]

Inverse distance weighted smoothing kernel.

-gaussian [<sigma>]

Gaussian smoothing kernel.

-anisotropic ([<sigma>] [<tensor_array>] | <sigma1> <sigma2> [(<e2_array> | <e1_array> <e2_array>)])

Anisotropic Gaussian smoothing kernel given input tensor field point data array named <tensor_array>. The default tensor field used with no arguments or only <sigma> specified is the curvature tensor output of the calculate-surface-attributes -tensor command. Alternatively, specify <sigma1> and <sigma2> together with the direction of maximum curvature in <e2_array> or both, the direction of minimum and maximum curvature direction in point data arrays named <e1_array> and <e2_array>.

-track [<name>]

Track the signed distances traversed by points (positive is outwards). The optional arguments specifies the name of output output point data array. (default: “smoothingDists” if option is given without <name>).

-threshold <value>

A value indicating the smoothness as the L_2 norm of H^2 over the surface. See Tosun, MedIA, 2004. Iterations stop if the norm for the surface drops below the given value. Only used for -areaweighted smoothing.

Standard options

-v, -verbose [n]

Increase/Set verbosity of output messages. (default: 0)

-debug [level]

Increase/Set debug level for output of intermediate results. (default: 0)

-version [major.minor]

Print version and exit or set version to emulate.


Print revision (or version) number only and exit.

-h, -help

Print help and exit.