MagickCore  7.0.7
Convert, Edit, Or Compose Bitmap Images
gem-private.h File Reference
Include dependency graph for gem-private.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define D65X   0.950456
 
#define D65Y   1.0
 
#define D65Z   1.088754
 
#define CIEEpsilon   (216.0/24389.0)
 
#define CIEK   (24389.0/27.0)
 

Functions

MagickPrivate double GenerateDifferentialNoise (RandomInfo *, const Quantum, const NoiseType, const double)
 
MagickPrivate size_t GetOptimalKernelWidth (const double, const double)
 
MagickPrivate size_t GetOptimalKernelWidth1D (const double, const double)
 
MagickPrivate size_t GetOptimalKernelWidth2D (const double, const double)
 
MagickPrivate void ConvertHCLToRGB (const double, const double, const double, double *, double *, double *)
 
MagickPrivate void ConvertHCLpToRGB (const double, const double, const double, double *, double *, double *)
 
MagickPrivate void ConvertHSBToRGB (const double, const double, const double, double *, double *, double *)
 
MagickPrivate void ConvertHSIToRGB (const double, const double, const double, double *, double *, double *)
 
MagickPrivate void ConvertHSVToRGB (const double, const double, const double, double *, double *, double *)
 
MagickPrivate void ConvertHWBToRGB (const double, const double, const double, double *, double *, double *)
 
MagickPrivate void ConvertLCHabToRGB (const double, const double, const double, double *, double *, double *)
 
MagickPrivate void ConvertLCHuvToRGB (const double, const double, const double, double *, double *, double *)
 
MagickPrivate void ConvertRGBToHCL (const double, const double, const double, double *, double *, double *)
 
MagickPrivate void ConvertRGBToHCLp (const double, const double, const double, double *, double *, double *)
 
MagickPrivate void ConvertRGBToHSB (const double, const double, const double, double *, double *, double *)
 
MagickPrivate void ConvertRGBToHSI (const double, const double, const double, double *, double *, double *)
 
MagickPrivate void ConvertRGBToHSV (const double, const double, const double, double *, double *, double *)
 
MagickPrivate void ConvertRGBToHWB (const double, const double, const double, double *, double *, double *)
 
MagickPrivate void ConvertRGBToLCHab (const double, const double, const double, double *, double *, double *)
 
MagickPrivate void ConvertRGBToLCHuv (const double, const double, const double, double *, double *, double *)
 
static void ConvertLabToXYZ (const double L, const double a, const double b, double *X, double *Y, double *Z)
 
static void ConvertLuvToXYZ (const double L, const double u, const double v, double *X, double *Y, double *Z)
 
static void ConvertRGBToXYZ (const double red, const double green, const double blue, double *X, double *Y, double *Z)
 
static void ConvertXYZToLab (const double X, const double Y, const double Z, double *L, double *a, double *b)
 
static void ConvertXYZToLuv (const double X, const double Y, const double Z, double *L, double *u, double *v)
 
static void ConvertXYZToRGB (const double X, const double Y, const double Z, double *red, double *green, double *blue)
 

Macro Definition Documentation

◆ CIEEpsilon

#define CIEEpsilon   (216.0/24389.0)

Definition at line 30 of file gem-private.h.

Referenced by ConvertLabToXYZ(), ConvertLuvToXYZ(), ConvertXYZToLab(), and ConvertXYZToLuv().

◆ CIEK

#define CIEK   (24389.0/27.0)

Definition at line 31 of file gem-private.h.

Referenced by ConvertLabToXYZ(), ConvertLuvToXYZ(), ConvertXYZToLab(), and ConvertXYZToLuv().

◆ D65X

#define D65X   0.950456

Definition at line 27 of file gem-private.h.

Referenced by ConvertLabToXYZ(), ConvertLuvToXYZ(), ConvertXYZToLab(), and ConvertXYZToLuv().

◆ D65Y

#define D65Y   1.0

Definition at line 28 of file gem-private.h.

Referenced by ConvertLabToXYZ(), ConvertLuvToXYZ(), ConvertXYZToLab(), and ConvertXYZToLuv().

◆ D65Z

#define D65Z   1.088754

Definition at line 29 of file gem-private.h.

Referenced by ConvertLabToXYZ(), ConvertLuvToXYZ(), ConvertXYZToLab(), and ConvertXYZToLuv().

Function Documentation

◆ ConvertHCLpToRGB()

MagickPrivate void ConvertHCLpToRGB ( const double  ,
const double  ,
const double  ,
double *  ,
double *  ,
double *   
)

Referenced by ModulateHCLp(), and TransformsRGBImage().

◆ ConvertHCLToRGB()

MagickPrivate void ConvertHCLToRGB ( const double  ,
const double  ,
const double  ,
double *  ,
double *  ,
double *   
)

◆ ConvertHSBToRGB()

MagickPrivate void ConvertHSBToRGB ( const double  ,
const double  ,
const double  ,
double *  ,
double *  ,
double *   
)

◆ ConvertHSIToRGB()

MagickPrivate void ConvertHSIToRGB ( const double  ,
const double  ,
const double  ,
double *  ,
double *  ,
double *   
)

Referenced by ModulateHSI(), and TransformsRGBImage().

◆ ConvertHSVToRGB()

MagickPrivate void ConvertHSVToRGB ( const double  ,
const double  ,
const double  ,
double *  ,
double *  ,
double *   
)

Referenced by ModulateHSV(), and TransformsRGBImage().

◆ ConvertHWBToRGB()

MagickPrivate void ConvertHWBToRGB ( const double  ,
const double  ,
const double  ,
double *  ,
double *  ,
double *   
)

◆ ConvertLabToXYZ()

static void ConvertLabToXYZ ( const double  L,
const double  a,
const double  b,
double *  X,
double *  Y,
double *  Z 
)
inlinestatic

Definition at line 76 of file gem-private.h.

References CIEEpsilon, CIEK, D65X, D65Y, and D65Z.

Referenced by ConvertLabToRGB(), and ConvertLCHabToXYZ().

◆ ConvertLCHabToRGB()

MagickPrivate void ConvertLCHabToRGB ( const double  ,
const double  ,
const double  ,
double *  ,
double *  ,
double *   
)

◆ ConvertLCHuvToRGB()

MagickPrivate void ConvertLCHuvToRGB ( const double  ,
const double  ,
const double  ,
double *  ,
double *  ,
double *   
)

◆ ConvertLuvToXYZ()

static void ConvertLuvToXYZ ( const double  L,
const double  u,
const double  v,
double *  X,
double *  Y,
double *  Z 
)
inlinestatic

Definition at line 107 of file gem-private.h.

References CIEEpsilon, CIEK, D65X, D65Y, and D65Z.

Referenced by ConvertLCHuvToXYZ(), and ConvertLuvToRGB().

◆ ConvertRGBToHCL()

MagickPrivate void ConvertRGBToHCL ( const double  ,
const double  ,
const double  ,
double *  ,
double *  ,
double *   
)

Referenced by ModulateHCL(), and sRGBTransformImage().

◆ ConvertRGBToHCLp()

MagickPrivate void ConvertRGBToHCLp ( const double  ,
const double  ,
const double  ,
double *  ,
double *  ,
double *   
)

Referenced by ModulateHCLp(), and sRGBTransformImage().

◆ ConvertRGBToHSB()

MagickPrivate void ConvertRGBToHSB ( const double  ,
const double  ,
const double  ,
double *  ,
double *  ,
double *   
)

◆ ConvertRGBToHSI()

MagickPrivate void ConvertRGBToHSI ( const double  ,
const double  ,
const double  ,
double *  ,
double *  ,
double *   
)

Referenced by ModulateHSI(), and sRGBTransformImage().

◆ ConvertRGBToHSV()

MagickPrivate void ConvertRGBToHSV ( const double  ,
const double  ,
const double  ,
double *  ,
double *  ,
double *   
)

Referenced by ModulateHSV(), and sRGBTransformImage().

◆ ConvertRGBToHWB()

MagickPrivate void ConvertRGBToHWB ( const double  ,
const double  ,
const double  ,
double *  ,
double *  ,
double *   
)

Referenced by ModulateHWB(), and sRGBTransformImage().

◆ ConvertRGBToLCHab()

MagickPrivate void ConvertRGBToLCHab ( const double  ,
const double  ,
const double  ,
double *  ,
double *  ,
double *   
)

◆ ConvertRGBToLCHuv()

MagickPrivate void ConvertRGBToLCHuv ( const double  ,
const double  ,
const double  ,
double *  ,
double *  ,
double *   
)

Definition at line 1375 of file gem.c.

References ConvertRGBToXYZ(), and ConvertXYZToLCHuv().

Referenced by ModulateLCHuv(), and sRGBTransformImage().

◆ ConvertRGBToXYZ()

static void ConvertRGBToXYZ ( const double  red,
const double  green,
const double  blue,
double *  X,
double *  Y,
double *  Z 
)
inlinestatic

◆ ConvertXYZToLab()

static void ConvertXYZToLab ( const double  X,
const double  Y,
const double  Z,
double *  L,
double *  a,
double *  b 
)
inlinestatic

Definition at line 146 of file gem-private.h.

References CIEEpsilon, CIEK, D65X, D65Y, and D65Z.

Referenced by ConvertRGBToLab(), and ConvertXYZToLCHab().

◆ ConvertXYZToLuv()

static void ConvertXYZToLuv ( const double  X,
const double  Y,
const double  Z,
double *  L,
double *  u,
double *  v 
)
inlinestatic

Definition at line 174 of file gem-private.h.

References CIEEpsilon, CIEK, D65X, D65Y, D65Z, and PerceptibleReciprocal().

Referenced by ConvertRGBToLuv(), and ConvertXYZToLCHuv().

◆ ConvertXYZToRGB()

static void ConvertXYZToRGB ( const double  X,
const double  Y,
const double  Z,
double *  red,
double *  green,
double *  blue 
)
inlinestatic

◆ GenerateDifferentialNoise()

◆ GetOptimalKernelWidth()

MagickPrivate size_t GetOptimalKernelWidth ( const double  ,
const double   
)

◆ GetOptimalKernelWidth1D()

MagickPrivate size_t GetOptimalKernelWidth1D ( const double  ,
const double   
)

◆ GetOptimalKernelWidth2D()

MagickPrivate size_t GetOptimalKernelWidth2D ( const double  ,
const double   
)