read_lut_from_config_file - Reads lut from a config file


#include "m/m_lut.h"

Example compile flags (system dependent):
   -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 read_lut_from_config_file
	Lut **result_lp_ptr,
	const char *env_var,
	const char *directory,
	const char *file_name,
	const char *message_name,
	char *config_file_name,
	size_t config_file_name_size


This routine reads a lut from a configuration file, checking several possible locations for the file. If the parameter "env_var" is not NULL, then it first tries using this string as the configuration file name. Next it looks for "file_name" in the current directory, then the user's home directory, and, depending on how the library was built, then the "shared" home directory and/or the programmer's home directory. If "directory" is not NULL, then it is used as a sub-directory in all paths starting from a home directory (i.e., all paths except the current directory). The parameter message_name can be used to specify a name for the configuration file to be used in error and verbose output messages. If message_name is NULL, then "configuration" is used. If the buffer config_file_name is not NULL, then the file name actually used is copied into it. If it is used, then its size must be passed in via config_file_name_size;


Either NO_ERROR, or ERROR, with an appropriate error message being set.


Suppose directory is "x" and file_name is "y". Also supposed that the shared directory is "~iis" (compiled in constant) and the programmer's directory is "~kobus" (another compiled in constant). Then the following files are tried in the order listed.
The file name actually used is put into the buffer config_file_name whose size must be passed in via max_len; The lut *result_lp_ptr is created or resized as necessary. If file_name is the special name "off" (or "none" or "0"), then the above does not apply. In this case, *result_lp_ptr is freed and set to NULL.


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


Kobus Barnard


Kobus Barnard


create_lut , free_lut , get_target_lut , copy_lut , convert_lut , read_lut , fp_read_lut , write_lut , fp_write_lut , apply_lut_inverse