NAME

generate_RGB_data - Generates RGB data from spectra.

SYNOPSIS

#include "c/c_sensor.h"

Example compile flags (system dependent):
  -DLINUX_X86_64 -DLINUX_X86_64_OPTERON  -DGNU_COMPILER 
   -I/home/kobus/include
   -L/home/kobus/misc/load/linux_x86_64_opteron -L/usr/lib/x86_64-linux-gnu
  -lKJB                               -lfftw3  -lgsl -lgslcblas -ljpeg  -lSVM -lstdc++                    -lpthread -lSLATEC -lg2c    -lacml -lacml_mv -lblas -lg2c      -lncursesw 


int generate_RGB_data
(
	Matrix **target_mpp,
	const Spectra *illum_sp,
	int index,
	const Spectra *reflect_sp,
	const Spectra *sensor_sp
);

DESCRIPTION

This routine generates RGB data from reflectance and illuminant spectra using the sensors in sensor_sp, or, if sensor_sp is NULL, the ones managed by the KJB library. If KJB library options are made available to the user, then the sensors used can be changed using the "sensor-file" or "sf" option. If the user has not specified sensors, then default ones are used. The resulting RGB are put into the matrix *target_mpp which is created if it is NULL, and resized if it is the wrong size. The "index" argument is used to specify a specific illuminat index in illum_sp. If index is set to USE_ALL_SPECTRA then all combinations of illuminants and reflectances are used.

RETURNS

If the sensors are supplied, then this routine returns NO_ERROR on success, and ERROR on failure. If the KJB library sensors are used, then this routine returns the sensor version number on success, and ERROR on failure, with an appropriate error message being set. The sensor version number is incremented every time the use user resets the sensor data files, and thus can be used to verify that cached data is still OK with sensor_data_is_up_to_date().

DISCLAIMER

This software is not adequatedly tested. It is recomended that results are checked independantly where appropriate.

AUTHOR

Kobus Barnard

DOCUMENTER

Kobus Barnard

SEE ALSO

sensor_data_is_up_to_date , get_sensor_version , normalize_illum_spectra , ow_normalize_illum_spectra , get_RGB_sensors , get_spectrum_xy_locus , get_spectrum_uv_locus , get_spectrum_rg_locus , get_xy_from_spectrum , get_xy_from_XYZ , get_uv_from_spectrum , get_uv_from_XYZ , get_rg_from_spectrum , get_rg_from_RGB , get_XYZ_from_spectrum , get_RGB_from_spectrum , get_ct_from_spectrum , get_sum_from_spectrum , get_RGB_vector_from_spectrum , get_RGB_data_from_spectra , get_RGB_vector_from_spectra , get_RGB_from_spectra