Oyranos  0.9.7
Oyranos is a full featured Color Management System
Functions
Collaboration diagram for Samplers:

Functions

void lcm2SamplerLab2LCh (const double i[], double o[], void *none OY_UNUSED)
 CIE*Lab -> CIE*LCh in PCS*Lab range. More...
 
void lcm2SamplerLCh2Lab (const double i[], double o[], void *none OY_UNUSED)
 CIE*LCh -> CIE*Lab in PCS*Lab range. More...
 
void lcm2SamplerJCh2Lab (const double i[], double o[], void *v)
 CIE*LCh -> CIE*Lab in PCS*Lab range. More...
 
void lcm2SamplerLab2JCh (const double i[], double o[], void *v)
 CIE*Lab -> CIE*JCh. More...
 
void lcm2SamplerRGB2JpegYCbCr (const double i[], double o[], void *none OY_UNUSED)
 RGB -> YCbCr in Jpeg range. More...
 
void lcm2SamplerJpegYCbCr2RGB (const double i[], double o[], void *none OY_UNUSED)
 YCbCr in Jpeg range -> RGB. More...
 
void lcm2SamplerIdendity (const double i[], double o[], void *none OY_UNUSED)
 Lab -> Lab. More...
 
void lcm2SamplerGrayer (const double i[], double o[], void *none OY_UNUSED)
 Lab -> Gray -> Lab. More...
 
void lcm2SamplerBlacknWhite (const double i[], double o[], void *none OY_UNUSED)
 Lab -> Black&White -> Lab. More...
 
void lcm2SamplerSepia (const double i[], double o[], void *none)
 Lab -> LCh -> Yellow -> LCh -> Lab. More...
 
void lcm2SamplerReddish (const double i[], double o[], void *none OY_UNUSED)
 Lab -> reddish tint -> Lab. More...
 
void lcm2SamplerWhitePointLab (const double i[], double o[], void *data)
 Lab -> White Point Adaption -> Lab. More...
 
void lcm2iccLab2CIEXYZ (const double *icc_Lab, cmsCIEXYZ *XYZ)
 ICC*Lab -> CIE*XYZ. More...
 
void lcm2CIEXYZ2iccLab (const cmsCIEXYZ *XYZ, double *icc_Lab)
 CIE*XYZ -> ICC*Lab. More...
 
void lcm2iccXYZ2iccLab (const double *XYZ, double *icc_Lab)
 ICC*XYZ -> ICC*Lab. More...
 
void lcm2SamplerWhitePointBradford (const double i[], double o[], void *data)
 Lab -> Bradford White Point Adaption -> Lab. More...
 
void lcm2SamplerProof (const double i[], double o[], void *data)
 Lab -> proofing profile -> Lab. More...
 
void lcm2SamplerProofD (const double i[], double o[], void *data)
 Lab -> proofing profile -> Lab. More...
 

Detailed Description

Function Documentation

◆ lcm2CIEXYZ2iccLab()

void lcm2CIEXYZ2iccLab ( const cmsCIEXYZ *  XYZ,
double *  icc_Lab 
)

CIE*XYZ -> ICC*Lab.

Function lcm2CIEXYZ2iccLab

Converts from lcms XYZ type to PCS Lab encoding.

Parameters
[in]iinput XYZ struct
[out]ooutput Lab triple in PCS range
[out]noneunused
Version
Oyranos: 0.9.7
Date
2018/02/28
Since
2018/02/28 (Oyranos: 0.9.7)
Examples
lcm2_profiler.c.

Referenced by lcm2iccXYZ2iccLab().

◆ lcm2iccLab2CIEXYZ()

void lcm2iccLab2CIEXYZ ( const double *  icc_Lab,
cmsCIEXYZ *  XYZ 
)

ICC*Lab -> CIE*XYZ.

Function lcm2iccLab2CIEXYZ

Converts from PCS Lab encoding to lcms XYZ type.

Parameters
[in]iinput Lab triple in PCS range
[out]ooutput XYZ struct
[out]noneunused
Version
Oyranos: 0.9.7
Date
2018/02/28
Since
2018/02/28 (Oyranos: 0.9.7)
Examples
lcm2_profiler.c.

Referenced by lcm2SamplerWhitePointBradford().

◆ lcm2iccXYZ2iccLab()

void lcm2iccXYZ2iccLab ( const double *  XYZ,
double *  icc_Lab 
)

ICC*XYZ -> ICC*Lab.

Function lcm2iccXYZ2iccLab

Converts from PCS XYZ to PCS Lab encoding.

Parameters
[in]iinput XYZ triple
[out]ooutput Lab triple in PCS range
[out]noneunused
Version
Oyranos: 0.9.7
Date
2018/02/28
Since
2018/02/28 (Oyranos: 0.9.7)
Examples
lcm2_profiler.c.

References lcm2CIEXYZ2iccLab().

◆ lcm2SamplerBlacknWhite()

void lcm2SamplerBlacknWhite ( const double  i[],
double  o[],
void *none  OY_UNUSED 
)

Lab -> Black&White -> Lab.

Function lcm2SamplerBlacknWhite

PCS Lab range of 0-1 for all channels is assumed.

Parameters
[in]iinput PCS.Lab triple
[out]ooutput PCS.Lab triple
[out]noneunused
Version
Oyranos: 0.9.6
Date
2016/03/13
Since
2016/03/13 (Oyranos: 0.9.6)
Examples
lcm2_profiler.c.

◆ lcm2SamplerGrayer()

void lcm2SamplerGrayer ( const double  i[],
double  o[],
void *none  OY_UNUSED 
)

Lab -> Gray -> Lab.

Function lcm2SamplerGrayer

PCS Lab range of 0-1 for all channels is assumed.

Parameters
[in]iinput PCS.Lab triple
[out]ooutput PCS.Lab triple
[out]noneunused
Version
Oyranos: 0.9.6
Date
2016/03/13
Since
2016/03/13 (Oyranos: 0.9.6)
Examples
lcm2_profiler.c.

◆ lcm2SamplerIdendity()

void lcm2SamplerIdendity ( const double  i[],
double  o[],
void *none  OY_UNUSED 
)

Lab -> Lab.

Function lcm2SamplerIdendity

PCS Lab range of 0-1 for all channels is assumed.

Parameters
[in]iinput PCS.Lab triple
[out]ooutput PCS.Lab triple
[out]noneunused
Version
Oyranos: 0.9.7
Date
2018/02/26
Since
2018/02/26 (Oyranos: 0.9.7)
Examples
lcm2_profiler.c.

◆ lcm2SamplerJCh2Lab()

void lcm2SamplerJCh2Lab ( const double  i[],
double  o[],
void *  v 
)

CIE*LCh -> CIE*Lab in PCS*Lab range.

Function lcm2SamplerJCh2Lab

The CIE*C channel is scaled to contain all CIE*Lab colors. The ICC PCS*Lab space with range of 0->1 for all channels is utilised to be useful as a sampler argument to lcm2CreateProfileLutByFunc().

Parameters
[in]iinput LCh triple
[out]ooutput Lab triple
[in]v(cmsViewingConditions*); optional, default sRGB
Version
Oyranos: 0.9.7
Date
2018/02/28
Since
2018/02/28 (Oyranos: 0.9.7)
Examples
lcm2_profiler.c.

◆ lcm2SamplerJpegYCbCr2RGB()

void lcm2SamplerJpegYCbCr2RGB ( const double  i[],
double  o[],
void *none  OY_UNUSED 
)

YCbCr in Jpeg range -> RGB.

Function lcm2SamplerRGB2JpegYCbCr

ITU R BT 601 / REC.601 coefficients in Jpeg range of 0-1 is assumed.

Parameters
[in]iinput REC.601 YCbCr in JPEG range triple
[out]ooutput RGB triple
[out]noneunused
Version
Oyranos: 0.9.6
Date
2016/03/13
Since
2016/03/13 (Oyranos: 0.9.6)
Examples
lcm2_profiler.c.

◆ lcm2SamplerLab2JCh()

void lcm2SamplerLab2JCh ( const double  i[],
double  o[],
void *  v 
)

CIE*Lab -> CIE*JCh.

Function lcm2SamplerLab2JCh

The CIECAM02 appearance space.

Parameters
[in]iinput Lab triple
[out]ooutput JCh triple
[in]v(cmsViewingConditions*); optional, default sRGB
Version
Oyranos: 0.9.7
Date
2018/02/28
Since
2018/02/28 (Oyranos: 0.9.7)
Examples
lcm2_profiler.c.

◆ lcm2SamplerLab2LCh()

void lcm2SamplerLab2LCh ( const double  i[],
double  o[],
void *none  OY_UNUSED 
)

CIE*Lab -> CIE*LCh in PCS*Lab range.

Function lcm2SamplerLab2LCh

The CIE*C channel is scaled to contain all CIE*Lab colors. The ICC PCS*Lab space with range of 0->1 for all channels is utilised to be useful as a sampler argument to lcm2CreateProfileLutByFunc().

Parameters
[in]iinput Lab triple
[out]ooutput LCh triple
[out]noneunused
Version
Oyranos: 0.9.6
Date
2016/03/13
Since
2016/13/13 (Oyranos: 0.9.6)
Examples
lcm2_profiler.c.

◆ lcm2SamplerLCh2Lab()

void lcm2SamplerLCh2Lab ( const double  i[],
double  o[],
void *none  OY_UNUSED 
)

CIE*LCh -> CIE*Lab in PCS*Lab range.

Function lcm2SamplerLCh2Lab

The CIE*C channel is scaled to contain all CIE*Lab colors. The ICC PCS*Lab space with range of 0->1 for all channels is utilised to be useful as a sampler argument to lcm2CreateProfileLutByFunc().

Parameters
[in]iinput LCh triple
[out]ooutput Lab triple
[out]noneunused
Version
Oyranos: 0.9.7
Date
2017/12/05
Since
2016/13/13 (Oyranos: 0.9.6)
Examples
lcm2_profiler.c.

◆ lcm2SamplerProof()

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

Lab -> proofing profile -> Lab.

Function lcm2SamplerProof

Convert a proofing profile into a abstract one. Abstract profiles can easily be merged into a multi profile transform. PCS Lab range of 0-1 for all channels is assumed.

Parameters
[in]iinput PCS.Lab triple
[out]ooutput PCS.Lab triple
[out]datapointer to array of two void* with
  • desired cmsHTRANSFORM for uint32_t arrays in PT_Lab
  • cmsFLAGS_GAMUTCHECK flag
Version
Oyranos: 0.9.7
Since
2009/11/04 (Oyranos: 0.1.10)
Date
2017/06/03
Examples
lcm2_profiler.c.

◆ lcm2SamplerProofD()

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

Lab -> proofing profile -> Lab.

Function lcm2SamplerProofD

Convert a proofing profile into a abstract one. Abstract profiles can easily be merged into a multi profile transform. PCS Lab range of 0-1 for all channels is assumed.

Parameters
[in]iinput PCS.Lab triple
[out]ooutput PCS.Lab triple
[out]datapointer to array of two void* with
  • desired cmsHTRANSFORM and for uint64_t arrays in PT_Lab
  • cmsFLAGS_GAMUTCHECK flag
Version
Oyranos: 0.9.7
Since
2009/11/04 (Oyranos: 0.1.10)
Date
2017/11/06
Examples
lcm2_profiler.c.

◆ lcm2SamplerReddish()

void lcm2SamplerReddish ( const double  i[],
double  o[],
void *none  OY_UNUSED 
)

Lab -> reddish tint -> Lab.

Function lcm2SamplerReddish

PCS Lab range of 0-1 for all channels is assumed. Same like Sepia, but gives all colors a reddish tint.

Parameters
[in]iinput PCS.Lab triple
[out]ooutput PCS.Lab triple
[out]noneunused
Version
Oyranos: 0.9.6
Date
2016/03/15
Since
2016/03/15 (Oyranos: 0.9.6)
Examples
lcm2_profiler.c.

◆ lcm2SamplerRGB2JpegYCbCr()

void lcm2SamplerRGB2JpegYCbCr ( const double  i[],
double  o[],
void *none  OY_UNUSED 
)

RGB -> YCbCr in Jpeg range.

Function lcm2SamplerRGB2JpegYCbCr

ITU R BT 601 / REC.601 coefficients with Jpeg range of 0-1 is generated.

Parameters
[in]iinput RGB triple
[out]ooutput REC.601 YCbCr in JPEG range triple
[out]noneunused
Version
Oyranos: 0.9.6
Date
2016/03/13
Since
2016/03/07 (Oyranos: 0.9.6)

Jpeg assumes no gamma correction. Thus this sampler converts from RGB.

Examples
lcm2_profiler.c.

◆ lcm2SamplerSepia()

void lcm2SamplerSepia ( const double  i[],
double  o[],
void *  none 
)

Lab -> LCh -> Yellow -> LCh -> Lab.

Function lcm2SamplerSepia

PCS Lab range of 0-1 for all channels is assumed. Creates a single reddish hue.

Parameters
[in]iinput PCS.Lab triple
[out]ooutput PCS.Lab triple
[out]noneunused
Version
Oyranos: 0.9.6
Date
2016/03/14
Since
2016/03/14 (Oyranos: 0.9.6)
Examples
lcm2_profiler.c.

◆ lcm2SamplerWhitePointBradford()

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

Lab -> Bradford White Point Adaption -> Lab.

Function lcm2SamplerWhitePointBradford

PCS Lab range of 0-1 for all channels is assumed. Same like reddish, but adapts all colors to a given white point difference. It uses Bradford CAT.

Parameters
[in]iinput PCS.Lab triple
[out]ooutput PCS.Lab triple
[out]datapointer to array of two doubles with source ICC*XYZ white point, followed by destination ICC*XYZ whitepoint
Version
Oyranos: 0.9.7
Date
2018/02/28
Since
2018/02/28 (Oyranos: 0.9.7)
Examples
lcm2_profiler.c.

References lcm2iccLab2CIEXYZ().

◆ lcm2SamplerWhitePointLab()

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

Lab -> White Point Adaption -> Lab.

Function lcm2SamplerWhitePointLab

PCS Lab range of 0-1 for all channels is assumed. Same like reddish, but adapts all colors to a given white point difference. It uses simple linear adaption inside CIE*Lab.

Parameters
[in]iinput PCS.Lab triple
[out]ooutput PCS.Lab triple
[out]datapointer to array of two doubles with desired ICC*ab differences
Version
Oyranos: 0.9.7
Date
2017/05/17
Since
2017/05/17 (Oyranos: 0.9.7)
Examples
lcm2_profiler.c.