calculate-surface-map <input> <output> [options]


This tool computes a mapping for each point on the surface of a given input shape embedded in 3D space. The output is a (piecewise linear) function which assigns each point on the surface of the input shape one or more values. In case of non-closed surfaces, the output map can interpolate any values given on the boundary of the surface at the interior points of the surface. More common use cases are to compute a bijective mapping from one geometric shape to another geometric shape with identical topology. The resulting map is a parameterization of the surface of the input shape. Such parameterization can be used for texturing, object morphing, and surface registration.



Point set delineating the boundary of the map domain or name of primitive shape such as: “disk”, “square”, or “sphere”.


File path of output map. A piecewise linear map is stored as VTK file. Other maps are stored in a custom binary format.

Output options


Use spring constants based on generalized barycentric coordiantes.


Use spring constants based on mean value coordinates.


Conformal surface map or as-conformal-as-possible volumetric map.


Harmonic volumetric map.

Command options

-p <n>

Exponent of harmonic energy term. When non-positive, solve for an approximate harmonic surface map using a spring network. (default: 0)

-name <string>

Name of point data array used as fixed point map. (default: tcoords)

-mask <string>

Name of point data array used as fixed point mask. (default: boundary)

-max-iterations <n>

Maximum no. of linear solver iterations. (default: 1 or size of problem)

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.

Terminal options

-color, -nocolor

Enable/disable colored output. (default: off)

Parallelization options

-threads <n>

Use maximal <n> threads for parallel execution. (default: automatic)