MagickCore  7.0.0
gem.c File Reference
Include dependency graph for gem.c:

Go to the source code of this file.

Macros

#define SigmaUniform   (attenuate*0.015625)
 
#define SigmaGaussian   (attenuate*0.015625)
 
#define SigmaImpulse   (attenuate*0.1)
 
#define SigmaLaplacian   (attenuate*0.0390625)
 
#define SigmaMultiplicativeGaussian   (attenuate*0.5)
 
#define SigmaPoisson   (attenuate*12.5)
 
#define SigmaRandom   (attenuate)
 
#define TauGaussian   (attenuate*0.078125)
 

Functions

MagickPrivate void ConvertHCLToRGB (const double hue, const double chroma, const double luma, double *red, double *green, double *blue)
 
MagickPrivate void ConvertHCLpToRGB (const double hue, const double chroma, const double luma, double *red, double *green, double *blue)
 
MagickPrivate void ConvertHSBToRGB (const double hue, const double saturation, const double brightness, double *red, double *green, double *blue)
 
MagickPrivate void ConvertHSIToRGB (const double hue, const double saturation, const double intensity, double *red, double *green, double *blue)
 
MagickExport void ConvertHSLToRGB (const double hue, const double saturation, const double lightness, double *red, double *green, double *blue)
 
MagickPrivate void ConvertHSVToRGB (const double hue, const double saturation, const double value, double *red, double *green, double *blue)
 
MagickPrivate void ConvertHWBToRGB (const double hue, const double whiteness, const double blackness, double *red, double *green, double *blue)
 
static void ConvertLCHabToXYZ (const double luma, const double chroma, const double hue, double *X, double *Y, double *Z)
 
MagickPrivate void ConvertLCHabToRGB (const double luma, const double chroma, const double hue, double *red, double *green, double *blue)
 
static void ConvertLCHuvToXYZ (const double luma, const double chroma, const double hue, double *X, double *Y, double *Z)
 
MagickPrivate void ConvertLCHuvToRGB (const double luma, const double chroma, const double hue, double *red, double *green, double *blue)
 
static double MagickMax (const double x, const double y)
 
static double MagickMin (const double x, const double y)
 
MagickPrivate void ConvertRGBToHCL (const double red, const double green, const double blue, double *hue, double *chroma, double *luma)
 
MagickPrivate void ConvertRGBToHCLp (const double red, const double green, const double blue, double *hue, double *chroma, double *luma)
 
MagickPrivate void ConvertRGBToHSB (const double red, const double green, const double blue, double *hue, double *saturation, double *brightness)
 
MagickPrivate void ConvertRGBToHSI (const double red, const double green, const double blue, double *hue, double *saturation, double *intensity)
 
MagickExport void ConvertRGBToHSL (const double red, const double green, const double blue, double *hue, double *saturation, double *lightness)
 
MagickPrivate void ConvertRGBToHSV (const double red, const double green, const double blue, double *hue, double *saturation, double *value)
 
MagickPrivate void ConvertRGBToHWB (const double red, const double green, const double blue, double *hue, double *whiteness, double *blackness)
 
static void ConvertXYZToLCHab (const double X, const double Y, const double Z, double *luma, double *chroma, double *hue)
 
MagickPrivate void ConvertRGBToLCHab (const double red, const double green, const double blue, double *luma, double *chroma, double *hue)
 
static void ConvertXYZToLCHuv (const double X, const double Y, const double Z, double *luma, double *chroma, double *hue)
 
MagickPrivate void ConvertRGBToLCHuv (const double red, const double green, const double blue, double *luma, double *chroma, double *hue)
 
MagickExport double ExpandAffine (const AffineMatrix *affine)
 
MagickPrivate double GenerateDifferentialNoise (RandomInfo *random_info, const Quantum pixel, const NoiseType noise_type, const double attenuate)
 
MagickPrivate size_t GetOptimalKernelWidth1D (const double radius, const double sigma)
 
MagickPrivate size_t GetOptimalKernelWidth2D (const double radius, const double sigma)
 
MagickPrivate size_t GetOptimalKernelWidth (const double radius, const double sigma)
 

Macro Definition Documentation

#define SigmaGaussian   (attenuate*0.015625)
#define SigmaImpulse   (attenuate*0.1)
#define SigmaLaplacian   (attenuate*0.0390625)
#define SigmaMultiplicativeGaussian   (attenuate*0.5)
#define SigmaPoisson   (attenuate*12.5)
#define SigmaRandom   (attenuate)
#define SigmaUniform   (attenuate*0.015625)
#define TauGaussian   (attenuate*0.078125)

Function Documentation

MagickPrivate void ConvertHCLpToRGB ( const double  hue,
const double  chroma,
const double  luma,
double *  red,
double *  green,
double *  blue 
)

Definition at line 181 of file gem.c.

References QuantumRange.

MagickPrivate void ConvertHCLToRGB ( const double  hue,
const double  chroma,
const double  luma,
double *  red,
double *  green,
double *  blue 
)

Definition at line 88 of file gem.c.

References QuantumRange.

MagickPrivate void ConvertHSBToRGB ( const double  hue,
const double  saturation,
const double  brightness,
double *  red,
double *  green,
double *  blue 
)

Definition at line 286 of file gem.c.

References QuantumRange.

MagickPrivate void ConvertHSIToRGB ( const double  hue,
const double  saturation,
const double  intensity,
double *  red,
double *  green,
double *  blue 
)

Definition at line 389 of file gem.c.

References MagickPI, and QuantumRange.

MagickExport void ConvertHSLToRGB ( const double  hue,
const double  saturation,
const double  lightness,
double *  red,
double *  green,
double *  blue 
)

Definition at line 462 of file gem.c.

References QuantumRange.

Referenced by ModulateHSL(), QueryColorCompliance(), and TransformsRGBImage().

MagickPrivate void ConvertHSVToRGB ( const double  hue,
const double  saturation,
const double  value,
double *  red,
double *  green,
double *  blue 
)

Definition at line 566 of file gem.c.

References QuantumRange.

MagickPrivate void ConvertHWBToRGB ( const double  hue,
const double  whiteness,
const double  blackness,
double *  red,
double *  green,
double *  blue 
)

Definition at line 667 of file gem.c.

References QuantumRange.

MagickPrivate void ConvertLCHabToRGB ( const double  luma,
const double  chroma,
const double  hue,
double *  red,
double *  green,
double *  blue 
)

Definition at line 751 of file gem.c.

References ConvertLCHabToXYZ(), and ConvertXYZToRGB().

static void ConvertLCHabToXYZ ( const double  luma,
const double  chroma,
const double  hue,
double *  X,
double *  Y,
double *  Z 
)
inlinestatic

Definition at line 744 of file gem.c.

References ConvertLabToXYZ(), and MagickPI.

Referenced by ConvertLCHabToRGB().

MagickPrivate void ConvertLCHuvToRGB ( const double  luma,
const double  chroma,
const double  hue,
double *  red,
double *  green,
double *  blue 
)

Definition at line 804 of file gem.c.

References ConvertLCHuvToXYZ(), and ConvertXYZToRGB().

static void ConvertLCHuvToXYZ ( const double  luma,
const double  chroma,
const double  hue,
double *  X,
double *  Y,
double *  Z 
)
inlinestatic

Definition at line 797 of file gem.c.

References ConvertLuvToXYZ(), and MagickPI.

Referenced by ConvertLCHuvToRGB().

MagickPrivate void ConvertRGBToHCL ( const double  red,
const double  green,
const double  blue,
double *  hue,
double *  chroma,
double *  luma 
)

Definition at line 865 of file gem.c.

References MagickMax(), MagickMin(), and QuantumScale.

MagickPrivate void ConvertRGBToHCLp ( const double  red,
const double  green,
const double  blue,
double *  hue,
double *  chroma,
double *  luma 
)

Definition at line 932 of file gem.c.

References MagickMax(), MagickMin(), and QuantumScale.

MagickPrivate void ConvertRGBToHSB ( const double  red,
const double  green,
const double  blue,
double *  hue,
double *  saturation,
double *  brightness 
)

Definition at line 999 of file gem.c.

References QuantumScale.

MagickPrivate void ConvertRGBToHSI ( const double  red,
const double  green,
const double  blue,
double *  hue,
double *  saturation,
double *  intensity 
)

Definition at line 1075 of file gem.c.

References MagickMin(), MagickPI, and QuantumScale.

MagickExport void ConvertRGBToHSL ( const double  red,
const double  green,
const double  blue,
double *  hue,
double *  saturation,
double *  lightness 
)

Definition at line 1132 of file gem.c.

References MagickMax(), MagickMin(), and QuantumScale.

Referenced by FxGetSymbol(), ModulateHSL(), and sRGBTransformImage().

MagickPrivate void ConvertRGBToHSV ( const double  red,
const double  green,
const double  blue,
double *  hue,
double *  saturation,
double *  value 
)

Definition at line 1204 of file gem.c.

References MagickMax(), MagickMin(), and QuantumScale.

MagickPrivate void ConvertRGBToHWB ( const double  red,
const double  green,
const double  blue,
double *  hue,
double *  whiteness,
double *  blackness 
)

Definition at line 1273 of file gem.c.

References MagickMax(), MagickMin(), and QuantumScale.

MagickPrivate void ConvertRGBToLCHab ( const double  red,
const double  green,
const double  blue,
double *  luma,
double *  chroma,
double *  hue 
)

Definition at line 1351 of file gem.c.

References ConvertRGBToXYZ(), and ConvertXYZToLCHab().

MagickPrivate void ConvertRGBToLCHuv ( const double  red,
const double  green,
const double  blue,
double *  luma,
double *  chroma,
double *  hue 
)

Definition at line 1412 of file gem.c.

References ConvertRGBToXYZ(), and ConvertXYZToLCHuv().

Referenced by ModulateLCHuv(), and sRGBTransformImage().

static void ConvertXYZToLCHab ( const double  X,
const double  Y,
const double  Z,
double *  luma,
double *  chroma,
double *  hue 
)
inlinestatic

Definition at line 1337 of file gem.c.

References ConvertXYZToLab(), and MagickPI.

Referenced by ConvertRGBToLCHab().

static void ConvertXYZToLCHuv ( const double  X,
const double  Y,
const double  Z,
double *  luma,
double *  chroma,
double *  hue 
)
inlinestatic

Definition at line 1398 of file gem.c.

References ConvertXYZToLuv(), and MagickPI.

Referenced by ConvertRGBToLCHuv().

MagickPrivate size_t GetOptimalKernelWidth ( const double  radius,
const double  sigma 
)

Definition at line 1713 of file gem.c.

References GetOptimalKernelWidth1D().

MagickPrivate size_t GetOptimalKernelWidth1D ( const double  radius,
const double  sigma 
)
MagickPrivate size_t GetOptimalKernelWidth2D ( const double  radius,
const double  sigma 
)
static double MagickMax ( const double  x,
const double  y 
)
inlinestatic
static double MagickMin ( const double  x,
const double  y 
)
inlinestatic