NAME
project_matrix - Projects RGB data into a 2-D space
SYNOPSIS
#include "c/c_projection.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 project_matrix
(
Matrix **output_mpp,
const Matrix *input_mp,
Projection_method projection_method
);
PARAMETERS
-
Matrix **output_mpp
-
Output chromaticity matrix.
-
const Matrix *input_mp
-
Input RGB matrix.
-
Projection_method projection_method
-
Type of chromaticity.
Possible values for a
Projection_method
are as follows:
The first four are set based on backwards compatability. Hopefully all
the dependencies on the specific values have been purged, but by using
the same numeric values as before, things won't break regardless.
- DIVIDE_BY_RED - 0.
- DIVIDE_BY_GREEN - 1.
- DIVIDE_BY_BLUE - 2.
- DIVIDE_BY_SUM
- ONTO_RG_PLANE
- ONTO_RB_PLANE
- ONTO_GB_PLANE
- ONTO_UNIT_SPHERE
- INVALID_PROJECTION_METHOD
DESCRIPTION
This routine projects RGB data into a 2-D space, normally a chromaticity
space specified by the argument "projection_method".
"projection method" should be one of
DIVIDE_BY_RED, DIVIDE_BY_GREEN, DIVIDE_BY_BLUE, DIVIDE_BY_SUM,
ONTO_RG_PLANE, ONTO_GB_PLANE, or ONTO_RB_PLANE.
This projection routine is a simpler interface to similar functionality as
provided by get_projection_matrix(). If more options are required, then that
routine should be used instead. Note, however, that the result of the two
routines can differ when the data is small or negative.
RETURNS
NO_ERROR on success and ERROR on failure. The usuall reason for failure is
that a projection denominator is less than DBL_EPSILON.
WARNING
I am still working on this library. Be prepared for change!
DISCLAIMER
This software is not adequatedly tested. It is recomended that
results are checked independantly where appropriate.
AUTHOR
Kobus Barnard
DOCUMENTER
Kobus Barnard, Lindsay Martin
SEE ALSO
get_projection_matrix
,
get_divide_by_sum_projection_matrix
,
divide_by_sum_project_matrix
,
project_matrix_onto_unit_sphere
,
get_projection_vector
,
project_vector
,
back_project_matrix
,
back_project_vector