Lanczos Interpolation
This method is based on the 2-lobed or 3-lobed
Lanczos window function as the interpolation function.
Interpolation with the 2-lobed Lanczos
Window Function
The interpolation algorithm uses source image
intensities at 16 pixels in the neighborhood of the point (,
) in the source image:
x
S
y
S
x
S0
x
S
x
S1
x
S0
x
S2
x
S0
x
S3
x
S0
y
S0
y
S
y
S1
y
S0
y
S2
y
S0
y
S3
y
S0
First, the intensity values are interpolated along
the
,
,
,
:
x
-axis to
produce four intermediate results
I
0
I
1
I
2
I
3

Then the intensity
,
) is computed by
interpolating the intermediate values
along the
D
(
x
D
y
D
I
k
y
-axis:

Here
and
are the coefficients
defined as
a
i
b
k
a
i
L
(x
S
x
Si
b
k
L
(y
S
y
Si
where
L
(x
) is the Lanczos windowed sinc
function:

To use this interpolation, use the
ippiResizeLanczos
function.
Interpolation with the 3-lobed Lanczos
Window Function
The interpolation algorithm uses source image
intensities at 36 pixels in the neighborhood of the point (,
) in the source image:
x
S
y
S
x
S0
x
S
x
S1
x
S0
x
S2
x
S0
x
S3
x
S0
x
S3
x
S0
x
S3
x
S0
y
S0
y
S
y
S1
y
S0
y
S2
y
S0
y
S3
y
S0
y
S2
y
S0
y
S2
y
S0
First, the intensity values are interpolated along
the
,
, ...
:
x
-axis to
produce six intermediate results
I
0
I
1
I
5

Then the intensity
,
) is computed by
interpolating the intermediate values
along the
D
(
x
D
y
D
I
k
y
-axis:

Here
and
are the coefficients
defined as
a
i
b
k
a
i
L
(x
S
x
Si
b
k
L
(y
S
y
Si
where
L
(x
) is the Lanczos windowed sinc
function:

To use this interpolation, set the
interpolation
parameter to
IPPI_INTER_LANCZOS
, or use
the functions with the
Lanczos
suffix (pass
interpolation
=ippLanczos
to
GetSize
functions).