# Transform - Surface - Interpolate Operators

The interpolation transform operators discussed in this topic are enabled when the optional Surface Tools extension has been installed and the focus is on a surface window. If you have not activated the Surface Tools extension with a valid serial number the capabilities in this topic will not be available.

Manifold provides three interpolation operators that are used to fill in invisible pixels within surfaces.

·      Interpolate sets the invisible pixel to the average value within the smallest rectangular box centered at given pixel that contains at least one visible pixel. If all pixels in the surface are invisible, the operator makes no changes.

·      Interpolate (Parameter) sets the invisible pixel to the average value within the rectangular box of a given radius centered at given pixel, and leaves the pixel invisible if the box contains no visible pixels. Depending on the size of the parameter, this operator can be extremely slow. Slight increases in the radius parameter can result in geometrically slower operation, so scale up carefully when using this operator.

·      Interpolate Row sets the invisible pixel to the weighted average of the visible pixels to the left and right of the given pixel in the same row, and leaves the pixel invisible if its row does not contain any visible pixels. This operator is faster but not as accurate as the other interpolation operators.

Note: The Interpolate transform usually provides the best results overall. The Interpolate (Parameter) transform has been provided for the use of experts who want precise control of the interpolation process.

Example

Suppose we begin with a surface that has some missing pixels, represented by invisible pixels.

Normally, of course, it would be unusual to have a surface with such relatively large swaths of missing pixels. The usual case is to have a few pixels missing, perhaps as a result of noise.

The Interpolate transform operator does a good job of filling missing pixels. The smaller the region of invisible pixels the better the result.

Using Interpolate (Parameter) with a parameter of 50 (meaning a radius of 50 meters) results in an overly-even interpolation.

The Interpolate Row operator results in lengthwise striations since it interpolates by row. This command is very fast, but it is best used in "flat" regions.

Tech Tip

The Interpolate transforms operate on selected pixels, but both selected and unselected pixels will be used to compute the interpolation required for the effect upon selected pixels if unselected pixels also are within range of the interpolation.