.TH IM_LABQ2DISP 3 "2 Decemder 1997"
.SH NAME
im_LabQ2disp, im_LabQ2disp_build_table, im_LabQ2disp_table \- convert LabQ to display rgb quickly and badly
.SH SYNOPSIS
#include <vips/vips.h>

int im_LabQ2disp( IMAGE *in, IMAGE *out, struct im_col_display *d );

void *im_LabQ2disp_build_table( IMAGE *out, struct im_col_display *d );

int im_LabQ2disp_table( IMAGE *in, IMAGE *out, void *table );

.SH DESCRIPTION
These functions convert LabQ images to displayable RGB as quickly as possible.

im_LabQ2disp() converts in to out using the display profile d. It has to build
a large lookup table, so takes a while to start. 

im_LabQ2disp_build_table() is just the table-build phase of im_LabQ2disp(). It
returns a handle to the built table (or NULL for error). The memory for the
table is allocated local to out (ie is freed when out is closed).

im_LabQ2disp_table() converts in to out using the supplied table.

.SH RETURN VALUE
The functions return 0 on success and -1 on error.
.SH SEE ALSO 
im_LabQ2Lab(3), im_Lab2XYZ(3), im_XYZ2disp(3)
.SH COPYRIGHT
National Gallery, 1990 - 1997
.SH AUTHOR
J. Cupitt \- 21/7/97
