MedicalVisualization

Bilinear Interpolation

1D Texture Interpolation | | 3D Texture Interpolation Nearest Neigbour

An image (or cross section) is a 2D matrix of picture elements (pixels). The image is defined by the function values (resp. color triples) $C_{ij}$ at the pixel’s center points $P_{ij}$.

The latter grid layout is called cell-centric representation. If function values are given directly at the grid points, the representation is called grid-centric.

An image (or cross section) is interpolated with bi-linear interpolation, which is short for 2 consecutive linear interpolations in the x- and y-direction.

A single linear interpolation has the form

$f(u) = (1-u) \cdot a + u \cdot b$

with u being the normalized interpolation coefficient in the range [0,1] and a and b being the two values to be interpolated. A linear interpolation has the following characteristics:

$f(0) = a, f(1) = b$

Bi-linear interpolation creates a single interpolated value (blue) from 4 neighbouring pixels (red) by two subsequent linear interpolations along the two axis with respective normalized interpolation weights $u$ and $v$.

Given: 4 discrete color values $C_{00},C_{10},C_{01},C_{1}$ at the centers $P_{00},P_{10},P_{01},P_{1}$ of 4 neighboring pixels.

Wanted: continuous interpolated color C(u,v) within the interpolation area $(u,v)\in[0,1]x[0,1]$

$\displaystyle{ C(u,v) = }$
$\displaystyle{ (1-v)((1-u)C_{00}+uC_{10}) + }$
$\displaystyle{ v((1-u)C_{01}+uC_{11}) }$


1D Texture Interpolation | | 3D Texture Interpolation Nearest Neigbour

Options: