blob: 6538cef43b8640a2238cf4ce116d82b03051cbf1 [file] [log] [blame]
.TH IM_EXPTRA 3 "24 April 1991"
.SH NAME
im_exp10tra, im_exptra, im_expntra, im_expntra_vec, im_log10tra, im_logtra,
im_powtra, im_powtra_vec \- logarithmic, exponential and power transform of an image
.SH SYNOPSIS
.B #include <vips/vips.h>
.B int im_expntra(in, out, base)
.br
.B IMAGE *in, *out;
.br
.B double base;
.B int im_expntra_vec(in, out, n, vec)
.br
.B IMAGE *in, *out;
.br
.B int n;
.br
.B double *vec;
.B int im_exp10tra(in, out)
.br
.B IMAGE *in, *out;
.B int im_exptra(in, out)
.br
.B IMAGE *in, *out;
.B int im_log10tra(in, out)
.br
.B IMAGE *in, *out;
.B int im_logtra(in, out)
.br
.B IMAGE *in, *out;
.B int im_powtra(in, out, exponent)
.br
.B IMAGE *in, *out;
.br
.B double exponent;
.B int im_powtra_vec(in, out, n, vec)
.br
.B IMAGE *in, *out;
.br
.B int n;
.br
.B double *vec;
.SH DESCRIPTION
Each of the above functions maps in through a log or anti-log
function of some sort and writes the result to out. The size and number of
bands are unchanged, the output type is float, unless the input is double, in
which case the output is double. Non-complex images only!
.B im_expntra(3)
transforms element x of input, to pow(base, x) in output. It detects division
by zero, setting those pixels to zero in the output. Beware: it does this
silently!
.B im_expntra_vec(3)
works as im_expntra(), but lets you specify a constant per band.
.B im_exp10tra(3)
transforms element x of input, to pow(10,0, x) in output. Internally, it is
defined in terms of im_expntra().
.B im_exptra(3)
transforms element x of input, to pow(e, x) in output, where e is the
mathematical constant. Internally, it is defined in terms of im_expntra().
.B im_log10tra(3)
transforms element x of input, to log10tra(x) in output.
.B im_logtra(3)
transforms element x of input, to logtra(x) in output.
.B im_powtra(3)
transforms element x of input, to pow(x, exponent) in output. It detects
division by zero, setting those pixels to zero in the output. Beware: it does
this silently!
.B im_powtra_vec(3)
works as im_powtra(3), but lets you specify a constant per band.
.SH BUGS
None of the functions checks for under/overflow. Overflow is very common for
many of these functions!
.SH RETURN VALUE
Each function returns 0 on success and -1 on error.
.SH SEE ALSO
im_add(3), im_multiply(3), im_subtract(3), im_lintra(3),
im_absim(3), im_mean(3), im_max(3).
.SH AUTHOR
N. Dessipris \- 24/04/1991
.br
J. Cupitt (rewrite) \- 21/7/93