Enum RadialBasisFunction
Defined in File mls_interpolation.hpp
Enum Documentation
-
enum class pcms::RadialBasisFunction
Enumeration of supported radial basis functions (RBFs) for MLS interpolation.
Specifies the kernel type used for computing weights in Moving Least Squares (MLS) interpolation. Each RBF defines a different spatial weighting behavior, influencing locality, smoothness, and conditioning of the interpolant.
Values:RBF_GAUSSIAN (0) \( \phi(r) = \exp\left(-\left(\frac{a r}{r_c}\right)^2\right) \) Infinitely smooth and compactly supported.
ais the shape (decay) parameter — smaller values give wider influence. Good for smooth interpolants; may cause ill-conditioning for largea.RBF_C4 (1) Compactly supported, \( C^4\)-continuous polynomial kernel. Does not require a shape parameter. Efficient, stable, and good for local approximations.
RBF_CONST (2) Uniform weights within support: \( \phi(r) = 1 \text{ for } r < r_c \), otherwise 0. Equivalent to averaging.
NO_OP (3) Disables internal RBF weighting logic. Always returns \( \phi = 1 \) regardless of distance. Useful for methods like SPR patching
RBF_MULTIQUADRIC (4) \( \phi(r) = \sqrt{1 + \left(\frac{a r}{r_c}\right)^2} \) Smooth and locally supported.
acontrols the width; higher values increase conditioning issues.RBF_INVMULTIQUADRIC (5) \( \phi(r) = \frac{1}{\sqrt{1 + \left(\frac{a r}{r_c}\right)^2}} \) Compactly supported and generally more stable than MQ.
aadjusts the decay; largeraleads to faster fall-off.RBF_THINPLATESPLINE (6)\( \phi(r) = \left(\frac{a r}{r_c}\right)^2 \log\left(\frac{a r}{r_c}\right) \) Classic 2D surface fitting kernel. No explicit shape parameter is required, but
acan scale smoothness.RBF_CUBIC (7) \( \phi(r) = \left(\frac{a r}{r_c}\right)^3 \) Smooth with compact support. Simple and effective for local interpolation.
See also
Note
The shape parameter
a(also called decay or spread factor) is required for Gaussian, MQ, IMQ, ThinPlateSpline, and Cubic kernels.All kernels are compactly supported within the cutoff radius \( r_c \).
A good starting value for
ais 3–5. Avoida = 0(leads to constant behavior).In cases of ill-conditioning, use regularization (
lambda > 0).
Values:
-
enumerator RBF_GAUSSIAN
-
enumerator RBF_C4
-
enumerator RBF_CONST
-
enumerator NO_OP
-
enumerator RBF_MULTIQUADRIC
-
enumerator RBF_INVMULTIQUADRIC
-
enumerator RBF_THINPLATESPLINE
-
enumerator RBF_CUBIC