| .TH IM_LINTRA 3 "24 April 1991" |
| .SH NAME |
| im_lintra, im_lintra_vec \- performs a linear transformation on an image |
| .SH SYNOPSIS |
| .B #include <vips/vips.h> |
| |
| .B int im_lintra_vec(n, a, in, b, out) |
| .br |
| .B int n; |
| .br |
| .B double *a, *b; |
| .br |
| .B IMAGE *in, *out; |
| |
| .B int im_lintra(a, in, b, out) |
| .br |
| .B double a, b; |
| .br |
| .B IMAGE *in, *out; |
| |
| .SH DESCRIPTION |
| .B im_lintra_vec(3) |
| performs a linear transform on image in, that is, it calculates |
| |
| out = a * in + b |
| |
| .B a |
| and |
| .B b |
| are vectors, ie. arrays of constants of length |
| .B n. |
| If |
| .B in |
| has one band, then the vectors may be any length and the output image will |
| have the same number of bands as the length of the vector. If |
| .B in |
| has many bands, then the vector must be length 1, or have the same length as |
| the number of bands in the image. |
| |
| If the input format is one of the integer types |
| then output is float. In all other cases the |
| output is the same as the input. |
| |
| .B im_lintra(3) |
| is a convenience function which calls |
| .B im_lintra_vec(3) |
| with a vector of length 1. |
| |
| .SH RETURN VALUE |
| The function returns 0 on success and -1 on error. |
| .SH BUGS |
| The function does not check for under/overflow |
| .SH SEE\ ALSO |
| im_exptra(3), im_logtra(3) |
| .SH AUTHOR |
| N. Dessipris \- 24/04/1991 |
| .br |
| J. Cupitt (rewrite) \- 21/7/93 |