.TH TONE 3 "10 May 1991" .SH NAME im_tone_build, im_tone_map, im_tone_analyse, im_tone_build_range \- tone-curve adjustment of LAB images .SH SYNOPSIS int .br im_tone_build_range( .br int in_max, int out_max, .br IMAGE *lut, .br double Lb, double Lw, .br double Ps, double Pm, double Ph, .br double S, double M, double H ) int .br im_tone_build( .br IMAGE *lut, .br double Lb, double Lw, .br double Ps, double Pm, double Ph, .br double S, double M, double H ) int .br im_tone_analyse( .br IMAGE *in, .br IMAGE *lut, .br double Ps, double Pm, double Ph, .br double S, double M, double H ) int .br im_tone_map( IMAGE *in, IMAGE *out, IMAGE *lut ) .SH DESCRIPTION Various functions relating to tone curve adjustment. Example tone curve: repro L* out ^ | 100 | . . . . . . . . . . . . . . . .* | * . Lw | . . . . . . . . . . . . . .* . | * . . | /* . . | / * . . | / .* . . | * * /* *. . . | * * / . . . | * / . . . . | * / . . . . | * / . . . . | * / . . . . . | */ . . . . . Lb | . .* . . . . . | * . . . . . . |* . . . . . . 0 +---------------------------------------> 0 Lb Ls Lm Lh Lw 100 L* in .B im_tone_build_range(3) generates a tone curve for the adjustment of image levels. The curve is an unsigned 16-bit image with (in_max + 1) entries, each in the range [0, out_max]. The parameters are expressed as 0-100, as in LAB colour space, but you specify the scaling for the input and output images with the in_max and out_max parameters. Parameters: Lb - black point Lw - white point Both in L* units, ie. in the range [0,100]. These should be set by histogram analysis of the image to be transformed to 0.1% and 99.9% of the full range of the image. See im_tone_analyse() below. Ps - shadow point Pm - mid-tone point Ph - highlight point All in [0,1], meaning max of shadow section of curve should be positioned at Lb+Ps(Lw-Lb), etc. Suggested values: Ps, Pm, Ph should be 0.2, 0.5 and 0.8. Ps is limited to the range [0.1,0.3], Pm to the range [0.4,0.6] and Ph to [0.7,0.9]. S - shadow adjustment factor (+/- 15) M - mid-tone adjustment factor (+/- 30) H - highlight adjustment factor (+/- 15) These are the principal parameters, controlling the brightness in the shadow, mid-tone and highlight areas. Suggested values: 0, 0, 0 - no change to input image 5, 0, -2 - boost shadows a little, depress highlights slightly .B im_tone_build(3) is a convenience function that calls .B im_tone_build_range(3) with ranges suitable for tone correcting a LABQ image to a LABS image. Use .B im_ismonotonic(3) to check that the slope of your tone curve is always >0, use .B im_histplot(3) to graph the curve, use .B im_tone_map(3) to apply your curve to an image. .B im_tone_map(3) map just the L channel of a LabQ or LabS image through a tone curve. .B im_tone_analyse(3) find the histogram of a LabS or LabQ image and use that to set the Ln and Lw parameters of .B im_tone_build(3). All other parameters as above. Example: example% im_tone_analyse $VIPSHOME/pics/master.v /tmp/lut.v \ 0.2 0.5 0.8 6.3 0.8 -3 example% im_ismonotonic /tmp/lut.v 255 example% im_tone_map $VIPSHOME/pics/master.v /tmp/master2.v /tmp/lut.v .SH RETURN VALUE All functions returns 0 on success and -1 on error. .SH SEE ALSO im_histplot(3), im_ismonotonic(3). .SH COPYRIGHT 1995, National Gallery .SH AUTHORS J. Cupitt