MagickCore  6.9.10
Convert, Edit, Or Compose Bitmap Images
gem.c File Reference
#include "magick/studio.h"
#include "magick/color-private.h"
#include "magick/draw.h"
#include "magick/gem.h"
#include "magick/gem-private.h"
#include "magick/image.h"
#include "magick/image-private.h"
#include "magick/log.h"
#include "magick/memory_.h"
#include "magick/pixel-private.h"
#include "magick/quantum.h"
#include "magick/random_.h"
#include "magick/resize.h"
#include "magick/transform.h"
#include "magick/signature-private.h"
Include dependency graph for gem.c:

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

MagickExport void ConvertHCLToRGB (const double hue, const double chroma, const double luma, Quantum *red, Quantum *green, Quantum *blue)
 
MagickExport void ConvertHCLpToRGB (const double hue, const double chroma, const double luma, Quantum *red, Quantum *green, Quantum *blue)
 
MagickExport void ConvertHSBToRGB (const double hue, const double saturation, const double brightness, Quantum *red, Quantum *green, Quantum *blue)
 
MagickExport void ConvertHSIToRGB (const double hue, const double saturation, const double intensity, Quantum *red, Quantum *green, Quantum *blue)
 
MagickExport void ConvertHSLToRGB (const double hue, const double saturation, const double lightness, Quantum *red, Quantum *green, Quantum *blue)
 
MagickExport void ConvertHSVToRGB (const double hue, const double saturation, const double value, Quantum *red, Quantum *green, Quantum *blue)
 
MagickExport void ConvertHWBToRGB (const double hue, const double whiteness, const double blackness, Quantum *red, Quantum *green, Quantum *blue)
 
static void ConvertLCHabToXYZ (const double luma, const double chroma, const double hue, double *X, double *Y, double *Z)
 
MagickExport void ConvertLCHabToRGB (const double luma, const double chroma, const double hue, Quantum *red, Quantum *green, Quantum *blue)
 
static void ConvertLCHuvToXYZ (const double luma, const double chroma, const double hue, double *X, double *Y, double *Z)
 
MagickExport void ConvertLCHuvToRGB (const double luma, const double chroma, const double hue, Quantum *red, Quantum *green, Quantum *blue)
 
MagickExport void ConvertRGBToHCL (const Quantum red, const Quantum green, const Quantum blue, double *hue, double *chroma, double *luma)
 
MagickExport void ConvertRGBToHCLp (const Quantum red, const Quantum green, const Quantum blue, double *hue, double *chroma, double *luma)
 
MagickExport void ConvertRGBToHSB (const Quantum red, const Quantum green, const Quantum blue, double *hue, double *saturation, double *brightness)
 
MagickExport void ConvertRGBToHSI (const Quantum red, const Quantum green, const Quantum blue, double *hue, double *saturation, double *intensity)
 
MagickExport void ConvertRGBToHSL (const Quantum red, const Quantum green, const Quantum blue, double *hue, double *saturation, double *lightness)
 
MagickExport void ConvertRGBToHSV (const Quantum red, const Quantum green, const Quantum blue, double *hue, double *saturation, double *value)
 
MagickExport void ConvertRGBToHWB (const Quantum red, const Quantum green, const Quantum 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)
 
MagickExport void ConvertRGBToLCHab (const Quantum red, const Quantum green, const Quantum 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)
 
MagickExport void ConvertRGBToLCHuv (const Quantum red, const Quantum green, const Quantum blue, double *luma, double *chroma, double *hue)
 
MagickExport double ExpandAffine (const AffineMatrix *affine)
 
MagickExport double GenerateDifferentialNoise (RandomInfo *random_info, const Quantum pixel, const NoiseType noise_type, const MagickRealType attenuate)
 
MagickExport size_t GetOptimalKernelWidth1D (const double radius, const double sigma)
 
MagickExport size_t GetOptimalKernelWidth2D (const double radius, const double sigma)
 
MagickExport size_t GetOptimalKernelWidth (const double radius, const double sigma)
 

Macro Definition Documentation

◆ SigmaGaussian

#define SigmaGaussian   (attenuate*0.015625)

◆ SigmaImpulse

#define SigmaImpulse   (attenuate*0.1)

◆ SigmaLaplacian

#define SigmaLaplacian   (attenuate*0.0390625)

◆ SigmaMultiplicativeGaussian

#define SigmaMultiplicativeGaussian   (attenuate*0.5)

◆ SigmaPoisson

#define SigmaPoisson   (attenuate*12.5)

◆ SigmaRandom

#define SigmaRandom   (attenuate)

◆ SigmaUniform

#define SigmaUniform   (attenuate*0.015625)

◆ TauGaussian

#define TauGaussian   (attenuate*0.078125)

Function Documentation

◆ ConvertHCLpToRGB()

MagickExport void ConvertHCLpToRGB ( const double  hue,
const double  chroma,
const double  luma,
Quantum red,
Quantum green,
Quantum blue 
)

References ClampToQuantum(), and QuantumRange.

Referenced by ModulateHCLp(), and TransformRGBImage().

◆ ConvertHCLToRGB()

MagickExport void ConvertHCLToRGB ( const double  hue,
const double  chroma,
const double  luma,
Quantum red,
Quantum green,
Quantum blue 
)

◆ ConvertHSBToRGB()

MagickExport void ConvertHSBToRGB ( const double  hue,
const double  saturation,
const double  brightness,
Quantum red,
Quantum green,
Quantum blue 
)

◆ ConvertHSIToRGB()

MagickExport void ConvertHSIToRGB ( const double  hue,
const double  saturation,
const double  intensity,
Quantum red,
Quantum green,
Quantum blue 
)

◆ ConvertHSLToRGB()

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

◆ ConvertHSVToRGB()

MagickExport void ConvertHSVToRGB ( const double  hue,
const double  saturation,
const double  value,
Quantum red,
Quantum green,
Quantum blue 
)

References ClampToQuantum(), and QuantumRange.

Referenced by ModulateHSV(), and TransformRGBImage().

◆ ConvertHWBToRGB()

MagickExport void ConvertHWBToRGB ( const double  hue,
const double  whiteness,
const double  blackness,
Quantum red,
Quantum green,
Quantum blue 
)

◆ ConvertLCHabToRGB()

MagickExport void ConvertLCHabToRGB ( const double  luma,
const double  chroma,
const double  hue,
Quantum red,
Quantum green,
Quantum blue 
)

◆ ConvertLCHabToXYZ()

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

References ConvertLabToXYZ(), and MagickPI.

Referenced by ConvertLCHabToRGB().

◆ ConvertLCHuvToRGB()

MagickExport void ConvertLCHuvToRGB ( const double  luma,
const double  chroma,
const double  hue,
Quantum red,
Quantum green,
Quantum blue 
)

◆ ConvertLCHuvToXYZ()

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

References ConvertLuvToXYZ(), and MagickPI.

Referenced by ConvertLCHuvToRGB().

◆ ConvertRGBToHCL()

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

◆ ConvertRGBToHCLp()

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

◆ ConvertRGBToHSB()

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

◆ ConvertRGBToHSI()

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

References MagickMin, MagickPI, and QuantumScale.

Referenced by ModulateHSI(), and RGBTransformImage().

◆ ConvertRGBToHSL()

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

◆ ConvertRGBToHSV()

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

◆ ConvertRGBToHWB()

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

◆ ConvertRGBToLCHab()

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

◆ ConvertRGBToLCHuv()

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

◆ ConvertXYZToLCHab()

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

References ConvertXYZToLab(), and MagickPI.

Referenced by ConvertRGBToLCHab().

◆ ConvertXYZToLCHuv()

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

References ConvertXYZToLuv(), and MagickPI.

Referenced by ConvertRGBToLCHuv().

◆ ExpandAffine()

◆ GenerateDifferentialNoise()

◆ GetOptimalKernelWidth()

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

◆ GetOptimalKernelWidth1D()

◆ GetOptimalKernelWidth2D()