| .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 |