NAME
project_matrix  Projects RGB data into a 2D 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_64linuxgnu
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 2D 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