The TS_LANCZOS function can be used to smoothly interpolate the input data over a Lanczos kernel or be used as a low-pass filter.

This routine is written in the IDL language. Its source code can be found in the file TS_LANZCOS.pro in the lib subdirectory of the IDL distribution.

Examples


range = [0:!pi:.01]
data = sin(range)
data[0:range.length/2-1] *= (indgen(range.length/2) mod 3 - 1)
tsdata = ts_lanczos( data, weight=50, low_freq=0, high_freq=.05, /EDGE_TRUNCATE )
p1 = plot(range,data, title='Original Data vs LANCZOS', name='Data')
p2 = plot(range,tsdata,'2r',/over, name='TS_LANCZOS')
l=legend(target=[p1,p2])

IDL plots:

Syntax


Result = TS_LANCZOS( X [, WEIGHT=value] [, LOW_FREQ=value] [, HIGH_FREQ=value] [, /DOUBLE] [, SCALE_FACTOR=value] [, /EDGE_MIRROR] [, /EDGE_TRUNCATE] [, /EDGE_WRAP] [, /EDGE_WRAP] [, /EDGE_ZERO] [, /NAN] )

Return Value


The result is an n-element vector of the same data type as the input vector.

Arguments


X

An n-element single- or double-precision floating-point vector.

Keywords


DOUBLE

Set this keyword to force the computations to be done in double-precision arithmetic.

HIGH_FREQ

A scalar indicating the upper bound on the frequency. Default value is .5.

LOW_FREQ

A scalar indicating the lower bound on the frequency. Default value is 0.

WEIGHT

A scalar value for the number of weights to use in generating the LANCZOS kernel.

SCALE_FACTOR

See Scale_Factor.

EDGE_MIRROR

See EDGE_MIRROR.

EDGE_TRUNCATE

See EDGE_TRUNCATE.

EDGE_WRAP

See EDGE_WRAP.

EDGE_ZERO

See EDGE_ZERO.

NAN

See NAN.

Version History


8.4

Introduced

See Also


SMOOTH, TS_DIFF, TS_FCAST