14#include <lagrange/SurfaceMesh.h>
15#include <lagrange/image/View3D.h>
21namespace lagrange::texproc {
69template <
typename Scalar,
typename Index,
typename ValueType>
72 image::experimental::View3D<ValueType> texture,
A general purpose polygonal mesh class.
Definition SurfaceMesh.h:66
void texture_filtering(const SurfaceMesh< Scalar, Index > &mesh, image::experimental::View3D< ValueType > texture, const FilteringOptions &options={})
Smooth or sharpen a texture image associated with a mesh.
Definition texture_filtering.cpp:153
Options for texture filtering (smoothing or sharpening).
Definition texture_filtering.h:30
double gradient_scale
The gradient modulation weight.
Definition texture_filtering.h:43
double stiffness_regularization_weight
Regularize the stiffness matrix using a combinatorial Laplacian energy.
Definition texture_filtering.h:52
std::optional< std::pair< double, double > > clamp_to_range
Clamp out-of-range texels to the given range (nullopt to disable).
Definition texture_filtering.h:55
double value_weight
The weight for fitting the values of the signal.
Definition texture_filtering.h:32
unsigned int quadrature_samples
The number of quadrature samples to use for integration (in {1, 3, 6, 12, 24, 32}).
Definition texture_filtering.h:46
double gradient_weight
The weight for fitting the modulated gradients of the signal.
Definition texture_filtering.h:39
double jitter_epsilon
Jitter amount per texel (0 to deactivate).
Definition texture_filtering.h:49