# effect.c File Reference

`#include "magick/studio.h"`
`#include "magick/property.h"`
`#include "magick/blob.h"`
`#include "magick/cache-view.h"`
`#include "magick/color.h"`
`#include "magick/color-private.h"`
`#include "magick/colorspace.h"`
`#include "magick/constitute.h"`
`#include "magick/decorate.h"`
`#include "magick/draw.h"`
`#include "magick/enhance.h"`
`#include "magick/exception.h"`
`#include "magick/exception-private.h"`
`#include "magick/effect.h"`
`#include "magick/fx.h"`
`#include "magick/gem.h"`
`#include "magick/geometry.h"`
`#include "magick/image-private.h"`
`#include "magick/list.h"`
`#include "magick/log.h"`
`#include "magick/memory_.h"`
`#include "magick/monitor.h"`
`#include "magick/montage.h"`
`#include "magick/paint.h"`
`#include "magick/pixel-private.h"`
`#include "magick/quantize.h"`
`#include "magick/quantum.h"`
`#include "magick/random_.h"`
`#include "magick/resize.h"`
`#include "magick/resource_.h"`
`#include "magick/segment.h"`
`#include "magick/shear.h"`
`#include "magick/signature.h"`
`#include "magick/string_.h"`
`#include "magick/transform.h"`
`#include "magick/threshold.h"`

## Data Structures
struct | _MedianListNode
struct | _MedianSkipList
struct | _MedianPixelList
## Defines
#define | AdaptiveBlurImageTag "Convolve/Image"
#define | MagickSigma (fabs(sigma) <= MagickEpsilon ? 1.0 : sigma)
#define | AdaptiveSharpenImageTag "Convolve/Image"
#define | NoiseEpsilon (attenuate*1.0e-5)
#define | SigmaUniform ScaleCharToQuantum((unsigned char) (attenuate*4.0+0.5))
#define | SigmaGaussian ScaleCharToQuantum((unsigned char) (attenuate*4.0+0.5))
#define | SigmaImpulse (attenuate*0.10)
#define | SigmaLaplacian ScaleCharToQuantum((unsigned char) (attenuate*10.0+0.5))
#define | SigmaMultiplicativeGaussian ScaleCharToQuantum((unsigned char) (attenuate*1.0+0.5))
#define | SigmaPoisson (attenuate*0.05)
#define | TauGaussian ScaleCharToQuantum((unsigned char) (attenuate*20.0+0.5))
#define | AddNoiseImageTag "AddNoise/Image"
#define | KernelRank 3
#define | BlurImageTag "Blur/Image"
#define | DespeckleImageTag "Despeckle/Image"
#define | MedianFilterImageTag "MedianFilter/Image"
#define | KernelRank 3
#define | NumberTiles 9
#define | PreviewImageTag "Preview/Image"
#define | DefaultPreviewGeometry "204x204+10+10"
#define | ReduceNoiseImageTag "ReduceNoise/Image"
#define | ShadeImageTag "Shade/Image"
#define | SpreadImageTag "Spread/Image"
#define | SharpenImageTag "Sharpen/Image"
## Typedefs
typedef struct _MedianListNode | MedianListNode
typedef struct _MedianSkipList | MedianSkipList
typedef struct _MedianPixelList | MedianPixelList
## Functions
MagickExport Image * | AdaptiveBlurImage (const Image *image, const double radius, const double sigma, ExceptionInfo *exception)
MagickExport Image * | AdaptiveBlurImageChannel (const Image *image, const ChannelType channel, const double radius, const double sigma, ExceptionInfo *exception)
MagickExport Image * | AdaptiveSharpenImage (const Image *image, const double radius, const double sigma, ExceptionInfo *exception)
MagickExport Image * | AdaptiveSharpenImageChannel (const Image *image, const ChannelType channel, const double radius, const double sigma, ExceptionInfo *exception)
static Quantum | GenerateNoise (const Quantum pixel, const NoiseType noise_type, const MagickRealType attenuate)
MagickExport Image * | AddNoiseImage (const Image *image, const NoiseType noise_type, ExceptionInfo *exception)
MagickExport Image * | AddNoiseImageChannel (const Image *image, const ChannelType channel, const NoiseType noise_type, ExceptionInfo *exception)
MagickExport Image * | BlurImage (const Image *image, const double radius, const double sigma, ExceptionInfo *exception)
static double * | GetBlurKernel (unsigned long width, const MagickRealType sigma)
MagickExport Image * | BlurImageChannel (const Image *image, const ChannelType channel, const double radius, const double sigma, ExceptionInfo *exception)
static void | Hull (const long x_offset, const long y_offset, const unsigned long columns, const unsigned long rows, Quantum *f, Quantum *g, const int polarity)
MagickExport Image * | DespeckleImage (const Image *image, ExceptionInfo *exception)
MagickExport Image * | EdgeImage (const Image *image, const double radius, ExceptionInfo *exception)
MagickExport Image * | EmbossImage (const Image *image, const double radius, const double sigma, ExceptionInfo *exception)
MagickExport Image * | GaussianBlurImage (const Image *image, const double radius, const double sigma, ExceptionInfo *exception)
MagickExport Image * | GaussianBlurImageChannel (const Image *image, const ChannelType channel, const double radius, const double sigma, ExceptionInfo *exception)
static void | AddNodeMedianList (MedianPixelList *pixel_list, int channel, unsigned long color)
static MagickPixelPacket | GetMedianList (MedianPixelList *pixel_list)
static void | InitializeMedianList (MedianPixelList *pixel_list, unsigned long width)
static void | InsertMedianList (const Image *image, const PixelPacket *pixel, const IndexPacket *indexes, MedianPixelList *pixel_list)
static void | ResetMedianList (MedianPixelList *pixel_list)
MagickExport Image * | MedianFilterImage (const Image *image, const double radius, ExceptionInfo *exception)
static double * | GetMotionBlurKernel (unsigned long width, const MagickRealType sigma)
MagickExport Image * | MotionBlurImage (const Image *image, const double radius, const double sigma, const double angle, ExceptionInfo *exception)
MagickExport Image * | PreviewImage (const Image *image, const PreviewType preview, ExceptionInfo *exception)
MagickExport Image * | RadialBlurImage (const Image *image, const double angle, ExceptionInfo *exception)
MagickExport Image * | RadialBlurImageChannel (const Image *image, const ChannelType channel, const double angle, ExceptionInfo *exception)
static MagickPixelPacket | GetNonpeakMedianList (MedianPixelList *pixel_list)
MagickExport Image * | ReduceNoiseImage (const Image *image, const double radius, ExceptionInfo *exception)
MagickExport Image * | ShadeImage (const Image *image, const MagickBooleanType gray, const double azimuth, const double elevation, ExceptionInfo *exception)
MagickExport Image * | SharpenImage (const Image *image, const double radius, const double sigma, ExceptionInfo *exception)
MagickExport Image * | SharpenImageChannel (const Image *image, const ChannelType channel, const double radius, const double sigma, ExceptionInfo *exception)
MagickExport Image * | SpreadImage (const Image *image, const double radius, ExceptionInfo *exception)
MagickExport Image * | UnsharpMaskImage (const Image *image, const double radius, const double sigma, const double amount, const double threshold, ExceptionInfo *exception)
MagickExport Image * | UnsharpMaskImageChannel (const Image *image, const ChannelType channel, const double radius, const double sigma, const double amount, const double threshold, ExceptionInfo *exception)

## Define Documentation

#define AdaptiveBlurImageTag "Convolve/Image"

#define AdaptiveSharpenImageTag "Convolve/Image"

#define AddNoiseImageTag "AddNoise/Image"

#define BlurImageTag "Blur/Image"

#define DefaultPreviewGeometry "204x204+10+10"

#define DespeckleImageTag "Despeckle/Image"

#define KernelRank 3

#define MagickSigma (fabs(sigma) <= MagickEpsilon ? 1.0 : sigma)

#define MedianFilterImageTag "MedianFilter/Image"

#define NoiseEpsilon (attenuate*1.0e-5)

#define NumberTiles 9

#define PreviewImageTag "Preview/Image"

#define ReduceNoiseImageTag "ReduceNoise/Image"

#define ShadeImageTag "Shade/Image"

#define SharpenImageTag "Sharpen/Image"

#define SigmaGaussian ScaleCharToQuantum((unsigned char) (attenuate*4.0+0.5))

#define SigmaImpulse (attenuate*0.10)

#define SigmaLaplacian ScaleCharToQuantum((unsigned char) (attenuate*10.0+0.5))

#define SigmaMultiplicativeGaussian ScaleCharToQuantum((unsigned char) (attenuate*1.0+0.5))

#define SigmaPoisson (attenuate*0.05)

#define SigmaUniform ScaleCharToQuantum((unsigned char) (attenuate*4.0+0.5))

#define SpreadImageTag "Spread/Image"

#define TauGaussian ScaleCharToQuantum((unsigned char) (attenuate*20.0+0.5))

## Typedef Documentation

typedef struct _MedianListNode MedianListNode

typedef struct _MedianPixelList MedianPixelList

typedef struct _MedianSkipList MedianSkipList

## Function Documentation

MagickExport Image* AdaptiveBlurImage | ( | const Image * | image,
|  | const double | radius,
|  | const double | sigma,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport Image* AdaptiveBlurImageChannel | ( | const Image * | image,
|  | const ChannelType | channel,
|  | const double | radius,
|  | const double | sigma,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport Image* AdaptiveSharpenImage | ( | const Image * | image,
|  | const double | radius,
|  | const double | sigma,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport Image* AdaptiveSharpenImageChannel | ( | const Image * | image,
|  | const ChannelType | channel,
|  | const double | radius,
|  | const double | sigma,
|  | ExceptionInfo * | exception |
| ) |  |  |

static void AddNodeMedianList | ( | MedianPixelList * | pixel_list,
|  | int | channel,
|  | unsigned long | color |
| ) |  |  | `[static]`

MagickExport Image* AddNoiseImage | ( | const Image * | image,
|  | const NoiseType | noise_type,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport Image* AddNoiseImageChannel | ( | const Image * | image,
|  | const ChannelType | channel,
|  | const NoiseType | noise_type,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport Image* BlurImage | ( | const Image * | image,
|  | const double | radius,
|  | const double | sigma,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport Image* BlurImageChannel | ( | const Image * | image,
|  | const ChannelType | channel,
|  | const double | radius,
|  | const double | sigma,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport Image* DespeckleImage | ( | const Image * | image,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport Image* EdgeImage | ( | const Image * | image,
|  | const double | radius,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport Image* EmbossImage | ( | const Image * | image,
|  | const double | radius,
|  | const double | sigma,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport Image* GaussianBlurImage | ( | const Image * | image,
|  | const double | radius,
|  | const double | sigma,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport Image* GaussianBlurImageChannel | ( | const Image * | image,
|  | const ChannelType | channel,
|  | const double | radius,
|  | const double | sigma,
|  | ExceptionInfo * | exception |
| ) |  |  |

static Quantum GenerateNoise | ( | const Quantum | pixel,
|  | const NoiseType | noise_type,
|  | const MagickRealType | attenuate |
| ) |  |  | `[static]`

static double* GetBlurKernel | ( | unsigned long | width,
|  | const MagickRealType | sigma |
| ) |  |  | `[static]`

static MagickPixelPacket GetMedianList | ( | MedianPixelList * | pixel_list | ) | `[static]`

static double* GetMotionBlurKernel | ( | unsigned long | width,
|  | const MagickRealType | sigma |
| ) |  |  | `[static]`

static MagickPixelPacket GetNonpeakMedianList | ( | MedianPixelList * | pixel_list | ) | `[static]`

static void Hull | ( | const long | x_offset,
|  | const long | y_offset,
|  | const unsigned long | columns,
|  | const unsigned long | rows,
|  | Quantum * | f,
|  | Quantum * | g,
|  | const int | polarity |
| ) |  |  | `[static]`

static void InitializeMedianList | ( | MedianPixelList * | pixel_list,
|  | unsigned long | width |
| ) |  |  | `[static]`

static void InsertMedianList | ( | const Image * | image,
|  | const PixelPacket * | pixel,
|  | const IndexPacket * | indexes,
|  | MedianPixelList * | pixel_list |
| ) |  |  | `[inline, static]`

MagickExport Image* MedianFilterImage | ( | const Image * | image,
|  | const double | radius,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport Image* MotionBlurImage | ( | const Image * | image,
|  | const double | radius,
|  | const double | sigma,
|  | const double | angle,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport Image* PreviewImage | ( | const Image * | image,
|  | const PreviewType | preview,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport Image* RadialBlurImage | ( | const Image * | image,
|  | const double | angle,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport Image* RadialBlurImageChannel | ( | const Image * | image,
|  | const ChannelType | channel,
|  | const double | angle,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport Image* ReduceNoiseImage | ( | const Image * | image,
|  | const double | radius,
|  | ExceptionInfo * | exception |
| ) |  |  |

static void ResetMedianList | ( | MedianPixelList * | pixel_list | ) | `[static]`

MagickExport Image* ShadeImage | ( | const Image * | image,
|  | const MagickBooleanType | gray,
|  | const double | azimuth,
|  | const double | elevation,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport Image* SharpenImage | ( | const Image * | image,
|  | const double | radius,
|  | const double | sigma,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport Image* SharpenImageChannel | ( | const Image * | image,
|  | const ChannelType | channel,
|  | const double | radius,
|  | const double | sigma,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport Image* SpreadImage | ( | const Image * | image,
|  | const double | radius,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport Image* UnsharpMaskImage | ( | const Image * | image,
|  | const double | radius,
|  | const double | sigma,
|  | const double | amount,
|  | const double | threshold,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport Image* UnsharpMaskImageChannel | ( | const Image * | image,
|  | const ChannelType | channel,
|  | const double | radius,
|  | const double | sigma,
|  | const double | amount,
|  | const double | threshold,
|  | ExceptionInfo * | exception |
| ) |  |  |