**NAME**

im_buildlut - build a LUT from a set of x/y points

**SYNOPSIS**

#include <vips/vips.h>
int
im_buildlut( DOUBLEMASK *input, IMAGE *output )

**DESCRIPTION**

**im_buildlut(3)** constructs a LUT, interpolating a set of x/y points.
Interpolation is strictly piecewise linear. For example, if the input
is:
0 0
128 20
255 100
we generate the values:
index value
0 0
1 0.01
.. etc. linear interpolation
128 20
129 20.5
.. etc. linear interpolation
255 100
(we don’t generate the index column, that’s just there to show the
position in the table)
The x/y points don’t need to be sorted: we do that. You can have
several Ys: each becomes a band in the output LUT. X can start at any
integer value, including negatives.

**RETURN** **VALUE**

-1 on error, otherwise 0

**SEE ALSO**

im_invertlut(3), im_identity(3).

**COPYRIGHT**

2006, Imperial College
June 2006