Oyranos  git-devel
Oyranos is a full featured Color Management System
Data Structures | Functions
Color calculations

Fast hardcoded color conversions. More...

Collaboration diagram for Color calculations:

Data Structures

struct  oyVEC3
 Vector of 3 doubles. More...
 
struct  oyMAT3
 3x3 Matrix More...
 
struct  oyCIEXYZ
 vector of 3 doubles More...
 
struct  oyCIExyY
 CIE*xy. More...
 
struct  oyCIExyYTriple
 CIE*xy triple. More...
 

Functions

void oyLab2XYZ (const double *CIELab, double *XYZ)
 CIE Lab to ICC XYZ. More...
 
void oyXYZ2Lab (const double *XYZ, double *lab)
 ICC XYZ to CIE * Lab. More...
 
void oyIcc2CIELab (const double i[], double o[], void *data OY_UNUSED)
 ICC Lab to CIE * Lab encoding. More...
 
void oyCIE2IccLab (const double i[], double o[], void *data OY_UNUSED)
 CIE * Lab to ICC Lab encoding. More...
 
void oyIcc2CIELabFloat (const float i[], float o[], void *data OY_UNUSED)
 ICC Lab to CIE * Lab encoding. More...
 
void oyCIE2IccLabFloat (const float i[], float o[], void *data OY_UNUSED)
 CIE * Lab to ICC Lab encoding. More...
 
void oyCIEabsXYZ2ICCrelXYZ (const double *CIEXYZ, double *ICCXYZ, const double *XYZmin, const double *XYZmax, const double *XYZwhite)
 CIE absolute colorimetric to ICC relative colorimetric. More...
 
void oyICCXYZrel2CIEabsXYZ (const double *ICCXYZ, double *CIEXYZ, const double *XYZmin, const double *XYZmax, const double *XYZwhite)
 ICC relative colorimetric to CIE absolute colorimetric. More...
 
double oyEstimateTemperature (double CIEa, double CIEb, double *dist)
 guess black body radiation locus from CIE*ab More...
 
int oyAdaptationMatrix (oyMAT3 *r, const oyMAT3 *ConeMatrix, const oyCIEXYZ *FromIll, const oyCIEXYZ *ToIll)
 
int oyMAT3inverse (const oyMAT3 *a, oyMAT3 *b)
 Inverse of a matrix b = a^(-1) More...
 
void oyVEC3init (oyVEC3 *r, double x, double y, double z)
 Initiate a vector. More...
 
void oyMAT3per (oyMAT3 *r, const oyMAT3 *a, const oyMAT3 *b)
 Multiply two matrices. More...
 
void oyMAT3eval (oyVEC3 *r, const oyMAT3 *a, const oyVEC3 *v)
 Evaluate a vector across a matrix. More...
 
int oyMAT3toCIExyYTriple (const oyMAT3 *a, oyCIExyYTriple *triple)
 

Detailed Description

Fast hardcoded color conversions.

Function Documentation

◆ oyAdaptationMatrix()

int oyAdaptationMatrix ( oyMAT3 r,
const oyMAT3 ConeMatrix,
const oyCIEXYZ FromIll,
const oyCIEXYZ ToIll 
)

Returns the final chrmatic adaptation from illuminant FromIll to Illuminant ToIll. The cone matrix can be specified in ConeMatrix. If NULL, Bradford is assumed

◆ oyCIE2IccLab()

void oyCIE2IccLab ( const double  i[],
double  o[],
void *data  OY_UNUSED 
)

CIE * Lab to ICC Lab encoding.

position independent function for in place conversions

◆ oyCIE2IccLabFloat()

void oyCIE2IccLabFloat ( const float  i[],
float  o[],
void *data  OY_UNUSED 
)

CIE * Lab to ICC Lab encoding.

position independent function for in place conversions

◆ oyCIEabsXYZ2ICCrelXYZ()

void oyCIEabsXYZ2ICCrelXYZ ( const double *  CIEXYZ,
double *  ICCXYZ,
const double *  XYZmin,
const double *  XYZmax,
const double *  XYZwhite 
)

CIE absolute colorimetric to ICC relative colorimetric.

Function oyCIEabsXYZ2ICCrelXYZ

Parameters
[in]CIEXYZCIE absolute colorimetric input
[out]ICCXYZICC relative colorimetric output
[in]XYZminCIE absolute black point
[in]XYZmaxCIE absolute media white
[in]XYZwhiteilluminant white
Since
Oyranos: version 0.1.8
Date
2008/01/20 (API 0.1.8)

◆ oyEstimateTemperature()

double oyEstimateTemperature ( double  CIEa,
double  CIEb,
double *  dist 
)

guess black body radiation locus from CIE*ab

◆ oyIcc2CIELab()

void oyIcc2CIELab ( const double  i[],
double  o[],
void *data  OY_UNUSED 
)

ICC Lab to CIE * Lab encoding.

position independent function for in place conversions

◆ oyIcc2CIELabFloat()

void oyIcc2CIELabFloat ( const float  i[],
float  o[],
void *data  OY_UNUSED 
)

ICC Lab to CIE * Lab encoding.

position independent function for in place conversions

◆ oyICCXYZrel2CIEabsXYZ()

void oyICCXYZrel2CIEabsXYZ ( const double *  ICCXYZ,
double *  CIEXYZ,
const double *  XYZmin,
const double *  XYZmax,
const double *  XYZwhite 
)

ICC relative colorimetric to CIE absolute colorimetric.

Function oyICCXYZrel2CIEabsXYZ

Parameters
[in]ICCXYZICC relative colorimetric input
[out]CIEXYZCIE absolute colorimetric output
[in]XYZminCIE absolute black point
[in]XYZmaxCIE absolute media white
[in]XYZwhiteilluminant white
Since
Oyranos: version 0.1.8
Date
2008/01/20 (API 0.1.8)

◆ oyLab2XYZ()

void oyLab2XYZ ( const double *  CIELab,
double *  XYZ 
)

CIE Lab to ICC XYZ.

◆ oyMAT3eval()

void oyMAT3eval ( oyVEC3 r,
const oyMAT3 a,
const oyVEC3 v 
)

Evaluate a vector across a matrix.

References oyVEC3::n.

◆ oyMAT3inverse()

int oyMAT3inverse ( const oyMAT3 a,
oyMAT3 b 
)

Inverse of a matrix b = a^(-1)

◆ oyMAT3per()

void oyMAT3per ( oyMAT3 r,
const oyMAT3 a,
const oyMAT3 b 
)

Multiply two matrices.

References oyVEC3init().

◆ oyMAT3toCIExyYTriple()

int oyMAT3toCIExyYTriple ( const oyMAT3 a,
oyCIExyYTriple triple 
)

convert a matrix to CIE * xy triple

References oyVEC3::n, oyMAT3::v, oyCIExyYTriple::v, and oyCIExyY::xy.

◆ oyVEC3init()

void oyVEC3init ( oyVEC3 r,
double  x,
double  y,
double  z 
)

Initiate a vector.

Referenced by oyMAT3per().

◆ oyXYZ2Lab()

void oyXYZ2Lab ( const double *  XYZ,
double *  lab 
)

ICC XYZ to CIE * Lab.