ImageMagick – MagickWand, C API: Image Methods
Description: ImageMagick is a powerful, open-source software suite for creating, editing, converting, and manipulating images in over 200 formats. Ideal for web developers, graphic designers, and researchers, it offers versatile tools for image processing, including batch processing, format conversion, and complex image transformations.
Keywords: MagickWand, C API: Image Methods, Image Processing, Digital Image Editing, Image Conversion, Open-Source Software, Image Manipulation, Command-Line Image Tools

# Magick-image

## GetImageFromMagickWand

GetImageFromMagickWand() returns the current image from the magick wand.

The format of the GetImageFromMagickWand method is:

    Image *GetImageFromMagickWand(const MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickAdaptiveBlurImage

MagickAdaptiveBlurImage() adaptively blurs the image by blurring less intensely near image edges and more intensely far from edges. We blur the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. Use a radius of 0 and MagickAdaptiveBlurImage() selects a suitable radius for you.

The format of the MagickAdaptiveBlurImage method is:

    MagickBooleanType MagickAdaptiveBlurImage(MagickWand *wand,
      const double radius,const double sigma)

A description of each parameter follows:

wand
  the magick wand.
radius
  the radius of the Gaussian, in pixels, not counting the center pixel.
sigma
  the standard deviation of the Gaussian, in pixels.

## MagickAdaptiveResizeImage

MagickAdaptiveResizeImage() adaptively resize image with data dependent triangulation.

MagickBooleanType MagickAdaptiveResizeImage(MagickWand *wand, const size_t columns,const size_t rows)

A description of each parameter follows:

wand
  the magick wand.
columns
  the number of columns in the scaled image.
rows
  the number of rows in the scaled image.

## MagickAdaptiveSharpenImage

MagickAdaptiveSharpenImage() adaptively sharpens the image by sharpening more intensely near image edges and less intensely far from edges. We sharpen the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. Use a radius of 0 and MagickAdaptiveSharpenImage() selects a suitable radius for you.

The format of the MagickAdaptiveSharpenImage method is:

    MagickBooleanType MagickAdaptiveSharpenImage(MagickWand *wand,
      const double radius,const double sigma)

A description of each parameter follows:

wand
  the magick wand.
radius
  the radius of the Gaussian, in pixels, not counting the center pixel.
sigma
  the standard deviation of the Gaussian, in pixels.

## MagickAdaptiveThresholdImage

MagickAdaptiveThresholdImage() selects an individual threshold for each pixel based on the range of intensity values in its local neighborhood. This allows for thresholding of an image whose global intensity histogram doesn't contain distinctive peaks.

The format of the AdaptiveThresholdImage method is:

    MagickBooleanType MagickAdaptiveThresholdImage(MagickWand *wand,
      const size_t width,const size_t height,const double bias)

A description of each parameter follows:

wand
  the magick wand.
width
  the width of the local neighborhood.
height
  the height of the local neighborhood.
offset
  the mean bias.

## MagickAddImage

MagickAddImage() adds a clone of the images from the second wand and inserts them into the first wand.

Use MagickSetLastIterator(), to append new images into an existing wand, current image will be set to last image so later adds with also be appended to end of wand.

Use MagickSetFirstIterator() to prepend new images into wand, any more images added will also be prepended before other images in the wand. However the order of a list of new images will not change.

Otherwise the new images will be inserted just after the current image, and any later image will also be added after this current image but before the previously added images. Caution is advised when multiple image adds are inserted into the middle of the wand image list.

The format of the MagickAddImage method is:

    MagickBooleanType MagickAddImage(MagickWand *wand,
      const MagickWand *add_wand)

A description of each parameter follows:

wand
  the magick wand.
add_wand
  A wand that contains the image list to be added

## MagickAddNoiseImage

MagickAddNoiseImage() adds random noise to the image.

The format of the MagickAddNoiseImage method is:

    MagickBooleanType MagickAddNoiseImage(MagickWand *wand,
      const NoiseType noise_type,const double attenuate)

A description of each parameter follows:

wand
  the magick wand.
noise_type
  The type of noise: Uniform, Gaussian, Multiplicative, Impulse, Laplacian, or Poisson.
attenuate
  attenuate the random distribution.

## MagickAffineTransformImage

MagickAffineTransformImage() transforms an image as dictated by the affine matrix of the drawing wand.

The format of the MagickAffineTransformImage method is:

    MagickBooleanType MagickAffineTransformImage(MagickWand *wand,
      const DrawingWand *drawing_wand)

A description of each parameter follows:

wand
  the magick wand.
drawing_wand
  the draw wand.

## MagickAnnotateImage

MagickAnnotateImage() annotates an image with text.

The format of the MagickAnnotateImage method is:

    MagickBooleanType MagickAnnotateImage(MagickWand *wand,
      const DrawingWand *drawing_wand,const double x,const double y,
      const double angle,const char *text)

A description of each parameter follows:

wand
  the magick wand.
drawing_wand
  the draw wand.
x
  x ordinate to left of text
y
  y ordinate to text baseline
angle
  rotate text relative to this angle.
text
  text to draw

## MagickAnimateImages

MagickAnimateImages() animates an image or image sequence.

The format of the MagickAnimateImages method is:

    MagickBooleanType MagickAnimateImages(MagickWand *wand,
      const char *server_name)

A description of each parameter follows:

wand
  the magick wand.
server_name
  the X server name.

## MagickAppendImages

MagickAppendImages() append the images in a wand from the current image onwards, creating a new wand with the single image result. This is affected by the gravity and background settings of the first image.

Typically you would call either MagickResetIterator() or MagickSetFirstImage() before calling this function to ensure that all the images in the wand's image list will be appended together.

The format of the MagickAppendImages method is:

    MagickWand *MagickAppendImages(MagickWand *wand,
      const MagickBooleanType stack)

A description of each parameter follows:

wand
  the magick wand.
stack
  By default, images are stacked left-to-right. Set stack to MagickTrue to stack them top-to-bottom.

## MagickAutoGammaImage

MagickAutoGammaImage() extracts the 'mean' from the image and adjust the image to try make set its gamma appropriately.

The format of the MagickAutoGammaImage method is:

    MagickBooleanType MagickAutoGammaImage(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickAutoLevelImage

MagickAutoLevelImage() adjusts the levels of a particular image channel by scaling the minimum and maximum values to the full quantum range.

The format of the MagickAutoLevelImage method is:

    MagickBooleanType MagickAutoLevelImage(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickAutoOrientImage

MagickAutoOrientImage() adjusts an image so that its orientation is suitable $ for viewing (i.e. top-left orientation).

The format of the MagickAutoOrientImage method is:

    MagickBooleanType MagickAutoOrientImage(MagickWand *image)

A description of each parameter follows:

wand
  the magick wand.

## MagickAutoThresholdImage

MagickAutoThresholdImage() automatically performs image thresholding dependent on which method you specify.

The format of the AutoThresholdImage method is:

    MagickBooleanType MagickAutoThresholdImage(MagickWand *wand,
      const AutoThresholdMethod method)

A description of each parameter follows:

wand
  the magick wand.
method
  choose from KapurThresholdMethod, OTSUThresholdMethod, or TriangleThresholdMethod.

## MagickBilateralBlurImage

MagickBilateralBlurImage() is a non-linear, edge-preserving, and noise-reducing smoothing filter for images. It replaces the intensity of each pixel with a weighted average of intensity values from nearby pixels. This weight is based on a Gaussian distribution. The weights depend not only on Euclidean distance of pixels, but also on the radiometric differences (e.g., range differences, such as color intensity, depth distance, etc.). This preserves sharp edges.

The format of the MagickBilateralBlurImage method is:

    MagickBooleanType MagickBilateralBlurImage(MagickWand *wand,
      const double radius,const double sigma,const double intensity_sigma,
      const double spatial_sigma)

A description of each parameter follows:

wand
  the magick wand.
radius
  the radius of the Gaussian, in pixels, not counting the center pixel.
sigma
  the standard deviation of the , in pixels.
intensity_sigma
  sigma in the intensity space. A larger value means that farther colors within the pixel neighborhood (see spatial_sigma) will be mixed together, resulting in larger areas of semi-equal color.
spatial_sigma
  sigma in the coordinate space. A larger value means that farther pixels influence each other as long as their colors are close enough (see intensity_sigma ). When the neighborhood diameter is greater than zero, it specifies the neighborhood size regardless of spatial_sigma. Otherwise, the neighborhood diameter is proportional to spatial_sigma.

## MagickBlackThresholdImage

MagickBlackThresholdImage() is like MagickThresholdImage() but forces all pixels below the threshold into black while leaving all pixels above the threshold unchanged.

The format of the MagickBlackThresholdImage method is:

    MagickBooleanType MagickBlackThresholdImage(MagickWand *wand,
      const PixelWand *threshold)

A description of each parameter follows:

wand
  the magick wand.
threshold
  the pixel wand.

## MagickBlueShiftImage

MagickBlueShiftImage() mutes the colors of the image to simulate a scene at nighttime in the moonlight.

The format of the MagickBlueShiftImage method is:

    MagickBooleanType MagickBlueShiftImage(MagickWand *wand,
      const double factor)

A description of each parameter follows:

wand
  the magick wand.
factor
  the blue shift factor (default 1.5)

## MagickBlurImage

MagickBlurImage() blurs an image. We convolve the image with a gaussian operator of the given radius and standard deviation (sigma). For reasonable results, the radius should be larger than sigma. Use a radius of 0 and BlurImage() selects a suitable radius for you.

The format of the MagickBlurImage method is:

    MagickBooleanType MagickBlurImage(MagickWand *wand,const double radius,
      const double sigma)

A description of each parameter follows:

wand
  the magick wand.
radius
  the radius of the Gaussian, in pixels, not counting the center pixel.
sigma
  the standard deviation of the , in pixels.

## MagickBorderImage

MagickBorderImage() surrounds the image with a border of the color defined by the bordercolor pixel wand.

The format of the MagickBorderImage method is:

    MagickBooleanType MagickBorderImage(MagickWand *wand,
      const PixelWand *bordercolor,const size_t width,
      const size_t height,const CompositeOperator compose)

A description of each parameter follows:

wand
  the magick wand.
bordercolor
  the border color pixel wand.
width
  the border width.
height
  the border height.
compose
  the composite operator.

## Use MagickBrightnessContrastImage

Use MagickBrightnessContrastImage() to change the brightness and/or contrast of an image. It converts the brightness and contrast parameters into slope and intercept and calls a polynomial function to apply to the image.

The format of the MagickBrightnessContrastImage method is:

    MagickBooleanType MagickBrightnessContrastImage(MagickWand *wand,
      const double brightness,const double contrast)

A description of each parameter follows:

wand
  the magick wand.
brightness
  the brightness percent (-100 .. 100).
contrast
  the contrast percent (-100 .. 100).

## MagickCannyEdgeImage

MagickCannyEdgeImage() uses a multi-stage algorithm to detect a wide range of edges in images.

The format of the MagickCannyEdgeImage method is:

    MagickBooleanType MagickCannyEdgeImage(MagickWand *wand,
      const double radius,const double sigma,const double lower_percent,
      const double upper_percent)

A description of each parameter follows:

wand
  the magick wand.
radius
  the radius of the gaussian smoothing filter.
sigma
  the sigma of the gaussian smoothing filter.
lower_percent
  percentage of edge pixels in the lower threshold.
upper_percent
  percentage of edge pixels in the upper threshold.

## MagickChannelFxImage

MagickChannelFxImage() applies a channel expression to the specified image. The expression consists of one or more channels, either mnemonic or numeric (e.g. red, 1), separated by actions as follows:

  <=> exchange two channels (e.g. red<=>blue) => transfer a channel to another (e.g. red=>green) , separate channel operations (e.g. red, green) | read channels from next input image (e.g. red | green) ; write channels to next output image (e.g. red; green; blue)
  A channel without a operation symbol implies extract. For example, to create 3 grayscale images from the red, green, and blue channels of an image, use:

        -channel-fx "red; green; blue"

The format of the MagickChannelFxImage method is:

    MagickWand *MagickChannelFxImage(MagickWand *wand,const char *expression)

A description of each parameter follows:

wand
  the magick wand.
expression
  the expression.

## MagickCharcoalImage

MagickCharcoalImage() simulates a charcoal drawing.

The format of the MagickCharcoalImage method is:

    MagickBooleanType MagickCharcoalImage(MagickWand *wand,
      const double radius,const double sigma)

A description of each parameter follows:

wand
  the magick wand.
radius
  the radius of the Gaussian, in pixels, not counting the center pixel.
sigma
  the standard deviation of the Gaussian, in pixels.

## MagickChopImage

MagickChopImage() removes a region of an image and collapses the image to occupy the removed portion

The format of the MagickChopImage method is:

    MagickBooleanType MagickChopImage(MagickWand *wand,
      const size_t width,const size_t height,const ssize_t x,
      const ssize_t y)

A description of each parameter follows:

wand
  the magick wand.
width
  the region width.
height
  the region height.
x
  the region x offset.
y
  the region y offset.

## MagickCLAHEImage

MagickCLAHEImage() is a variant of adaptive histogram equalization in which the contrast amplification is limited, so as to reduce this problem of noise amplification.

The format of the CLAHEImage method is:

    MagickBooleanType MagickCLAHEImage(MagickWand *wand,const size_t width,
      const size_t height,const double number_bins,const double clip_limit)

A description of each parameter follows:

wand
  the magick wand.
width
  the width of the tile divisions to use in horizontal direction.
height
  the height of the tile divisions to use in vertical direction.
number_bins
  number of bins for histogram ("dynamic range"). Although parameter is currently a double, it is cast to size_t internally.
clip_limit
  contrast limit for localised changes in contrast. A limit less than 1 results in standard non-contrast limited AHE.

## MagickClampImage

MagickClampImage() restricts the color range from 0 to the quantum depth.

The format of the MagickClampImage method is:

    MagickBooleanType MagickClampImage(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.
channel
  the channel.

## MagickClipImage

MagickClipImage() clips along the first path from the 8BIM profile, if present.

The format of the MagickClipImage method is:

    MagickBooleanType MagickClipImage(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickClipImagePath

MagickClipImagePath() clips along the named paths from the 8BIM profile, if present. Later operations take effect inside the path. Id may be a number if preceded with #, to work on a numbered path, e.g., "#1" to use the first path.

The format of the MagickClipImagePath method is:

    MagickBooleanType MagickClipImagePath(MagickWand *wand,
      const char *pathname,const MagickBooleanType inside)

A description of each parameter follows:

wand
  the magick wand.
pathname
  name of clipping path resource. If name is preceded by #, use clipping path numbered by name.
inside
  if non-zero, later operations take effect inside clipping path. Otherwise later operations take effect outside clipping path.

## MagickClutImage

MagickClutImage() replaces colors in the image from a color lookup table.

The format of the MagickClutImage method is:

    MagickBooleanType MagickClutImage(MagickWand *wand,
      const MagickWand *clut_wand,const PixelInterpolateMethod method)

A description of each parameter follows:

wand
  the magick wand.
clut_image
  the clut image.
method
  the pixel interpolation method.

## MagickCoalesceImages

MagickCoalesceImages() composites a set of images while respecting any page offsets and disposal methods. GIF, MIFF, and MNG animation sequences typically start with an image background and each subsequent image varies in size and offset. MagickCoalesceImages() returns a new sequence where each image in the sequence is the same size as the first and composited with the next image in the sequence.

The format of the MagickCoalesceImages method is:

    MagickWand *MagickCoalesceImages(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickColorDecisionListImage

MagickColorDecisionListImage() accepts a lightweight Color Correction Collection (CCC) file which solely contains one or more color corrections and applies the color correction to the image. Here is a sample CCC file:

        <ColorCorrectionCollection xmlns="urn:ASC:CDL:v1.2">
        <ColorCorrection id="cc03345">
              <SOPNode>
                   <Slope> 0.9 1.2 0.5 </Slope>
                   <Offset> 0.4 -0.5 0.6 </Offset>
                   <Power> 1.0 0.8 1.5 </Power>
              </SOPNode>
              <SATNode>
                   <Saturation> 0.85 </Saturation>
              </SATNode>
        </ColorCorrection>
        </ColorCorrectionCollection>

which includes the offset, slope, and power for each of the RGB channels as well as the saturation.

The format of the MagickColorDecisionListImage method is:

    MagickBooleanType MagickColorDecisionListImage(MagickWand *wand,
      const char *color_correction_collection)

A description of each parameter follows:

wand
  the magick wand.
color_correction_collection
  the color correction collection in XML.

## MagickColorizeImage

MagickColorizeImage() blends the fill color with each pixel in the image.

The format of the MagickColorizeImage method is:

    MagickBooleanType MagickColorizeImage(MagickWand *wand,
      const PixelWand *colorize,const PixelWand *blend)

A description of each parameter follows:

wand
  the magick wand.
colorize
  the colorize pixel wand.
alpha
  the alpha pixel wand.

## MagickColorMatrixImage

MagickColorMatrixImage() apply color transformation to an image. The method permits saturation changes, hue rotation, luminance to alpha, and various other effects. Although variable-sized transformation matrices can be used, typically one uses a 5x5 matrix for an RGBA image and a 6x6 for CMYKA (or RGBA with offsets). The matrix is similar to those used by Adobe Flash except offsets are in column 6 rather than 5 (in support of CMYKA images) and offsets are normalized (divide Flash offset by 255).

The format of the MagickColorMatrixImage method is:

    MagickBooleanType MagickColorMatrixImage(MagickWand *wand,
      const KernelInfo *color_matrix)

A description of each parameter follows:

wand
  the magick wand.
color_matrix
  the color matrix.

## MagickColorThresholdImage

MagickColorThresholdImage() forces all pixels in the color range to white otherwise black.

The format of the MagickColorThresholdImage method is:

    MagickBooleanType MagickColorThresholdImage(MagickWand *wand,
      const PixelWand *start_color,const PixelWand *stop_color)

A description of each parameter follows:

wand
  the magick wand.
start_color
  the start color pixel wand.
stop_color
  the stop color pixel wand.

## MagickCombineImages

MagickCombineImages() combines one or more images into a single image. The grayscale value of the pixels of each image in the sequence is assigned in order to the specified channels of the combined image. The typical ordering would be image 1 => Red, 2 => Green, 3 => Blue, etc.

The format of the MagickCombineImages method is:

    MagickWand *MagickCombineImages(MagickWand *wand,
      const ColorspaceType colorspace)

A description of each parameter follows:

wand
  the magick wand.
colorspace
  the colorspace.

## MagickCommentImage

MagickCommentImage() adds a comment to your image.

The format of the MagickCommentImage method is:

    MagickBooleanType MagickCommentImage(MagickWand *wand,
      const char *comment)

A description of each parameter follows:

wand
  the magick wand.
comment
  the image comment.

## MagickCompareImagesLayers

MagickCompareImagesLayers() compares each image with the next in a sequence and returns the maximum bounding region of any pixel differences it discovers.

The format of the MagickCompareImagesLayers method is:

    MagickWand *MagickCompareImagesLayers(MagickWand *wand,
      const LayerMethod method)

A description of each parameter follows:

wand
  the magick wand.
method
  the compare method.

## MagickCompareImages

MagickCompareImages() compares an image to a reconstructed image and returns the specified difference image.

The format of the MagickCompareImages method is:

    MagickWand *MagickCompareImages(MagickWand *wand,
      const MagickWand *reference,const MetricType metric,
      double *distortion)

A description of each parameter follows:

wand
  the magick wand.
reference
  the reference wand.
metric
  the metric.
distortion
  the computed distortion between the images.

## MagickComplexImages

MagickComplexImages() performs complex mathematics on an image sequence.

The format of the MagickComplexImages method is:

    MagickWand *MagickComplexImages(MagickWand *wand,
      const ComplexOperator op)

A description of each parameter follows:

wand
  the magick wand.
op
  A complex operator. Choose from AddComplexOperator, ConjugateComplexOperator,DivideComplexOperator, MagnitudePhaseComplexOperator,MultiplyComplexOperator, RealImaginaryComplexOperator, SubtractComplexOperator.

## MagickCompositeImage

MagickCompositeImage() composite one image onto another at the specified offset.

The format of the MagickCompositeImage method is:

    MagickBooleanType MagickCompositeImage(MagickWand *wand,
      const MagickWand *source_wand,const CompositeOperator compose,
      const MagickBooleanType clip_to_self,const ssize_t x,const ssize_t y)

A description of each parameter follows:

wand
  the magick wand holding the destination images
source_image
  the magick wand holding source image.
compose
  This operator affects how the composite is applied to the image. The default is Over. These are some of the compose methods available.
  OverCompositeOp InCompositeOp OutCompositeOp AtopCompositeOp XorCompositeOp PlusCompositeOp MinusCompositeOp AddCompositeOp SubtractCompositeOp DifferenceCompositeOp BumpmapCompositeOp CopyCompositeOp DisplaceCompositeOp
clip_to_self
  set to MagickTrue to limit composition to area composed.
x
  the column offset of the composited image.
y
  the row offset of the composited image.

## MagickCompositeImageGravity

MagickCompositeImageGravity() composite one image onto another using the specified gravity.

The format of the MagickCompositeImageGravity method is:

    MagickBooleanType MagickCompositeImageGravity(MagickWand *wand,
      const MagickWand *source_wand,const CompositeOperator compose,
      const GravityType gravity)

A description of each parameter follows:

wand
  the magick wand holding the destination images
source_image
  the magick wand holding source image.
compose
  This operator affects how the composite is applied to the image. The default is Over. These are some of the compose methods available.
  OverCompositeOp InCompositeOp OutCompositeOp AtopCompositeOp XorCompositeOp PlusCompositeOp MinusCompositeOp AddCompositeOp SubtractCompositeOp DifferenceCompositeOp BumpmapCompositeOp CopyCompositeOp DisplaceCompositeOp
gravity
  positioning gravity (NorthWestGravity, NorthGravity, NorthEastGravity, WestGravity, CenterGravity, EastGravity, SouthWestGravity, SouthGravity, SouthEastGravity)

## MagickCompositeLayers

MagickCompositeLayers() composite the images in the source wand over the images in the destination wand in sequence, starting with the current image in both lists.

Each layer from the two image lists are composted together until the end of one of the image lists is reached. The offset of each composition is also adjusted to match the virtual canvas offsets of each layer. As such the given offset is relative to the virtual canvas, and not the actual image.

Composition uses given x and y offsets, as the 'origin' location of the source images virtual canvas (not the real image) allowing you to compose a list of 'layer images' into the destination images. This makes it well suitable for directly composing 'Clears Frame Animations' or 'Coalesced Animations' onto a static or other 'Coalesced Animation' destination image list. GIF disposal handling is not looked at.

Special case:- If one of the image sequences is the last image (just a single image remaining), that image is repeatedly composed with all the images in the other image list. Either the source or destination lists may be the single image, for this situation.

In the case of a single destination image (or last image given), that image will ve cloned to match the number of images remaining in the source image list.

This is equivalent to the "-layer Composite" Shell API operator.

The format of the MagickCompositeLayers method is:

    MagickBooleanType MagickCompositeLayers(MagickWand *wand,
      const MagickWand *source_wand, const CompositeOperator compose,
      const ssize_t x,const ssize_t y)

A description of each parameter follows:

wand
  the magick wand holding destination images
source_wand
  the wand holding the source images
compose, x, y
  composition arguments

## MagickConnectedComponentsImage

MagickConnectedComponentsImage() returns the connected-components of the image uniquely labeled. The returned connected components image colors member defines the number of unique objects. Choose from 4 or 8-way connectivity.

The format of the MagickConnectedComponentsImage method is:

    MagickBooleanType MagickConnectedComponentsImage(MagickWand *wand,
      const size_t connectivity,CCObjectInfo **objects)

A description of each parameter follows:

wand
  the magick wand.
connectivity
  how many neighbors to visit, choose from 4 or 8.
objects
  return the attributes of each unique object.

## MagickContrastImage

MagickContrastImage() enhances the intensity differences between the lighter and darker elements of the image. Set sharpen to a value other than 0 to increase the image contrast otherwise the contrast is reduced.

The format of the MagickContrastImage method is:

    MagickBooleanType MagickContrastImage(MagickWand *wand,
      const MagickBooleanType sharpen)

A description of each parameter follows:

wand
  the magick wand.
sharpen
  Increase or decrease image contrast.

## MagickContrastStretchImage

MagickContrastStretchImage() enhances the contrast of a color image by adjusting the pixels color to span the entire range of colors available. You can also reduce the influence of a particular channel with a gamma value of 0.

The format of the MagickContrastStretchImage method is:

    MagickBooleanType MagickContrastStretchImage(MagickWand *wand,
      const double black_point,const double white_point)

A description of each parameter follows:

wand
  the magick wand.
black_point
  the black point.
white_point
  the white point.

## MagickConvolveImage

MagickConvolveImage() applies a custom convolution kernel to the image.

The format of the MagickConvolveImage method is:

    MagickBooleanType MagickConvolveImage(MagickWand *wand,
      const KernelInfo *kernel)

A description of each parameter follows:

wand
  the magick wand.
kernel
  An array of doubles representing the convolution kernel.

## MagickCropImage

MagickCropImage() extracts a region of the image.

The format of the MagickCropImage method is:

    MagickBooleanType MagickCropImage(MagickWand *wand,
      const size_t width,const size_t height,const ssize_t x,const ssize_t y)

A description of each parameter follows:

wand
  the magick wand.
width
  the region width.
height
  the region height.
x
  the region x-offset.
y
  the region y-offset.

## MagickCycleColormapImage

MagickCycleColormapImage() displaces an image's colormap by a given number of positions. If you cycle the colormap a number of times you can produce a psychodelic effect.

The format of the MagickCycleColormapImage method is:

    MagickBooleanType MagickCycleColormapImage(MagickWand *wand,
      const ssize_t displace)

A description of each parameter follows:

wand
  the magick wand.
pixel_wand
  the pixel wand.

## MagickConstituteImage

MagickConstituteImage() adds an image to the wand comprised of the pixel data you supply. The pixel data must be in scanline order top-to-bottom. The data can be char, short int, int, float, or double. Float and double require the pixels to be normalized [0..1], otherwise [0..Max], where Max is the maximum value the type can accomodate (e.g. 255 for char). For example, to create a 640x480 image from unsigned red-green-blue character data, use

MagickConstituteImage(wand,640,480,"RGB",CharPixel,pixels);

The format of the MagickConstituteImage method is:

    MagickBooleanType MagickConstituteImage(MagickWand *wand,
      const size_t columns,const size_t rows,const char *map,
      const StorageType storage,void *pixels)

A description of each parameter follows:

wand
  the magick wand.
columns
  width in pixels of the image.
rows
  height in pixels of the image.
map
  This string reflects the expected ordering of the pixel array. It can be any combination or order of R = red, G = green, B = blue, A = alpha (0 is transparent), O = alpha (0 is opaque), C = cyan, Y = yellow, M = magenta, K = black, I = intensity (for grayscale), P = pad.
storage
  Define the data type of the pixels. Float and double types are expected to be normalized [0..1] otherwise [0..QuantumRange]. Choose from these types: CharPixel, DoublePixel, FloatPixel, IntegerPixel, LongPixel, QuantumPixel, or ShortPixel.
pixels
  This array of values contain the pixel components as defined by map and type. You must preallocate this array where the expected length varies depending on the values of width, height, map, and type.

## MagickDecipherImage

MagickDecipherImage() converts cipher pixels to plain pixels.

The format of the MagickDecipherImage method is:

    MagickBooleanType MagickDecipherImage(MagickWand *wand,
      const char *passphrase)

A description of each parameter follows:

wand
  the magick wand.
passphrase
  the passphrase.

## MagickDeconstructImages

MagickDeconstructImages() compares each image with the next in a sequence and returns the maximum bounding region of any pixel differences it discovers.

The format of the MagickDeconstructImages method is:

    MagickWand *MagickDeconstructImages(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickDeskewImage

MagickDeskewImage() removes skew from the image. Skew is an artifact that occurs in scanned images because of the camera being misaligned, imperfections in the scanning or surface, or simply because the paper was not placed completely flat when scanned.

The format of the MagickDeskewImage method is:

    MagickBooleanType MagickDeskewImage(MagickWand *wand,
      const double threshold)

A description of each parameter follows:

wand
  the magick wand.
threshold
  separate background from foreground.

## MagickDespeckleImage

MagickDespeckleImage() reduces the speckle noise in an image while preserving the edges of the original image.

The format of the MagickDespeckleImage method is:

    MagickBooleanType MagickDespeckleImage(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickDestroyImage

MagickDestroyImage() dereferences an image, deallocating memory associated with the image if the reference count becomes zero.

The format of the MagickDestroyImage method is:

    Image *MagickDestroyImage(Image *image)

A description of each parameter follows:

image
  the image.

## MagickDisplayImage

MagickDisplayImage() displays an image.

The format of the MagickDisplayImage method is:

    MagickBooleanType MagickDisplayImage(MagickWand *wand,
      const char *server_name)

A description of each parameter follows:

wand
  the magick wand.
server_name
  the X server name.

## MagickDisplayImages

MagickDisplayImages() displays an image or image sequence.

The format of the MagickDisplayImages method is:

    MagickBooleanType MagickDisplayImages(MagickWand *wand,
      const char *server_name)

A description of each parameter follows:

wand
  the magick wand.
server_name
  the X server name.

## MagickDistortImage

MagickDistortImage() distorts an image using various distortion methods, by mapping color lookups of the source image to a new destination image usually of the same size as the source image, unless 'bestfit' is set to true.

If 'bestfit' is enabled, and distortion allows it, the destination image is adjusted to ensure the whole source 'image' will just fit within the final destination image, which will be sized and offset accordingly. Also in many cases the virtual offset of the source image will be taken into account in the mapping.

The format of the MagickDistortImage method is:

    MagickBooleanType MagickDistortImage(MagickWand *wand,
      const DistortMethod method,const size_t number_arguments,
      const double *arguments,const MagickBooleanType bestfit)

A description of each parameter follows:

image
  the image to be distorted.
method
  the method of image distortion.
  ArcDistortion always ignores the source image offset, and always 'bestfit' the destination image with the top left corner offset relative to the polar mapping center.
  Bilinear has no simple inverse mapping so it does not allow 'bestfit' style of image distortion.
  Affine, Perspective, and Bilinear, do least squares fitting of the distortion when more than the minimum number of control point pairs are provided.
  Perspective, and Bilinear, falls back to a Affine distortion when less that 4 control point pairs are provided. While Affine distortions let you use any number of control point pairs, that is Zero pairs is a no-Op (viewport only) distortion, one pair is a translation and two pairs of control points do a scale-rotate-translate, without any shearing.
number_arguments
  the number of arguments given for this distortion method.
arguments
  the arguments for this distortion method.
bestfit
  Attempt to resize destination to fit distorted source.

## MagickDrawImage

MagickDrawImage() renders the drawing wand on the current image.

The format of the MagickDrawImage method is:

    MagickBooleanType MagickDrawImage(MagickWand *wand,
      const DrawingWand *drawing_wand)

A description of each parameter follows:

wand
  the magick wand.
drawing_wand
  the draw wand.

## MagickEdgeImage

MagickEdgeImage() enhance edges within the image with a convolution filter of the given radius. Use a radius of 0 and Edge() selects a suitable radius for you.

The format of the MagickEdgeImage method is:

    MagickBooleanType MagickEdgeImage(MagickWand *wand,const double radius)

A description of each parameter follows:

wand
  the magick wand.
radius
  the radius of the pixel neighborhood.

## MagickEmbossImage

MagickEmbossImage() returns a grayscale image with a three-dimensional effect. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. Use a radius of 0 and Emboss() selects a suitable radius for you.

The format of the MagickEmbossImage method is:

    MagickBooleanType MagickEmbossImage(MagickWand *wand,const double radius,
      const double sigma)

A description of each parameter follows:

wand
  the magick wand.
radius
  the radius of the Gaussian, in pixels, not counting the center pixel.
sigma
  the standard deviation of the Gaussian, in pixels.

## MagickEncipherImage

MagickEncipherImage() converts plaint pixels to cipher pixels.

The format of the MagickEncipherImage method is:

    MagickBooleanType MagickEncipherImage(MagickWand *wand,
      const char *passphrase)

A description of each parameter follows:

wand
  the magick wand.
passphrase
  the passphrase.

## MagickEnhanceImage

MagickEnhanceImage() applies a digital filter that improves the quality of a noisy image.

The format of the MagickEnhanceImage method is:

    MagickBooleanType MagickEnhanceImage(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickEqualizeImage

MagickEqualizeImage() equalizes the image histogram.

The format of the MagickEqualizeImage method is:

    MagickBooleanType MagickEqualizeImage(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.
channel
  the image channel(s).

## MagickEvaluateImage

MagickEvaluateImage() applies an arithmetic, relational, or logical expression to an image. Use these operators to lighten or darken an image, to increase or decrease contrast in an image, or to produce the "negative" of an image.

The format of the MagickEvaluateImage method is:

    MagickBooleanType MagickEvaluateImage(MagickWand *wand,
      const MagickEvaluateOperator operator,const double value)
    MagickBooleanType MagickEvaluateImages(MagickWand *wand,
      const MagickEvaluateOperator operator)

A description of each parameter follows:

wand
  the magick wand.
op
  A channel operator.
value
  A value value.

## MagickExportImagePixels

MagickExportImagePixels() extracts pixel data from an image and returns it to you. The method returns MagickTrue on success otherwise MagickFalse if an error is encountered. The data is returned as char, short int, int, ssize_t, float, or double in the order specified by map.

Suppose you want to extract the first scanline of a 640x480 image as character data in red-green-blue order:

    MagickExportImagePixels(wand,0,0,640,1,"RGB",CharPixel,pixels);

The format of the MagickExportImagePixels method is:

    MagickBooleanType MagickExportImagePixels(MagickWand *wand,
      const ssize_t x,const ssize_t y,const size_t columns,
      const size_t rows,const char *map,const StorageType storage,
      void *pixels)

A description of each parameter follows:

wand
  the magick wand.
x, y, columns, rows
  These values define the perimeter of a region of pixels you want to extract.
map
  This string reflects the expected ordering of the pixel array. It can be any combination or order of R = red, G = green, B = blue, A = alpha (0 is transparent), O = alpha (0 is opaque), C = cyan, Y = yellow, M = magenta, K = black, I = intensity (for grayscale), P = pad.
storage
  Define the data type of the pixels. Float and double types are expected to be normalized [0..1] otherwise [0..QuantumRange]. Choose from these types: CharPixel, DoublePixel, FloatPixel, IntegerPixel, LongPixel, QuantumPixel, or ShortPixel.
pixels
  This array of values contain the pixel components as defined by map and type. You must preallocate this array where the expected length varies depending on the values of width, height, map, and type.

## MagickExtentImage

MagickExtentImage() extends the image as defined by the geometry, gravity, and wand background color. Set the (x,y) offset of the geometry to move the original wand relative to the extended wand.

The format of the MagickExtentImage method is:

    MagickBooleanType MagickExtentImage(MagickWand *wand,const size_t width,
      const size_t height,const ssize_t x,const ssize_t y)

A description of each parameter follows:

wand
  the magick wand.
width
  the region width.
height
  the region height.
x
  the region x offset.
y
  the region y offset.

## MagickFlipImage

MagickFlipImage() creates a vertical mirror image by reflecting the pixels around the central x-axis.

The format of the MagickFlipImage method is:

    MagickBooleanType MagickFlipImage(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickFloodfillPaintImage

MagickFloodfillPaintImage() changes the color value of any pixel that matches target and is an immediate neighbor. If the method FillToBorderMethod is specified, the color value is changed for any neighbor pixel that does not match the bordercolor member of image.

The format of the MagickFloodfillPaintImage method is:

    MagickBooleanType MagickFloodfillPaintImage(MagickWand *wand,
      const PixelWand *fill,const double fuzz,const PixelWand *bordercolor,
      const ssize_t x,const ssize_t y,const MagickBooleanType invert)

A description of each parameter follows:

wand
  the magick wand.
fill
  the floodfill color pixel wand.
fuzz
  By default target must match a particular pixel color exactly. However, in many cases two colors may differ by a small amount. The fuzz member of image defines how much tolerance is acceptable to consider two colors as the same. For example, set fuzz to 10 and the color red at intensities of 100 and 102 respectively are now interpreted as the same color for the purposes of the floodfill.
bordercolor
  the border color pixel wand.
x,y
  the starting location of the operation.
invert
  paint any pixel that does not match the target color.

## MagickFlopImage

MagickFlopImage() creates a horizontal mirror image by reflecting the pixels around the central y-axis.

The format of the MagickFlopImage method is:

    MagickBooleanType MagickFlopImage(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickForwardFourierTransformImage

MagickForwardFourierTransformImage() implements the discrete Fourier transform (DFT) of the image either as a magnitude / phase or real / imaginary image pair.

The format of the MagickForwardFourierTransformImage method is:

    MagickBooleanType MagickForwardFourierTransformImage(MagickWand *wand,
      const MagickBooleanType magnitude)

A description of each parameter follows:

wand
  the magick wand.
magnitude
  if true, return as magnitude / phase pair otherwise a real / imaginary image pair.

## MagickFrameImage

MagickFrameImage() adds a simulated three-dimensional border around the image. The width and height specify the border width of the vertical and horizontal sides of the frame. The inner and outer bevels indicate the width of the inner and outer shadows of the frame.

The format of the MagickFrameImage method is:

    MagickBooleanType MagickFrameImage(MagickWand *wand,
      const PixelWand *matte_color,const size_t width,
      const size_t height,const ssize_t inner_bevel,
      const ssize_t outer_bevel,const CompositeOperator compose)

A description of each parameter follows:

wand
  the magick wand.
matte_color
  the frame color pixel wand.
width
  the border width.
height
  the border height.
inner_bevel
  the inner bevel width.
outer_bevel
  the outer bevel width.
compose
  the composite operator.

## MagickFunctionImage

MagickFunctionImage() applies an arithmetic, relational, or logical expression to an image. Use these operators to lighten or darken an image, to increase or decrease contrast in an image, or to produce the "negative" of an image.

The format of the MagickFunctionImage method is:

    MagickBooleanType MagickFunctionImage(MagickWand *wand,
      const MagickFunction function,const size_t number_arguments,
      const double *arguments)

A description of each parameter follows:

wand
  the magick wand.
function
  the image function.
number_arguments
  the number of function arguments.
arguments
  the function arguments.

## MagickFxImage

MagickFxImage() evaluate expression for each pixel in the image.

The format of the MagickFxImage method is:

    MagickWand *MagickFxImage(MagickWand *wand,const char *expression)

A description of each parameter follows:

wand
  the magick wand.
expression
  the expression.

## MagickGammaImage

MagickGammaImage() gamma-corrects an image. The same image viewed on different devices will have perceptual differences in the way the image's intensities are represented on the screen. Specify individual gamma levels for the red, green, and blue channels, or adjust all three with the gamma parameter. Values typically range from 0.8 to 2.3.

You can also reduce the influence of a particular channel with a gamma value of 0.

The format of the MagickGammaImage method is:

    MagickBooleanType MagickGammaImage(MagickWand *wand,const double gamma)

A description of each parameter follows:

wand
  the magick wand.
level
  Define the level of gamma correction.

## MagickGaussianBlurImage

MagickGaussianBlurImage() blurs an image. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, the radius should be larger than sigma. Use a radius of 0 and MagickGaussianBlurImage() selects a suitable radius for you.

The format of the MagickGaussianBlurImage method is:

    MagickBooleanType MagickGaussianBlurImage(MagickWand *wand,
      const double radius,const double sigma)

A description of each parameter follows:

wand
  the magick wand.
radius
  the radius of the Gaussian, in pixels, not counting the center pixel.
sigma
  the standard deviation of the Gaussian, in pixels.

## MagickGetImage

MagickGetImage() gets the image at the current image index.

The format of the MagickGetImage method is:

    MagickWand *MagickGetImage(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickGetImageAlphaChannel

MagickGetImageAlphaChannel() returns MagickFalse if the image alpha channel is not activated. That is, the image is RGB rather than RGBA or CMYK rather than CMYKA.

The format of the MagickGetImageAlphaChannel method is:

    MagickBooleanType MagickGetImageAlphaChannel(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickGetImageMask

MagickGetImageMask() gets the image clip mask at the current image index.

The format of the MagickGetImageMask method is:

    MagickWand *MagickGetImageMask(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.
type
  type of mask, ReadPixelMask or WritePixelMask.

## MagickGetImageBackgroundColor

MagickGetImageBackgroundColor() returns the image background color.

The format of the MagickGetImageBackgroundColor method is:

    MagickBooleanType MagickGetImageBackgroundColor(MagickWand *wand,
      PixelWand *background_color)

A description of each parameter follows:

wand
  the magick wand.
background_color
  Return the background color.

## MagickGetImageBlob

MagickGetImageBlob() implements direct to memory image formats. It returns the image as a blob (a formatted "file" in memory) and its length, starting from the current position in the image sequence. Use MagickSetImageFormat() to set the format to write to the blob (GIF, JPEG, PNG, etc.).

Utilize MagickResetIterator() to ensure the write is from the beginning of the image sequence.

Use MagickRelinquishMemory() to free the blob when you are done with it.

The format of the MagickGetImageBlob method is:

    unsigned char *MagickGetImageBlob(MagickWand *wand,size_t *length)

A description of each parameter follows:

wand
  the magick wand.
length
  the length of the blob.

## MagickGetImagesBlob

MagickGetImagesBlob() implements direct to memory image formats. It returns the image sequence as a blob and its length. The format of the image determines the format of the returned blob (GIF, JPEG, PNG, etc.). To return a different image format, use MagickSetImageFormat().

Note, some image formats do not permit multiple images to the same image stream (e.g. JPEG). in this instance, just the first image of the sequence is returned as a blob.

The format of the MagickGetImagesBlob method is:

    unsigned char *MagickGetImagesBlob(MagickWand *wand,size_t *length)

A description of each parameter follows:

wand
  the magick wand.
length
  the length of the blob.

## MagickGetImageBluePrimary

MagickGetImageBluePrimary() returns the chromaticity blue primary point for the image.

The format of the MagickGetImageBluePrimary method is:

    MagickBooleanType MagickGetImageBluePrimary(MagickWand *wand,double *x,
      double *y,double *z)

A description of each parameter follows:

wand
  the magick wand.
x
  the chromaticity blue primary x-point.
y
  the chromaticity blue primary y-point.
z
  the chromaticity blue primary z-point.

## MagickGetImageBorderColor

MagickGetImageBorderColor() returns the image border color.

The format of the MagickGetImageBorderColor method is:

    MagickBooleanType MagickGetImageBorderColor(MagickWand *wand,
      PixelWand *border_color)

A description of each parameter follows:

wand
  the magick wand.
border_color
  Return the border color.

## MagickGetImageFeatures

MagickGetImageFeatures() returns features for each channel in the image in each of four directions (horizontal, vertical, left and right diagonals) for the specified distance. The features include the angular second moment, contrast, correlation, sum of squares: variance, inverse difference moment, sum average, sum variance, sum entropy, entropy, difference variance, difference entropy, information measures of correlation 1, information measures of correlation 2, and maximum correlation coefficient. You can access the red channel contrast, for example, like this:

    channel_features=MagickGetImageFeatures(wand,1);
    contrast=channel_features[RedPixelChannel].contrast[0];

Use MagickRelinquishMemory() to free the statistics buffer.

The format of the MagickGetImageFeatures method is:

    ChannelFeatures *MagickGetImageFeatures(MagickWand *wand,
      const size_t distance)

A description of each parameter follows:

wand
  the magick wand.
distance
  the distance.

## MagickGetImageKurtosis

MagickGetImageKurtosis() gets the kurtosis and skewness of one or more image channels.

The format of the MagickGetImageKurtosis method is:

    MagickBooleanType MagickGetImageKurtosis(MagickWand *wand,
      double *kurtosis,double *skewness)

A description of each parameter follows:

wand
  the magick wand.
kurtosis
  The kurtosis for the specified channel(s).
skewness
  The skewness for the specified channel(s).

## MagickGetImageMean

MagickGetImageMean() gets the mean and standard deviation of one or more image channels.

The format of the MagickGetImageMean method is:

    MagickBooleanType MagickGetImageMean(MagickWand *wand,double *mean,
      double *standard_deviation)

A description of each parameter follows:

wand
  the magick wand.
channel
  the image channel(s).
mean
  The mean pixel value for the specified channel(s).
standard_deviation
  The standard deviation for the specified channel(s).

## MagickGetImageRange

MagickGetImageRange() gets the range for one or more image channels.

The format of the MagickGetImageRange method is:

    MagickBooleanType MagickGetImageRange(MagickWand *wand,double *minima,
      double *maxima)

A description of each parameter follows:

wand
  the magick wand.
minima
  The minimum pixel value for the specified channel(s).
maxima
  The maximum pixel value for the specified channel(s).

## MagickGetImageStatistics

MagickGetImageStatistics() returns statistics for each channel in the image. The statistics include the channel depth, its minima and maxima, the mean, the standard deviation, the kurtosis and the skewness. You can access the red channel mean, for example, like this:

    channel_statistics=MagickGetImageStatistics(wand);
    red_mean=channel_statistics[RedPixelChannel].mean;

Use MagickRelinquishMemory() to free the statistics buffer.

The format of the MagickGetImageStatistics method is:

    ChannelStatistics *MagickGetImageStatistics(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickGetImageColormapColor

MagickGetImageColormapColor() returns the color of the specified colormap index.

The format of the MagickGetImageColormapColor method is:

    MagickBooleanType MagickGetImageColormapColor(MagickWand *wand,
      const size_t index,PixelWand *color)

A description of each parameter follows:

wand
  the magick wand.
index
  the offset into the image colormap.
color
  Return the colormap color in this wand.

## MagickGetImageColors

MagickGetImageColors() gets the number of unique colors in the image.

The format of the MagickGetImageColors method is:

    size_t MagickGetImageColors(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickGetImageColorspace

MagickGetImageColorspace() gets the image colorspace.

The format of the MagickGetImageColorspace method is:

    ColorspaceType MagickGetImageColorspace(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickGetImageCompose

MagickGetImageCompose() returns the composite operator associated with the image.

The format of the MagickGetImageCompose method is:

    CompositeOperator MagickGetImageCompose(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickGetImageCompression

MagickGetImageCompression() gets the image compression.

The format of the MagickGetImageCompression method is:

    CompressionType MagickGetImageCompression(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickGetImageCompressionQuality

MagickGetImageCompressionQuality() gets the image compression quality.

The format of the MagickGetImageCompressionQuality method is:

    size_t MagickGetImageCompressionQuality(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickGetImageDelay

MagickGetImageDelay() gets the image delay.

The format of the MagickGetImageDelay method is:

    size_t MagickGetImageDelay(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickGetImageDepth

MagickGetImageDepth() gets the image depth.

The format of the MagickGetImageDepth method is:

    size_t MagickGetImageDepth(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickGetImageDispose

MagickGetImageDispose() gets the image disposal method.

The format of the MagickGetImageDispose method is:

    DisposeType MagickGetImageDispose(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickGetImageDistortion

MagickGetImageDistortion() compares an image to a reconstructed image and returns the specified distortion metric.

The format of the MagickGetImageDistortion method is:

    MagickBooleanType MagickGetImageDistortion(MagickWand *wand,
      const MagickWand *reference,const MetricType metric,
      double *distortion)

A description of each parameter follows:

wand
  the magick wand.
reference
  the reference wand.
metric
  the metric.
distortion
  the computed distortion between the images.

## MagickGetImageDistortions

MagickGetImageDistortions() compares one or more pixel channels of an image to a reconstructed image and returns the specified distortion metrics.

Use MagickRelinquishMemory() to free the metrics when you are done with them.

The format of the MagickGetImageDistortion method is:

    double *MagickGetImageDistortion(MagickWand *wand,
      const MagickWand *reference,const MetricType metric)

A description of each parameter follows:

wand
  the magick wand.
reference
  the reference wand.
metric
  the metric.

## MagickGetImageEndian

MagickGetImageEndian() gets the image endian.

The format of the MagickGetImageEndian method is:

    EndianType MagickGetImageEndian(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickGetImageFilename

MagickGetImageFilename() returns the filename of a particular image in a sequence.

The format of the MagickGetImageFilename method is:

    char *MagickGetImageFilename(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickGetImageFilter

MagickGetImageFilter() gets the image filter.

The format of the MagickGetImageFilter method is:

    FilterType MagickGetImageFilter(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickGetImageFormat

MagickGetImageFormat() returns the format of a particular image in a sequence.

The format of the MagickGetImageFormat method is:

    char *MagickGetImageFormat(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickGetImageFuzz

MagickGetImageFuzz() gets the image fuzz.

The format of the MagickGetImageFuzz method is:

    double MagickGetImageFuzz(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickGetImageGamma

MagickGetImageGamma() gets the image gamma.

The format of the MagickGetImageGamma method is:

    double MagickGetImageGamma(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickGetImageGravity

MagickGetImageGravity() gets the image gravity.

The format of the MagickGetImageGravity method is:

    GravityType MagickGetImageGravity(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickGetImageGreenPrimary

MagickGetImageGreenPrimary() returns the chromaticity green primary point.

The format of the MagickGetImageGreenPrimary method is:

    MagickBooleanType MagickGetImageGreenPrimary(MagickWand *wand,double *x,
      double *y,double *z)

A description of each parameter follows:

wand
  the magick wand.
x
  the chromaticity green primary x-point.
y
  the chromaticity green primary y-point.
z
  the chromaticity green primary z-point.

## MagickGetImageHeight

MagickGetImageHeight() returns the image height.

The format of the MagickGetImageHeight method is:

    size_t MagickGetImageHeight(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickGetImageHistogram

MagickGetImageHistogram() returns the image histogram as an array of PixelWand wands.

The format of the MagickGetImageHistogram method is:

    PixelWand **MagickGetImageHistogram(MagickWand *wand,
      size_t *number_colors)

A description of each parameter follows:

wand
  the magick wand.
number_colors
  the number of unique colors in the image and the number of pixel wands returned.

## MagickGetImageInterlaceScheme

MagickGetImageInterlaceScheme() gets the image interlace scheme.

The format of the MagickGetImageInterlaceScheme method is:

    InterlaceType MagickGetImageInterlaceScheme(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickGetImageInterpolateMethod

MagickGetImageInterpolateMethod() returns the interpolation method for the specified image.

The format of the MagickGetImageInterpolateMethod method is:

    PixelInterpolateMethod MagickGetImageInterpolateMethod(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickGetImageIterations

MagickGetImageIterations() gets the image iterations.

The format of the MagickGetImageIterations method is:

    size_t MagickGetImageIterations(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickGetImageLength

MagickGetImageLength() returns the image length in bytes.

The format of the MagickGetImageLength method is:

    MagickBooleanType MagickGetImageLength(MagickWand *wand,
      MagickSizeType *length)

A description of each parameter follows:

wand
  the magick wand.
length
  the image length in bytes.

## MagickGetImageMatteColor

MagickGetImageMatteColor() returns the image matte color.

The format of the MagickGetImageMatteColor method is:

    MagickBooleanType MagickGetImageMatteColor(MagickWand *wand,
      PixelWand *matte_color)

A description of each parameter follows:

wand
  the magick wand.
matte_color
  return the alpha color.

## MagickGetImageOrientation

MagickGetImageOrientation() returns the image orientation.

The format of the MagickGetImageOrientation method is:

    OrientationType MagickGetImageOrientation(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickGetImagePage

MagickGetImagePage() returns the page geometry associated with the image.

The format of the MagickGetImagePage method is:

    MagickBooleanType MagickGetImagePage(MagickWand *wand,
      size_t *width,size_t *height,ssize_t *x,ssize_t *y)

A description of each parameter follows:

wand
  the magick wand.
width
  the page width.
height
  the page height.
x
  the page x-offset.
y
  the page y-offset.

## MagickGetImagePixelColor

MagickGetImagePixelColor() gets the color of the specified pixel.

The format of the MagickGetImagePixelColor method is:

    MagickBooleanType MagickGetImagePixelColor(MagickWand *wand,
      const ssize_t x,const ssize_t y,PixelWand *color)

A description of each parameter follows:

wand
  the magick wand.
x,y
  the pixel offset into the image.
color
  Return the colormap color in this wand.

## MagickGetImageRedPrimary

MagickGetImageRedPrimary() returns the chromaticity red primary point.

The format of the MagickGetImageRedPrimary method is:

    MagickBooleanType MagickGetImageRedPrimary(MagickWand *wand,double *x,
      double *y, double *z)

A description of each parameter follows:

wand
  the magick wand.
x
  the chromaticity red primary x-point.
y
  the chromaticity red primary y-point.
z
  the chromaticity red primary z-point.

## MagickGetImageRegion

MagickGetImageRegion() extracts a region of the image and returns it as a a new wand.

The format of the MagickGetImageRegion method is:

    MagickWand *MagickGetImageRegion(MagickWand *wand,
      const size_t width,const size_t height,const ssize_t x,
      const ssize_t y)

A description of each parameter follows:

wand
  the magick wand.
width
  the region width.
height
  the region height.
x
  the region x offset.
y
  the region y offset.

## MagickGetImageRenderingIntent

MagickGetImageRenderingIntent() gets the image rendering intent.

The format of the MagickGetImageRenderingIntent method is:

    RenderingIntent MagickGetImageRenderingIntent(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickGetImageResolution

MagickGetImageResolution() gets the image X and Y resolution.

The format of the MagickGetImageResolution method is:

    MagickBooleanType MagickGetImageResolution(MagickWand *wand,double *x,
      double *y)

A description of each parameter follows:

wand
  the magick wand.
x
  the image x-resolution.
y
  the image y-resolution.

## MagickGetImageScene

MagickGetImageScene() gets the image scene.

The format of the MagickGetImageScene method is:

    size_t MagickGetImageScene(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickGetImageSignature

MagickGetImageSignature() generates an SHA-256 message digest for the image pixel stream.

The format of the MagickGetImageSignature method is:

    char *MagickGetImageSignature(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickGetImageTicksPerSecond

MagickGetImageTicksPerSecond() gets the image ticks-per-second.

The format of the MagickGetImageTicksPerSecond method is:

    size_t MagickGetImageTicksPerSecond(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickGetImageType

MagickGetImageType() gets the potential image type:

Bilevel Grayscale GrayscaleMatte Palette PaletteMatte TrueColor TrueColorMatte ColorSeparation ColorSeparationMatte

The format of the MagickGetImageType method is:

    ImageType MagickGetImageType(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickGetImageUnits

MagickGetImageUnits() gets the image units of resolution.

The format of the MagickGetImageUnits method is:

    ResolutionType MagickGetImageUnits(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickGetImageVirtualPixelMethod

MagickGetImageVirtualPixelMethod() returns the virtual pixel method for the specified image.

The format of the MagickGetImageVirtualPixelMethod method is:

    VirtualPixelMethod MagickGetImageVirtualPixelMethod(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickGetImageWhitePoint

MagickGetImageWhitePoint() returns the chromaticity white point.

The format of the MagickGetImageWhitePoint method is:

    MagickBooleanType MagickGetImageWhitePoint(MagickWand *wand,double *x,
      double *y,double *z)

A description of each parameter follows:

wand
  the magick wand.
x
  the chromaticity white x-point.
y
  the chromaticity white y-point.
z
  the chromaticity white z-point.

## MagickGetImageWidth

MagickGetImageWidth() returns the image width.

The format of the MagickGetImageWidth method is:

    size_t MagickGetImageWidth(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickGetNumberImages

MagickGetNumberImages() returns the number of images associated with a magick wand.

The format of the MagickGetNumberImages method is:

    size_t MagickGetNumberImages(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickGetImageTotalInkDensity

MagickGetImageTotalInkDensity() gets the image total ink density.

The format of the MagickGetImageTotalInkDensity method is:

    double MagickGetImageTotalInkDensity(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickHaldClutImage

MagickHaldClutImage() replaces colors in the image from a Hald color lookup table. A Hald color lookup table is a 3-dimensional color cube mapped to 2 dimensions. Create it with the HALD coder. You can apply any color transformation to the Hald image and then use this method to apply the transform to the image.

The format of the MagickHaldClutImage method is:

    MagickBooleanType MagickHaldClutImage(MagickWand *wand,
      const MagickWand *hald_wand)

A description of each parameter follows:

wand
  the magick wand.
hald_image
  the hald CLUT image.

## MagickHasNextImage

MagickHasNextImage() returns MagickTrue if the wand has more images when traversing the list in the forward direction

The format of the MagickHasNextImage method is:

    MagickBooleanType MagickHasNextImage(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickHasPreviousImage

MagickHasPreviousImage() returns MagickTrue if the wand has more images when traversing the list in the reverse direction

The format of the MagickHasPreviousImage method is:

    MagickBooleanType MagickHasPreviousImage(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickHoughLineImage

MagickHoughLineImage() can be used in conjunction with any binary edge extracted image (we recommend Canny) to identify lines in the image. The algorithm accumulates counts for every white pixel for every possible orientation (for angles from 0 to 179 in 1 degree increments) and distance from the center of the image to the corner (in 1 px increments) and stores the counts in an accumulator matrix of angle vs distance. The size of the accumulator is 180x(diagonal/2). Next it searches this space for peaks in counts and converts the locations of the peaks to slope and intercept in the normal x,y input image space. Use the slope/intercepts to find the endpoints clipped to the bounds of the image. The lines are then drawn. The counts are a measure of the length of the lines.

The format of the MagickHoughLineImage method is:

    MagickBooleanType MagickHoughLineImage(MagickWand *wand,
      const size_t width,const size_t height,const size_t threshold)

A description of each parameter follows:

wand
  the magick wand.
width, height
  find line pairs as local maxima in this neighborhood.
threshold
  the line count threshold.

## MagickIdentifyImage

MagickIdentifyImage() identifies an image by printing its attributes to the file. Attributes include the image width, height, size, and others.

The format of the MagickIdentifyImage method is:

    const char *MagickIdentifyImage(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickIdentifyImageType

MagickIdentifyImageType() gets the potential image type:

Bilevel Grayscale GrayscaleMatte Palette PaletteMatte TrueColor TrueColorMatte ColorSeparation ColorSeparationMatte

To ensure the image type matches its potential, use MagickSetImageType():

        (void) MagickSetImageType(wand,MagickIdentifyImageType(wand));

The format of the MagickIdentifyImageType method is:

    ImageType MagickIdentifyImageType(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickImplodeImage

MagickImplodeImage() creates a new image that is a copy of an existing one with the image pixels "implode" by the specified percentage. It allocates the memory necessary for the new Image structure and returns a pointer to the new image.

The format of the MagickImplodeImage method is:

    MagickBooleanType MagickImplodeImage(MagickWand *wand,
      const double radius,const PixelInterpolateMethod method)

A description of each parameter follows:

wand
  the magick wand.
amount
  Define the extent of the implosion.
method
  the pixel interpolation method.

## MagickImportImagePixels

MagickImportImagePixels() accepts pixel datand stores it in the image at the location you specify. The method returns MagickTrue on success otherwise MagickFalse if an error is encountered. The pixel data can be either char, short int, int, ssize_t, float, or double in the order specified by map.

Suppose your want to upload the first scanline of a 640x480 image from character data in red-green-blue order:

    MagickImportImagePixels(wand,0,0,640,1,"RGB",CharPixel,pixels);

The format of the MagickImportImagePixels method is:

    MagickBooleanType MagickImportImagePixels(MagickWand *wand,
      const ssize_t x,const ssize_t y,const size_t columns,
      const size_t rows,const char *map,const StorageType storage,
      const void *pixels)

A description of each parameter follows:

wand
  the magick wand.
x, y, columns, rows
  These values define the perimeter of a region of pixels you want to define.
map
  This string reflects the expected ordering of the pixel array. It can be any combination or order of R = red, G = green, B = blue, A = alpha (0 is transparent), O = alpha (0 is opaque), C = cyan, Y = yellow, M = magenta, K = black, I = intensity (for grayscale), P = pad.
storage
  Define the data type of the pixels. Float and double types are expected to be normalized [0..1] otherwise [0..QuantumRange]. Choose from these types: CharPixel, ShortPixel, IntegerPixel, LongPixel, FloatPixel, or DoublePixel.
pixels
  This array of values contain the pixel components as defined by map and type. You must preallocate this array where the expected length varies depending on the values of width, height, map, and type.

## MagickInterpolativeResizeImage

MagickInterpolativeResizeImage() resize image using a interpolative method.

MagickBooleanType MagickInterpolativeResizeImage(MagickWand *wand, const size_t columns,const size_t rows, const PixelInterpolateMethod method)

A description of each parameter follows:

wand
  the magick wand.
columns
  the number of columns in the scaled image.
rows
  the number of rows in the scaled image.
interpolate
  the pixel interpolation method.

## MagickInverseFourierTransformImage

MagickInverseFourierTransformImage() implements the inverse discrete Fourier transform (DFT) of the image either as a magnitude / phase or real / imaginary image pair.

The format of the MagickInverseFourierTransformImage method is:

    MagickBooleanType MagickInverseFourierTransformImage(
      MagickWand *magnitude_wand,MagickWand *phase_wand,
      const MagickBooleanType magnitude)

A description of each parameter follows:

magnitude_wand
  the magnitude or real wand.
phase_wand
  the phase or imaginary wand.
magnitude
  if true, return as magnitude / phase pair otherwise a real / imaginary image pair.

## MagickKmeansImage

MagickKmeansImage() applies k-means color reduction to an image. This is a colorspace clustering or segmentation technique.

The format of the MagickKmeansImage method is:

    MagickBooleanType MagickKmeansImage(MagickWand *wand,
      const size_t number_colors, const size_t max_iterations,
      const double tolerance)

A description of each parameter follows:

wand
  the magick wand.
number_colors
  number of colors to use as seeds.
max_iterations
  maximum number of iterations while converging.
tolerance
  the maximum tolerance.

## Use MagickKuwaharaImage

Use MagickKuwaharaImage() is an edge preserving noise reduction filter.

The format of the MagickKuwaharaImage method is:

    MagickBooleanType MagickKuwaharaImage(MagickWand *wand,
      const double radius,const double sigma)

A description of each parameter follows:

wand
  the magick wand.
radius
  the square window radius.
sigma
  the standard deviation of the Gaussian, in pixels.

## MagickLabelImage

MagickLabelImage() adds a label to your image.

The format of the MagickLabelImage method is:

    MagickBooleanType MagickLabelImage(MagickWand *wand,const char *label)

A description of each parameter follows:

wand
  the magick wand.
label
  the image label.

## MagickLevelImage

MagickLevelImage() adjusts the levels of an image by scaling the colors falling between specified white and black points to the full available quantum range. The parameters provided represent the black, mid, and white points. The black point specifies the darkest color in the image. Colors darker than the black point are set to zero. Mid point specifies a gamma correction to apply to the image. White point specifies the lightest color in the image. Colors brighter than the white point are set to the maximum quantum value.

The format of the MagickLevelImage method is:

    MagickBooleanType MagickLevelImage(MagickWand *wand,
      const double black_point,const double gamma,const double white_point)

A description of each parameter follows:

wand
  the magick wand.
channel
  Identify which channel to level: RedPixelChannel, GreenPixelChannel, etc.
black_point
  the black point.
gamma
  the gamma.
white_point
  the white point.

## MagickLevelImageColors

MagickLevelImageColors() maps the given color to "black" and "white" values, linearly spreading out the colors, and level values on a channel by channel bases, as per LevelImage(). The given colors allows you to specify different level ranges for each of the color channels separately.

The format of the MagickLevelImageColors method is:

    MagickBooleanType MagickLevelImageColors(MagickWand *wand,
      const PixelWand *black_color,const PixelWand *white_color,
      const MagickBooleanType invert)

A description of each parameter follows:

wand
  the magick wand.
black_color
  the black color.
white_color
  the white color.
invert
  if true map the colors (levelize), rather than from (level)

## MagickLevelizeImage

MagickLevelizeImage() applies the reversed MagickLevelImage(). It compresses the full range of color values, so that they lie between the given black and white points. Gamma is applied before the values are mapped. It can be used to de-contrast a greyscale image to the exact levels specified.

The format of the MagickLevelizeImage method is:

    MagickBooleanType MagickLevelizeImage(MagickWand *wand,
      const double black_point, const double white_point,const double gamma)

A description of each parameter follows:

wand
  the magick wand.
black_point
  The level to map zero (black) to.
white_point
  The level to map QuantumRange (white) to.
gamma
  adjust gamma by this factor before mapping values.

## MagickLinearStretchImage

MagickLinearStretchImage() stretches with saturation the image intensity.

You can also reduce the influence of a particular channel with a gamma value of 0.

The format of the MagickLinearStretchImage method is:

    MagickBooleanType MagickLinearStretchImage(MagickWand *wand,
      const double black_point,const double white_point)

A description of each parameter follows:

wand
  the magick wand.
black_point
  the black point.
white_point
  the white point.

## MagickLiquidRescaleImage

MagickLiquidRescaleImage() rescales image with seam carving.

MagickBooleanType MagickLiquidRescaleImage(MagickWand *wand, const size_t columns,const size_t rows, const double delta_x,const double rigidity)

A description of each parameter follows:

wand
  the magick wand.
columns
  the number of columns in the scaled image.
rows
  the number of rows in the scaled image.
delta_x
  maximum seam transversal step (0 means straight seams).
rigidity
  introduce a bias for non-straight seams (typically 0).

## MagickLocalContrastImage

MagickLocalContrastImage() attempts to increase the appearance of large-scale light-dark transitions. Local contrast enhancement works similarly to sharpening with an unsharp mask, however the mask is instead created using an image with a greater blur distance.

MagickBooleanType MagickLocalContrastImage(MagickWand *wand, const double radius,const double strength)

A description of each parameter follows:

image
  the image.
radius
  the radius of the Gaussian, in pixels, not counting the center pixel.
strength
  the strength of the blur mask in percentage.

## MagickMagnifyImage

MagickMagnifyImage() is a convenience method that scales an image proportionally to twice its original size.

The format of the MagickMagnifyImage method is:

    MagickBooleanType MagickMagnifyImage(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickMeanShiftImage

MagickMeanShiftImage() delineate arbitrarily shaped clusters in the image. For each pixel, it visits all the pixels in the neighborhood specified by the window centered at the pixel and excludes those that are outside the radius=(window-1)/2 surrounding the pixel. From those pixels, it finds those that are within the specified color distance from the current mean, and computes a new x,y centroid from those coordinates and a new mean. This new x,y centroid is used as the center for a new window. This process iterates until it converges and the final mean is replaces the (original window center) pixel value. It repeats this process for the next pixel, etc., until it processes all pixels in the image. Results are typically better with colorspaces other than sRGB. We recommend YIQ, YUV or YCbCr.

The format of the MagickMeanShiftImage method is:

    MagickBooleanType MagickMeanShiftImage(MagickWand *wand,
      const size_t number_terms,const double *terms)

A description of each parameter follows:

wand
  the magick wand.
width, height
  find pixels in this neighborhood.
color_distance
  the color distance.

## MagickMergeImageLayers

MagickMergeImageLayers() composes all the image layers from the current given image onward to produce a single image of the merged layers.

The inital canvas's size depends on the given LayerMethod, and is initialized using the first images background color. The images are then composited onto that image in sequence using the given composition that has been assigned to each individual image.

The format of the MagickMergeImageLayers method is:

    MagickWand *MagickMergeImageLayers(MagickWand *wand,
      const LayerMethod method)

A description of each parameter follows:

wand
  the magick wand.
method
  the method of selecting the size of the initial canvas.
  MergeLayer: Merge all layers onto a canvas just large enough to hold all the actual images. The virtual canvas of the first image is preserved but otherwise ignored.
  FlattenLayer: Use the virtual canvas size of first image. Images which fall outside this canvas is clipped. This can be used to 'fill out' a given virtual canvas.
  MosaicLayer: Start with the virtual canvas of the first image, enlarging left and right edges to contain all images. Images with negative offsets will be clipped.

## MagickMinifyImage

MagickMinifyImage() is a convenience method that scales an image proportionally to one-half its original size

The format of the MagickMinifyImage method is:

    MagickBooleanType MagickMinifyImage(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickModulateImage

MagickModulateImage() lets you control the brightness, saturation, and hue of an image. Hue is the percentage of absolute rotation from the current position. For example 50 results in a counter-clockwise rotation of 90 degrees, 150 results in a clockwise rotation of 90 degrees, with 0 and 200 both resulting in a rotation of 180 degrees.

To increase the color brightness by 20 and decrease the color saturation by 10 and leave the hue unchanged, use: 120,90,100.

The format of the MagickModulateImage method is:

    MagickBooleanType MagickModulateImage(MagickWand *wand,
      const double brightness,const double saturation,const double hue)

A description of each parameter follows:

wand
  the magick wand.
brightness
  the percent change in brightness.
saturation
  the percent change in saturation.
hue
  the percent change in hue.

## MagickMontageImage

MagickMontageImage() creates a composite image by combining several separate images. The images are tiled on the composite image with the name of the image optionally appearing just below the individual tile.

The format of the MagickMontageImage method is:

    MagickWand *MagickMontageImage(MagickWand *wand,
      const DrawingWand drawing_wand,const char *tile_geometry,
      const char *thumbnail_geometry,const MontageMode mode,
      const char *frame)

A description of each parameter follows:

wand
  the magick wand.
drawing_wand
  the drawing wand. The font name, size, and color are obtained from this wand.
tile_geometry
  the number of tiles per row and page (e.g. 6x4+0+0).
thumbnail_geometry
  Preferred image size and border size of each thumbnail (e.g. 120x120+4+3>).
mode
  Thumbnail framing mode: Frame, Unframe, or Concatenate.
frame
  Surround the image with an ornamental border (e.g. 15x15+3+3). The frame color is that of the thumbnail's matte color.

## MagickMorphImages

MagickMorphImages() method morphs a set of images. Both the image pixels and size are linearly interpolated to give the appearance of a meta-morphosis from one image to the next.

The format of the MagickMorphImages method is:

    MagickWand *MagickMorphImages(MagickWand *wand,
      const size_t number_frames)

A description of each parameter follows:

wand
  the magick wand.
number_frames
  the number of in-between images to generate.

## MagickMorphologyImage

MagickMorphologyImage() applies a user supplied kernel to the image according to the given morphology method.

The format of the MagickMorphologyImage method is:

    MagickBooleanType MagickMorphologyImage(MagickWand *wand,
      const MorphologyMethod method,const ssize_t iterations,
      const KernelInfo *kernel)

A description of each parameter follows:

wand
  the magick wand.
method
  the morphology method to be applied.
iterations
  apply the operation this many times (or no change). A value of -1 means loop until no change found. How this is applied may depend on the morphology method. Typically this is a value of 1.
kernel
  An array of doubles representing the morphology kernel.

## MagickMotionBlurImage

MagickMotionBlurImage() simulates motion blur. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. Use a radius of 0 and MotionBlurImage() selects a suitable radius for you. Angle gives the angle of the blurring motion.

The format of the MagickMotionBlurImage method is:

    MagickBooleanType MagickMotionBlurImage(MagickWand *wand,
      const double radius,const double sigma,const double angle)

A description of each parameter follows:

wand
  the magick wand.
radius
  the radius of the Gaussian, in pixels, not counting the center pixel.
sigma
  the standard deviation of the Gaussian, in pixels.
angle
  Apply the effect along this angle.

## MagickNegateImage

MagickNegateImage() negates the colors in the reference image. The Grayscale option means that only grayscale values within the image are negated.

You can also reduce the influence of a particular channel with a gamma value of 0.

The format of the MagickNegateImage method is:

    MagickBooleanType MagickNegateImage(MagickWand *wand,
      const MagickBooleanType gray)

A description of each parameter follows:

wand
  the magick wand.
gray
  If MagickTrue, only negate grayscale pixels within the image.

## MagickNewImage

MagickNewImage() adds a blank image canvas of the specified size and background color to the wand.

The format of the MagickNewImage method is:

    MagickBooleanType MagickNewImage(MagickWand *wand,
      const size_t columns,const size_t rows,
      const PixelWand *background)

A description of each parameter follows:

wand
  the magick wand.
width
  the image width.
height
  the image height.
background
  the image color.

## MagickNextImage

MagickNextImage() sets the next image in the wand as the current image.

It is typically used after MagickResetIterator(), after which its first use will set the first image as the current image (unless the wand is empty).

It will return MagickFalse when no more images are left to be returned which happens when the wand is empty, or the current image is the last image.

When the above condition (end of image list) is reached, the iterator is automatically set so that you can start using MagickPreviousImage() to again iterate over the images in the reverse direction, starting with the last image (again). You can jump to this condition immediately using MagickSetLastIterator().

The format of the MagickNextImage method is:

    MagickBooleanType MagickNextImage(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickNormalizeImage

MagickNormalizeImage() enhances the contrast of a color image by adjusting the pixels color to span the entire range of colors available

You can also reduce the influence of a particular channel with a gamma value of 0.

The format of the MagickNormalizeImage method is:

    MagickBooleanType MagickNormalizeImage(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickOilPaintImage

MagickOilPaintImage() applies a special effect filter that simulates an oil painting. Each pixel is replaced by the most frequent color occurring in a circular region defined by radius.

The format of the MagickOilPaintImage method is:

    MagickBooleanType MagickOilPaintImage(MagickWand *wand,
      const double radius,const double sigma)

A description of each parameter follows:

wand
  the magick wand.
radius
  the radius of the circular neighborhood.
sigma
  the standard deviation of the Gaussian, in pixels.

## MagickOpaquePaintImage

MagickOpaquePaintImage() changes any pixel that matches color with the color defined by fill.

The format of the MagickOpaquePaintImage method is:

    MagickBooleanType MagickOpaquePaintImage(MagickWand *wand,
      const PixelWand *target,const PixelWand *fill,const double fuzz,
      const MagickBooleanType invert)

A description of each parameter follows:

wand
  the magick wand.
target
  Change this target color to the fill color within the image.
fill
  the fill pixel wand.
fuzz
  By default target must match a particular pixel color exactly. However, in many cases two colors may differ by a small amount. The fuzz member of image defines how much tolerance is acceptable to consider two colors as the same. For example, set fuzz to 10 and the color red at intensities of 100 and 102 respectively are now interpreted as the same color for the purposes of the floodfill.
invert
  paint any pixel that does not match the target color.

## MagickOptimizeImageLayers

MagickOptimizeImageLayers() compares each image the GIF disposed forms of the previous image in the sequence. From this it attempts to select the smallest cropped image to replace each frame, while preserving the results of the animation.

The format of the MagickOptimizeImageLayers method is:

    MagickWand *MagickOptimizeImageLayers(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickOptimizeImageTransparency

MagickOptimizeImageTransparency() takes a frame optimized GIF animation, and compares the overlayed pixels against the disposal image resulting from all the previous frames in the animation. Any pixel that does not change the disposal image (and thus does not effect the outcome of an overlay) is made transparent.

WARNING: This modifies the current images directly, rather than generate a new image sequence. The format of the MagickOptimizeImageTransparency method is:

    MagickBooleanType MagickOptimizeImageTransparency(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickOrderedDitherImage

MagickOrderedDitherImage() performs an ordered dither based on a number of pre-defined dithering threshold maps, but over multiple intensity levels, which can be different for different channels, according to the input arguments.

The format of the MagickOrderedDitherImage method is:

    MagickBooleanType MagickOrderedDitherImage(MagickWand *wand,
      const char *threshold_map)

A description of each parameter follows:

image
  the image.
threshold_map
  A string containing the name of the threshold dither map to use, followed by zero or more numbers representing the number of color levels tho dither between.
  Any level number less than 2 is equivalent to 2, and means only binary dithering will be applied to each color channel.
  No numbers also means a 2 level (bitmap) dither will be applied to all channels, while a single number is the number of levels applied to each channel in sequence. More numbers will be applied in turn to each of the color channels.
  For example: "o3x3,6" generates a 6 level posterization of the image with a ordered 3x3 diffused pixel dither being applied between each level. While checker,8,8,4 will produce a 332 colormaped image with only a single checkerboard hash pattern (50 grey) between each color level, to basically double the number of color levels with a bare minimum of dithering.

## MagickPingImage

MagickPingImage() is the same as MagickReadImage() except the only valid information returned is the image width, height, size, and format. It is designed to efficiently obtain this information from a file without reading the entire image sequence into memory.

The format of the MagickPingImage method is:

    MagickBooleanType MagickPingImage(MagickWand *wand,const char *filename)

A description of each parameter follows:

wand
  the magick wand.
filename
  the image filename.

## MagickPingImageBlob

MagickPingImageBlob() pings an image or image sequence from a blob.

The format of the MagickPingImageBlob method is:

    MagickBooleanType MagickPingImageBlob(MagickWand *wand,
      const void *blob,const size_t length)

A description of each parameter follows:

wand
  the magick wand.
blob
  the blob.
length
  the blob length.

## MagickPingImageFile

MagickPingImageFile() pings an image or image sequence from an open file descriptor.

The format of the MagickPingImageFile method is:

    MagickBooleanType MagickPingImageFile(MagickWand *wand,FILE *file)

A description of each parameter follows:

wand
  the magick wand.
file
  the file descriptor.

## MagickPolaroidImage

MagickPolaroidImage() simulates a Polaroid picture.

The format of the MagickPolaroidImage method is:

    MagickBooleanType MagickPolaroidImage(MagickWand *wand,
      const DrawingWand *drawing_wand,const char *caption,const double angle,
      const PixelInterpolateMethod method)

A description of each parameter follows:

wand
  the magick wand.
drawing_wand
  the draw wand.
caption
  the Polaroid caption.
angle
  Apply the effect along this angle.
method
  the pixel interpolation method.

## MagickPolynomialImage

MagickPolynomialImage() returns an image where each pixel is the sum of the pixels in the image sequence after applying its corresponding terms (coefficient and degree pairs).

The format of the MagickPolynomialImage method is:

    MagickBooleanType MagickPolynomialImage(MagickWand *wand,
      const size_t number_terms,const double *terms)

A description of each parameter follows:

wand
  the magick wand.
number_terms
  the number of terms in the list. The actual list length is 2 x number_terms + 1 (the constant).
terms
  the list of polynomial coefficients and degree pairs and a constant.

## MagickPosterizeImage

MagickPosterizeImage() reduces the image to a limited number of color level.

The format of the MagickPosterizeImage method is:

    MagickBooleanType MagickPosterizeImage(MagickWand *wand,
      const size_t levels,const DitherMethod method)

A description of each parameter follows:

wand
  the magick wand.
levels
  Number of color levels allowed in each channel. Very low values (2, 3, or 4) have the most visible effect.
method
  choose the dither method: UndefinedDitherMethod, NoDitherMethod, RiemersmaDitherMethod, or FloydSteinbergDitherMethod.

## MagickPreviewImages

MagickPreviewImages() tiles 9 thumbnails of the specified image with an image processing operation applied at varying strengths. This helpful to quickly pin-point an appropriate parameter for an image processing operation.

The format of the MagickPreviewImages method is:

    MagickWand *MagickPreviewImages(MagickWand *wand,
      const PreviewType preview)

A description of each parameter follows:

wand
  the magick wand.
preview
  the preview type.

## MagickPreviousImage

MagickPreviousImage() sets the previous image in the wand as the current image.

It is typically used after MagickSetLastIterator(), after which its first use will set the last image as the current image (unless the wand is empty).

It will return MagickFalse when no more images are left to be returned which happens when the wand is empty, or the current image is the first image. At that point the iterator is than reset to again process images in the forward direction, again starting with the first image in list. Images added at this point are prepended.

Also at that point any images added to the wand using MagickAddImages() or MagickReadImages() will be prepended before the first image. In this sense the condition is not quite exactly the same as MagickResetIterator().

The format of the MagickPreviousImage method is:

    MagickBooleanType MagickPreviousImage(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickQuantizeImage

MagickQuantizeImage() analyzes the colors within a reference image and chooses a fixed number of colors to represent the image. The goal of the algorithm is to minimize the color difference between the input and output image while minimizing the processing time.

The format of the MagickQuantizeImage method is:

    MagickBooleanType MagickQuantizeImage(MagickWand *wand,
      const size_t number_colors,const ColorspaceType colorspace,
      const size_t treedepth,const DitherMethod dither_method,
      const MagickBooleanType measure_error)

A description of each parameter follows:

wand
  the magick wand.
number_colors
  the number of colors.
colorspace
  Perform color reduction in this colorspace, typically RGBColorspace.
treedepth
  Normally, this integer value is zero or one. A zero or one tells Quantize to choose a optimal tree depth of Log4(number_colors). A tree of this depth generally allows the best representation of the reference image with the least amount of memory and the fastest computational speed. In some cases, such as an image with low color dispersion (a few number of colors), a value other than Log4(number_colors) is required. To expand the color tree completely, use a value of 8.
dither_method
  choose from UndefinedDitherMethod, NoDitherMethod, RiemersmaDitherMethod, FloydSteinbergDitherMethod.
measure_error
  A value other than zero measures the difference between the original and quantized images. This difference is the total quantization error. The error is computed by summing over all pixels in an image the distance squared in RGB space between each reference pixel value and its quantized value.

## MagickQuantizeImages

MagickQuantizeImages() analyzes the colors within a sequence of images and chooses a fixed number of colors to represent the image. The goal of the algorithm is to minimize the color difference between the input and output image while minimizing the processing time.

The format of the MagickQuantizeImages method is:

    MagickBooleanType MagickQuantizeImages(MagickWand *wand,
      const size_t number_colors,const ColorspaceType colorspace,
      const size_t treedepth,const DitherMethod dither_method,
      const MagickBooleanType measure_error)

A description of each parameter follows:

wand
  the magick wand.
number_colors
  the number of colors.
colorspace
  Perform color reduction in this colorspace, typically RGBColorspace.
treedepth
  Normally, this integer value is zero or one. A zero or one tells Quantize to choose a optimal tree depth of Log4(number_colors). A tree of this depth generally allows the best representation of the reference image with the least amount of memory and the fastest computational speed. In some cases, such as an image with low color dispersion (a few number of colors), a value other than Log4(number_colors) is required. To expand the color tree completely, use a value of 8.
dither_method
  choose from these dither methods: NoDitherMethod, RiemersmaDitherMethod, or FloydSteinbergDitherMethod.
measure_error
  A value other than zero measures the difference between the original and quantized images. This difference is the total quantization error. The error is computed by summing over all pixels in an image the distance squared in RGB space between each reference pixel value and its quantized value.

## MagickRangeThresholdImage

MagickRangeThresholdImage() applies soft and hard thresholding.

The format of the RangeThresholdImage method is:

    MagickBooleanType MagickRangeThresholdImage(MagickWand *wand,
      const double low_black,const double low_white,const double high_white,
      const double high_black)

A description of each parameter follows:

wand
  the magick wand.
low_black
  Define the minimum threshold value.
low_white
  Define the maximum threshold value.
high_white
  Define the minimum threshold value.
low_white
  Define the maximum threshold value.

## MagickRotationalBlurImage

MagickRotationalBlurImage() rotational blurs an image.

The format of the MagickRotationalBlurImage method is:

    MagickBooleanType MagickRotationalBlurImage(MagickWand *wand,
      const double angle)

A description of each parameter follows:

wand
  the magick wand.
angle
  the angle of the blur in degrees.

## MagickRaiseImage

MagickRaiseImage() creates a simulated three-dimensional button-like effect by lightening and darkening the edges of the image. Members width and height of raise_info define the width of the vertical and horizontal edge of the effect.

The format of the MagickRaiseImage method is:

    MagickBooleanType MagickRaiseImage(MagickWand *wand,
      const size_t width,const size_t height,const ssize_t x,
      const ssize_t y,const MagickBooleanType raise)

A description of each parameter follows:

wand
  the magick wand.
width,height,x,y
  Define the dimensions of the area to raise.
raise
  A value other than zero creates a 3-D raise effect, otherwise it has a lowered effect.

## MagickRandomThresholdImage

MagickRandomThresholdImage() changes the value of individual pixels based on the intensity of each pixel compared to threshold. The result is a high-contrast, two color image.

The format of the MagickRandomThresholdImage method is:

    MagickBooleanType MagickRandomThresholdImage(MagickWand *wand,
      const double low,const double high)

A description of each parameter follows:

wand
  the magick wand.
low,high
  Specify the high and low thresholds. These values range from 0 to QuantumRange.

## MagickReadImage

MagickReadImage() reads an image or image sequence. The images are inserted just before the current image pointer position.

Use MagickSetFirstIterator(), to insert new images before all the current images in the wand, MagickSetLastIterator() to append add to the end, MagickSetIteratorIndex() to place images just after the given index.

The format of the MagickReadImage method is:

    MagickBooleanType MagickReadImage(MagickWand *wand,const char *filename)

A description of each parameter follows:

wand
  the magick wand.
filename
  the image filename.

## MagickReadImageBlob

MagickReadImageBlob() reads an image or image sequence from a blob. In all other respects it is like MagickReadImage().

The format of the MagickReadImageBlob method is:

    MagickBooleanType MagickReadImageBlob(MagickWand *wand,
      const void *blob,const size_t length)

A description of each parameter follows:

wand
  the magick wand.
blob
  the blob.
length
  the blob length.

## MagickReadImageFile

MagickReadImageFile() reads an image or image sequence from an already opened file descriptor. Otherwise it is like MagickReadImage().

The format of the MagickReadImageFile method is:

    MagickBooleanType MagickReadImageFile(MagickWand *wand,FILE *file)

A description of each parameter follows:

wand
  the magick wand.
file
  the file descriptor.

## MagickRemapImage

MagickRemapImage() replaces the colors of an image with the closest color from a reference image.

The format of the MagickRemapImage method is:

    MagickBooleanType MagickRemapImage(MagickWand *wand,
      const MagickWand *remap_wand,const DitherMethod method)

A description of each parameter follows:

wand
  the magick wand.
affinity
  the affinity wand.
method
  choose from these dither methods: NoDitherMethod, RiemersmaDitherMethod, or FloydSteinbergDitherMethod.

## MagickRemoveImage

MagickRemoveImage() removes an image from the image list.

The format of the MagickRemoveImage method is:

    MagickBooleanType MagickRemoveImage(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.
insert
  the splice wand.

## MagickResampleImage

MagickResampleImage() resample image to desired resolution.

Bessel Blackman Box Catrom Cubic Gaussian Hanning Hermite Lanczos Mitchell Point Quadratic Sinc Triangle

Most of the filters are FIR (finite impulse response), however, Bessel, Gaussian, and Sinc are IIR (infinite impulse response). Bessel and Sinc are windowed (brought down to zero) with the Blackman filter.

The format of the MagickResampleImage method is:

    MagickBooleanType MagickResampleImage(MagickWand *wand,
      const double x_resolution,const double y_resolution,
      const FilterType filter)

A description of each parameter follows:

wand
  the magick wand.
x_resolution
  the new image x resolution.
y_resolution
  the new image y resolution.
filter
  Image filter to use.

## MagickResetImagePage

MagickResetImagePage() resets the Wand page canvas and position.

The format of the MagickResetImagePage method is:

    MagickBooleanType MagickResetImagePage(MagickWand *wand,
      const char *page)

A description of each parameter follows:

wand
  the magick wand.
page
  the relative page specification.

## MagickResizeImage

MagickResizeImage() scales an image to the desired dimensions with one of these filters:

        Bessel   Blackman   Box
        Catrom   CubicGaussian
        Hanning  Hermite    Lanczos
        Mitchell PointQuadratic
        Sinc     Triangle

Most of the filters are FIR (finite impulse response), however, Bessel, Gaussian, and Sinc are IIR (infinite impulse response). Bessel and Sinc are windowed (brought down to zero) with the Blackman filter.

The format of the MagickResizeImage method is:

    MagickBooleanType MagickResizeImage(MagickWand *wand,
      const size_t columns,const size_t rows,const FilterType filter)

A description of each parameter follows:

wand
  the magick wand.
columns
  the number of columns in the scaled image.
rows
  the number of rows in the scaled image.
filter
  Image filter to use.

## MagickRollImage

MagickRollImage() offsets an image as defined by x and y.

The format of the MagickRollImage method is:

    MagickBooleanType MagickRollImage(MagickWand *wand,const ssize_t x,
      const size_t y)

A description of each parameter follows:

wand
  the magick wand.
x
  the x offset.
y
  the y offset.

## MagickRotateImage

MagickRotateImage() rotates an image the specified number of degrees. Empty triangles left over from rotating the image are filled with the background color.

The format of the MagickRotateImage method is:

    MagickBooleanType MagickRotateImage(MagickWand *wand,
      const PixelWand *background,const double degrees)

A description of each parameter follows:

wand
  the magick wand.
background
  the background pixel wand.
degrees
  the number of degrees to rotate the image.

## MagickSampleImage

MagickSampleImage() scales an image to the desired dimensions with pixel sampling. Unlike other scaling methods, this method does not introduce any additional color into the scaled image.

The format of the MagickSampleImage method is:

    MagickBooleanType MagickSampleImage(MagickWand *wand,
      const size_t columns,const size_t rows)

A description of each parameter follows:

wand
  the magick wand.
columns
  the number of columns in the scaled image.
rows
  the number of rows in the scaled image.

## MagickScaleImage

MagickScaleImage() scales the size of an image to the given dimensions.

The format of the MagickScaleImage method is:

    MagickBooleanType MagickScaleImage(MagickWand *wand,
      const size_t columns,const size_t rows)

A description of each parameter follows:

wand
  the magick wand.
columns
  the number of columns in the scaled image.
rows
  the number of rows in the scaled image.

## MagickSegmentImage

MagickSegmentImage() segments an image by analyzing the histograms of the color components and identifying units that are homogeneous with the fuzzy C-means technique.

The format of the SegmentImage method is:

    MagickBooleanType MagickSegmentImage(MagickWand *wand,
      const ColorspaceType colorspace,const MagickBooleanType verbose,
      const double cluster_threshold,const double smooth_threshold)

A description of each parameter follows.

wand

the wand.

colorspace

the image colorspace.

verbose

Set to MagickTrue to print detailed information about the identified classes.

cluster_threshold

This represents the minimum number of pixels contained in a hexahedra before it can be considered valid (expressed as a percentage).

smooth_threshold

the smoothing threshold eliminates noise in the second derivative of the histogram. As the value is increased, you can expect a smoother second derivative.

## MagickSelectiveBlurImage

MagickSelectiveBlurImage() selectively blur an image within a contrast threshold. It is similar to the unsharpen mask that sharpens everything with contrast above a certain threshold.

The format of the MagickSelectiveBlurImage method is:

    MagickBooleanType MagickSelectiveBlurImage(MagickWand *wand,
      const double radius,const double sigma,const double threshold)

A description of each parameter follows:

wand
  the magick wand.
radius
  the radius of the gaussian, in pixels, not counting the center pixel.
sigma
  the standard deviation of the gaussian, in pixels.
threshold
  only pixels within this contrast threshold are included in the blur operation.

## MagickSeparateImage

MagickSeparateImage() separates a channel from the image and returns a grayscale image. A channel is a particular color component of each pixel in the image.

The format of the MagickSeparateImage method is:

    MagickBooleanType MagickSeparateImage(MagickWand *wand,
      const ChannelType channel)

A description of each parameter follows:

wand
  the magick wand.
channel
  the channel.

## MagickSepiaToneImage

MagickSepiaToneImage() applies a special effect to the image, similar to the effect achieved in a photo darkroom by sepia toning. Threshold ranges from 0 to QuantumRange and is a measure of the extent of the sepia toning. A threshold of 80 is a good starting point for a reasonable tone.

The format of the MagickSepiaToneImage method is:

    MagickBooleanType MagickSepiaToneImage(MagickWand *wand,
      const double threshold)

A description of each parameter follows:

wand
  the magick wand.
threshold
  Define the extent of the sepia toning.

## MagickSetImage

MagickSetImage() replaces the last image returned by MagickSetIteratorIndex(), MagickNextImage(), MagickPreviousImage() with the images from the specified wand.

The format of the MagickSetImage method is:

    MagickBooleanType MagickSetImage(MagickWand *wand,
      const MagickWand *set_wand)

A description of each parameter follows:

wand
  the magick wand.
set_wand
  the set_wand wand.

## MagickSetImageAlphaChannel

MagickSetImageAlphaChannel() activates, deactivates, resets, or sets the alpha channel.

The format of the MagickSetImageAlphaChannel method is:

    MagickBooleanType MagickSetImageAlphaChannel(MagickWand *wand,
      const AlphaChannelOption alpha_type)

A description of each parameter follows:

wand
  the magick wand.
alpha_type
  the alpha channel type: ActivateAlphaChannel, DeactivateAlphaChannel, OpaqueAlphaChannel, or SetAlphaChannel.

## MagickSetImageBackgroundColor

MagickSetImageBackgroundColor() sets the image background color.

The format of the MagickSetImageBackgroundColor method is:

    MagickBooleanType MagickSetImageBackgroundColor(MagickWand *wand,
      const PixelWand *background)

A description of each parameter follows:

wand
  the magick wand.
background
  the background pixel wand.

## MagickSetImageBluePrimary

MagickSetImageBluePrimary() sets the image chromaticity blue primary point.

The format of the MagickSetImageBluePrimary method is:

    MagickBooleanType MagickSetImageBluePrimary(MagickWand *wand,
      const double x,const double y,const double z)

A description of each parameter follows:

wand
  the magick wand.
x
  the blue primary x-point.
y
  the blue primary y-point.
z
  the blue primary z-point.

## MagickSetImageBorderColor

MagickSetImageBorderColor() sets the image border color.

The format of the MagickSetImageBorderColor method is:

    MagickBooleanType MagickSetImageBorderColor(MagickWand *wand,
      const PixelWand *border)

A description of each parameter follows:

wand
  the magick wand.
border
  the border pixel wand.

## MagickSetImageChannelMask

MagickSetImageChannelMask() sets image channel mask.

The format of the MagickSetImageChannelMask method is:

    ChannelType MagickSetImageChannelMask(MagickWand *wand,
      const ChannelType channel_mask)

A description of each parameter follows:

wand
  the magick wand.
channel_mask
  the channel_mask wand.

## MagickSetImageMask

MagickSetImageMask() sets image clip mask.

The format of the MagickSetImageMask method is:

    MagickBooleanType MagickSetImageMask(MagickWand *wand,
      const PixelMask type,const MagickWand *clip_mask)

A description of each parameter follows:

wand
  the magick wand.
type
  type of mask, ReadPixelMask or WritePixelMask.
clip_mask
  the clip_mask wand.

## MagickSetImageColor

MagickSetImageColor() set the entire wand canvas to the specified color.

The format of the MagickSetImageColor method is:

    MagickBooleanType MagickSetImageColor(MagickWand *wand,
      const PixelWand *color)

A description of each parameter follows:

wand
  the magick wand.
background
  the image color.

## MagickSetImageColormapColor

MagickSetImageColormapColor() sets the color of the specified colormap index.

The format of the MagickSetImageColormapColor method is:

    MagickBooleanType MagickSetImageColormapColor(MagickWand *wand,
      const size_t index,const PixelWand *color)

A description of each parameter follows:

wand
  the magick wand.
index
  the offset into the image colormap.
color
  Return the colormap color in this wand.

## MagickSetImageColorspace

MagickSetImageColorspace() sets the image colorspace. But does not modify the image data.

The format of the MagickSetImageColorspace method is:

    MagickBooleanType MagickSetImageColorspace(MagickWand *wand,
      const ColorspaceType colorspace)

A description of each parameter follows:

wand
  the magick wand.
colorspace
  the image colorspace: UndefinedColorspace, RGBColorspace, GRAYColorspace, TransparentColorspace, OHTAColorspace, XYZColorspace, YCbCrColorspace, YCCColorspace, YIQColorspace, YPbPrColorspace, YPbPrColorspace, YUVColorspace, CMYKColorspace, sRGBColorspace, HSLColorspace, or HWBColorspace.

## MagickSetImageCompose

MagickSetImageCompose() sets the image composite operator, useful for specifying how to composite the image thumbnail when using the MagickMontageImage() method.

The format of the MagickSetImageCompose method is:

    MagickBooleanType MagickSetImageCompose(MagickWand *wand,
      const CompositeOperator compose)

A description of each parameter follows:

wand
  the magick wand.
compose
  the image composite operator.

## MagickSetImageCompression

MagickSetImageCompression() sets the image compression.

The format of the MagickSetImageCompression method is:

    MagickBooleanType MagickSetImageCompression(MagickWand *wand,
      const CompressionType compression)

A description of each parameter follows:

wand
  the magick wand.
compression
  the image compression type.

## MagickSetImageCompressionQuality

MagickSetImageCompressionQuality() sets the image compression quality.

The format of the MagickSetImageCompressionQuality method is:

    MagickBooleanType MagickSetImageCompressionQuality(MagickWand *wand,
      const size_t quality)

A description of each parameter follows:

wand
  the magick wand.
quality
  the image compression tlityype.

## MagickSetImageDelay

MagickSetImageDelay() sets the image delay.

The format of the MagickSetImageDelay method is:

    MagickBooleanType MagickSetImageDelay(MagickWand *wand,
      const size_t delay)

A description of each parameter follows:

wand
  the magick wand.
delay
  the image delay in ticks-per-second units.

## MagickSetImageDepth

MagickSetImageDepth() sets the image depth.

The format of the MagickSetImageDepth method is:

    MagickBooleanType MagickSetImageDepth(MagickWand *wand,
      const size_t depth)

A description of each parameter follows:

wand
  the magick wand.
depth
  the image depth in bits: 8, 16, or 32.

## MagickSetImageDispose

MagickSetImageDispose() sets the image disposal method.

The format of the MagickSetImageDispose method is:

    MagickBooleanType MagickSetImageDispose(MagickWand *wand,
      const DisposeType dispose)

A description of each parameter follows:

wand
  the magick wand.
dispose
  the image disposal type.

## MagickSetImageEndian

MagickSetImageEndian() sets the image endian method.

The format of the MagickSetImageEndian method is:

    MagickBooleanType MagickSetImageEndian(MagickWand *wand,
      const EndianType endian)

A description of each parameter follows:

wand
  the magick wand.
endian
  the image endian type.

## MagickSetImageExtent

MagickSetImageExtent() sets the image size (i.e. columns & rows).

The format of the MagickSetImageExtent method is:

    MagickBooleanType MagickSetImageExtent(MagickWand *wand,
      const size_t columns,const unsigned rows)

A description of each parameter follows:

wand
  the magick wand.
columns
  The image width in pixels.
rows
  The image height in pixels.

## MagickSetImageFilename

MagickSetImageFilename() sets the filename of a particular image in a sequence.

The format of the MagickSetImageFilename method is:

    MagickBooleanType MagickSetImageFilename(MagickWand *wand,
      const char *filename)

A description of each parameter follows:

wand
  the magick wand.
filename
  the image filename.

## MagickSetImageFilter

MagickSetImageFilter() sets the image filter type.

The format of the MagickSetImageFilter method is:

    MagickBooleanType MagickSetImageFilter(MagickWand *wand,
      const FilterType filter)

A description of each parameter follows:

wand
  the magick wand.
filter
  Bartlett, Blackman, Bohman, Box, Catrom, Cosine, Cubic, CubicSpline, Gaussian, Hamming, Hann, Hermite, Jinc, Kaiser, Lagrange, Lanczos, Lanczos2, Lanczos2Sharp, LanczosRadius, LanczosSharp, Mitchell, Parzen, Point, Quadratic, Robidoux, RobidouxSharp, Sinc, SincFast, Spline, Triangle, Undefined, Welch.

## MagickSetImageFormat

MagickSetImageFormat() sets the format of a particular image in a sequence.

The format of the MagickSetImageFormat method is:

    MagickBooleanType MagickSetImageFormat(MagickWand *wand,
      const char *format)

A description of each parameter follows:

wand
  the magick wand.
format
  the image format.

## MagickSetImageFuzz

MagickSetImageFuzz() sets the image fuzz.

The format of the MagickSetImageFuzz method is:

    MagickBooleanType MagickSetImageFuzz(MagickWand *wand,
      const double fuzz)

A description of each parameter follows:

wand
  the magick wand.
fuzz
  the image fuzz.

## MagickSetImageGamma

MagickSetImageGamma() sets the image gamma.

The format of the MagickSetImageGamma method is:

    MagickBooleanType MagickSetImageGamma(MagickWand *wand,
      const double gamma)

A description of each parameter follows:

wand
  the magick wand.
gamma
  the image gamma.

## MagickSetImageGravity

MagickSetImageGravity() sets the image gravity type.

The format of the MagickSetImageGravity method is:

    MagickBooleanType MagickSetImageGravity(MagickWand *wand,
      const GravityType gravity)

A description of each parameter follows:

wand
  the magick wand.
gravity
  positioning gravity (NorthWestGravity, NorthGravity, NorthEastGravity, WestGravity, CenterGravity, EastGravity, SouthWestGravity, SouthGravity, SouthEastGravity)

## MagickSetImageGreenPrimary

MagickSetImageGreenPrimary() sets the image chromaticity green primary point.

The format of the MagickSetImageGreenPrimary method is:

    MagickBooleanType MagickSetImageGreenPrimary(MagickWand *wand,
      const double x,const double y,const double z)

A description of each parameter follows:

wand
  the magick wand.
x
  the green primary x-point.
y
  the green primary y-point.
z
  the green primary z-point.

## MagickSetImageInterlaceScheme

MagickSetImageInterlaceScheme() sets the image interlace scheme.

The format of the MagickSetImageInterlaceScheme method is:

    MagickBooleanType MagickSetImageInterlaceScheme(MagickWand *wand,
      const InterlaceType interlace)

A description of each parameter follows:

wand
  the magick wand.
interlace
  the image interlace scheme: NoInterlace, LineInterlace, PlaneInterlace, PartitionInterlace.

## MagickSetImageInterpolateMethod

MagickSetImageInterpolateMethod() sets the image interpolate pixel method.

The format of the MagickSetImageInterpolateMethod method is:

    MagickBooleanType MagickSetImageInterpolateMethod(MagickWand *wand,
      const PixelInterpolateMethod method)

A description of each parameter follows:

wand
  the magick wand.
method
  the image interpole pixel methods: choose from Undefined, Average, Bicubic, Bilinear, Filter, Integer, Mesh, NearestNeighbor.

## MagickSetImageIterations

MagickSetImageIterations() sets the image iterations.

The format of the MagickSetImageIterations method is:

    MagickBooleanType MagickSetImageIterations(MagickWand *wand,
      const size_t iterations)

A description of each parameter follows:

wand
  the magick wand.
delay
  the image delay in 1/100th of a second.

## MagickSetImageMatte

MagickSetImageMatte() sets the image matte channel.

The format of the MagickSetImageMatte method is:

    MagickBooleanType MagickSetImageMatte(MagickWand *wand,
      const MagickBooleanType *matte)

A description of each parameter follows:

wand
  the magick wand.
matte
  Set to MagickTrue to enable the image matte channel otherwise MagickFalse.

## MagickSetImageMatteColor

MagickSetImageMatteColor() sets the image alpha color.

The format of the MagickSetImageMatteColor method is:

    MagickBooleanType MagickSetImageMatteColor(MagickWand *wand,
      const PixelWand *matte)

A description of each parameter follows:

wand
  the magick wand.
matte
  the alpha pixel wand.

## MagickSetImageAlpha

MagickSetImageAlpha() sets the image to the specified alpha level.

The format of the MagickSetImageAlpha method is:

    MagickBooleanType MagickSetImageAlpha(MagickWand *wand,
      const double alpha)

A description of each parameter follows:

wand
  the magick wand.
alpha
  the level of transparency: 1.0 is fully opaque and 0.0 is fully transparent.

## MagickSetImageOrientation

MagickSetImageOrientation() sets the image orientation.

The format of the MagickSetImageOrientation method is:

    MagickBooleanType MagickSetImageOrientation(MagickWand *wand,
      const OrientationType orientation)

A description of each parameter follows:

wand
  the magick wand.
orientation
  the image orientation type.

## MagickSetImagePage

MagickSetImagePage() sets the page geometry of the image.

The format of the MagickSetImagePage method is:

    MagickBooleanType MagickSetImagePage(MagickWand *wand,const size_t width,        const size_t height,const ssize_t x,const ssize_t y)

A description of each parameter follows:

wand
  the magick wand.
width
  the page width.
height
  the page height.
x
  the page x-offset.
y
  the page y-offset.

## MagickSetImagePixelColor

MagickSetImagePixelColor() sets the color of the specified pixel.

The format of the MagickSetImagePixelColor method is:

    MagickBooleanType MagickSetImagePixelColor(MagickWand *wand,
      const ssize_t x,const ssize_t y,const PixelWand *color)

A description of each parameter follows:

wand
  the magick wand.
x,y
  the pixel offset into the image.
color
  Return the colormap color in this wand.

## MagickSetImageProgressMonitor

MagickSetImageProgressMonitor() sets the wand image progress monitor to the specified method and returns the previous progress monitor if any. The progress monitor method looks like this:

        MagickBooleanType MagickProgressMonitor(const char *text,
    const MagickOffsetType offset,const MagickSizeType span,
    void *client_data)

If the progress monitor returns MagickFalse, the current operation is interrupted.

The format of the MagickSetImageProgressMonitor method is:

    MagickProgressMonitor MagickSetImageProgressMonitor(MagickWand *wand
      const MagickProgressMonitor progress_monitor,void *client_data)

A description of each parameter follows:

wand
  the magick wand.
progress_monitor
  Specifies a pointer to a method to monitor progress of an image operation.
client_data
  Specifies a pointer to any client data.

## MagickSetImageRedPrimary

MagickSetImageRedPrimary() sets the image chromaticity red primary point.

The format of the MagickSetImageRedPrimary method is:

    MagickBooleanType MagickSetImageRedPrimary(MagickWand *wand,
      const double x,const double y,const double z)

A description of each parameter follows:

wand
  the magick wand.
x
  the red primary x-point.
y
  the red primary y-point.
z
  the red primary z-point.

## MagickSetImageRenderingIntent

MagickSetImageRenderingIntent() sets the image rendering intent.

The format of the MagickSetImageRenderingIntent method is:

    MagickBooleanType MagickSetImageRenderingIntent(MagickWand *wand,
      const RenderingIntent rendering_intent)

A description of each parameter follows:

wand
  the magick wand.
rendering_intent
  the image rendering intent: UndefinedIntent, SaturationIntent, PerceptualIntent, AbsoluteIntent, or RelativeIntent.

## MagickSetImageResolution

MagickSetImageResolution() sets the image resolution.

The format of the MagickSetImageResolution method is:

    MagickBooleanType MagickSetImageResolution(MagickWand *wand,
      const double x_resolution,const double y_resolution)

A description of each parameter follows:

wand
  the magick wand.
x_resolution
  the image x resolution.
y_resolution
  the image y resolution.

## MagickSetImageScene

MagickSetImageScene() sets the image scene.

The format of the MagickSetImageScene method is:

    MagickBooleanType MagickSetImageScene(MagickWand *wand,
      const size_t scene)

A description of each parameter follows:

wand
  the magick wand.
delay
  the image scene number.

## MagickSetImageTicksPerSecond

MagickSetImageTicksPerSecond() sets the image ticks-per-second.

The format of the MagickSetImageTicksPerSecond method is:

    MagickBooleanType MagickSetImageTicksPerSecond(MagickWand *wand,
      const ssize_t ticks_per-second)

A description of each parameter follows:

wand
  the magick wand.
ticks_per_second
  the units to use for the image delay.

## MagickSetImageType

MagickSetImageType() sets the image type.

The format of the MagickSetImageType method is:

    MagickBooleanType MagickSetImageType(MagickWand *wand,
      const ImageType image_type)

A description of each parameter follows:

wand
  the magick wand.
image_type
  the image type: UndefinedType, BilevelType, GrayscaleType, GrayscaleAlphaType, PaletteType, PaletteAlphaType, TrueColorType, TrueColorAlphaType, ColorSeparationType, ColorSeparationAlphaType, or OptimizeType.

## MagickSetImageUnits

MagickSetImageUnits() sets the image units of resolution.

The format of the MagickSetImageUnits method is:

    MagickBooleanType MagickSetImageUnits(MagickWand *wand,
      const ResolutionType units)

A description of each parameter follows:

wand
  the magick wand.
units
  the image units of resolution : UndefinedResolution, PixelsPerInchResolution, or PixelsPerCentimeterResolution.

## MagickSetImageVirtualPixelMethod

MagickSetImageVirtualPixelMethod() sets the image virtual pixel method.

The format of the MagickSetImageVirtualPixelMethod method is:

    VirtualPixelMethod MagickSetImageVirtualPixelMethod(MagickWand *wand,
      const VirtualPixelMethod method)

A description of each parameter follows:

wand
  the magick wand.
method
  the image virtual pixel method : UndefinedVirtualPixelMethod, ConstantVirtualPixelMethod, EdgeVirtualPixelMethod, MirrorVirtualPixelMethod, or TileVirtualPixelMethod.

## MagickSetImageWhitePoint

MagickSetImageWhitePoint() sets the image chromaticity white point.

The format of the MagickSetImageWhitePoint method is:

    MagickBooleanType MagickSetImageWhitePoint(MagickWand *wand,
      const double x,const double y,const double z)

A description of each parameter follows:

wand
  the magick wand.
x
  the white x-point.
y
  the white y-point.
z
  the white z-point.

## MagickShadeImage

MagickShadeImage() shines a distant light on an image to create a three-dimensional effect. You control the positioning of the light with azimuth and elevation; azimuth is measured in degrees off the x axis and elevation is measured in pixels above the Z axis.

The format of the MagickShadeImage method is:

    MagickBooleanType MagickShadeImage(MagickWand *wand,
      const MagickBooleanType gray,const double azimuth,
      const double elevation)

A description of each parameter follows:

wand
  the magick wand.
gray
  A value other than zero shades the intensity of each pixel.
azimuth, elevation
  Define the light source direction.

## MagickShadowImage

MagickShadowImage() simulates an image shadow.

The format of the MagickShadowImage method is:

    MagickBooleanType MagickShadowImage(MagickWand *wand,const double alpha,
      const double sigma,const ssize_t x,const ssize_t y)

A description of each parameter follows:

wand
  the magick wand.
alpha
  percentage transparency.
sigma
  the standard deviation of the Gaussian, in pixels.
x
  the shadow x-offset.
y
  the shadow y-offset.

## MagickSharpenImage

MagickSharpenImage() sharpens an image. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, the radius should be larger than sigma. Use a radius of 0 and MagickSharpenImage() selects a suitable radius for you.

The format of the MagickSharpenImage method is:

    MagickBooleanType MagickSharpenImage(MagickWand *wand,
      const double radius,const double sigma)

A description of each parameter follows:

wand
  the magick wand.
radius
  the radius of the Gaussian, in pixels, not counting the center pixel.
sigma
  the standard deviation of the Gaussian, in pixels.

## MagickShaveImage

MagickShaveImage() shaves pixels from the image edges. It allocates the memory necessary for the new Image structure and returns a pointer to the new image.

The format of the MagickShaveImage method is:

    MagickBooleanType MagickShaveImage(MagickWand *wand,
      const size_t columns,const size_t rows)

A description of each parameter follows:

wand
  the magick wand.
columns
  the number of columns in the scaled image.
rows
  the number of rows in the scaled image.

## MagickShearImage

MagickShearImage() slides one edge of an image along the X or Y axis, creating a parallelogram. An X direction shear slides an edge along the X axis, while a Y direction shear slides an edge along the Y axis. The amount of the shear is controlled by a shear angle. For X direction shears, x_shear is measured relative to the Y axis, and similarly, for Y direction shears y_shear is measured relative to the X axis. Empty triangles left over from shearing the image are filled with the background color.

The format of the MagickShearImage method is:

    MagickBooleanType MagickShearImage(MagickWand *wand,
      const PixelWand *background,const double x_shear,const double y_shear)

A description of each parameter follows:

wand
  the magick wand.
background
  the background pixel wand.
x_shear
  the number of degrees to shear the image.
y_shear
  the number of degrees to shear the image.

## MagickSigmoidalContrastImage

MagickSigmoidalContrastImage() adjusts the contrast of an image with a non-linear sigmoidal contrast algorithm. Increase the contrast of the image using a sigmoidal transfer function without saturating highlights or shadows. Contrast indicates how much to increase the contrast (0 is none; 3 is typical; 20 is pushing it); mid-point indicates where midtones fall in the resultant image (0 is white; 50 is middle-gray; 100 is black). Set sharpen to MagickTrue to increase the image contrast otherwise the contrast is reduced.

The format of the MagickSigmoidalContrastImage method is:

    MagickBooleanType MagickSigmoidalContrastImage(MagickWand *wand,
      const MagickBooleanType sharpen,const double alpha,const double beta)

A description of each parameter follows:

wand
  the magick wand.
sharpen
  Increase or decrease image contrast.
alpha
  strength of the contrast, the larger the number the more 'threshold-like' it becomes.
beta
  midpoint of the function as a color value 0 to QuantumRange.

## MagickSimilarityImage

MagickSimilarityImage() compares the reference image of the image and returns the best match offset. In addition, it returns a similarity image such that an exact match location is completely white and if none of the pixels match, black, otherwise some gray level in-between.

The format of the MagickSimilarityImage method is:

    MagickWand *MagickSimilarityImage(MagickWand *wand,
      const MagickWand *reference,const MetricType metric,
      const double similarity_threshold,RectangleInfo *offset,
      double *similarity)

A description of each parameter follows:

wand
  the magick wand.
reference
  the reference wand.
metric
  the metric.
similarity_threshold
  minimum distortion for (sub)image match.
offset
  the best match offset of the reference image within the image.
similarity
  the computed similarity between the images.

## MagickSketchImage

MagickSketchImage() simulates a pencil sketch. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. Use a radius of 0 and SketchImage() selects a suitable radius for you. Angle gives the angle of the blurring motion.

The format of the MagickSketchImage method is:

    MagickBooleanType MagickSketchImage(MagickWand *wand,
      const double radius,const double sigma,const double angle)

A description of each parameter follows:

wand
  the magick wand.
radius
  the radius of the Gaussian, in pixels, not counting the center pixel.
sigma
  the standard deviation of the Gaussian, in pixels.
angle
  apply the effect along this angle.

## MagickSmushImages

MagickSmushImages() takes all images from the current image pointer to the end of the image list and smushes them to each other top-to-bottom if the stack parameter is true, otherwise left-to-right.

The format of the MagickSmushImages method is:

    MagickWand *MagickSmushImages(MagickWand *wand,
      const MagickBooleanType stack,const ssize_t offset)

A description of each parameter follows:

wand
  the magick wand.
stack
  By default, images are stacked left-to-right. Set stack to MagickTrue to stack them top-to-bottom.
offset
  minimum distance in pixels between images.

## MagickSolarizeImage

MagickSolarizeImage() applies a special effect to the image, similar to the effect achieved in a photo darkroom by selectively exposing areas of photo sensitive paper to light. Threshold ranges from 0 to QuantumRange and is a measure of the extent of the solarization.

The format of the MagickSolarizeImage method is:

    MagickBooleanType MagickSolarizeImage(MagickWand *wand,
      const double threshold)

A description of each parameter follows:

wand
  the magick wand.
threshold
  Define the extent of the solarization.

## MagickSparseColorImage

MagickSparseColorImage(), given a set of coordinates, interpolates the colors found at those coordinates, across the whole image, using various methods.

The format of the MagickSparseColorImage method is:

    MagickBooleanType MagickSparseColorImage(MagickWand *wand,
      const SparseColorMethod method,const size_t number_arguments,
      const double *arguments)

A description of each parameter follows:

image
  the image to be sparseed.
method
  the method of image sparseion.
  ArcSparseColorion will always ignore source image offset, and always 'bestfit' the destination image with the top left corner offset relative to the polar mapping center.
  Bilinear has no simple inverse mapping so will not allow 'bestfit' style of image sparseion.
  Affine, Perspective, and Bilinear, will do least squares fitting of the distortion when more than the minimum number of control point pairs are provided.
  Perspective, and Bilinear, will fall back to a Affine sparseion when less than 4 control point pairs are provided. While Affine sparseions will let you use any number of control point pairs, that is Zero pairs is a No-Op (viewport only) distortion, one pair is a translation and two pairs of control points will do a scale-rotate-translate, without any shearing.
number_arguments
  the number of arguments given for this sparseion method.
arguments
  the arguments for this sparseion method.

## MagickSpliceImage

MagickSpliceImage() splices a solid color into the image.

The format of the MagickSpliceImage method is:

    MagickBooleanType MagickSpliceImage(MagickWand *wand,
      const size_t width,const size_t height,const ssize_t x,
      const ssize_t y)

A description of each parameter follows:

wand
  the magick wand.
width
  the region width.
height
  the region height.
x
  the region x offset.
y
  the region y offset.

## MagickSpreadImage

MagickSpreadImage() is a special effects method that randomly displaces each pixel in a block defined by the radius parameter.

The format of the MagickSpreadImage method is:

    MagickBooleanType MagickSpreadImage(MagickWand *wand,
      const PixelInterpolateMethod method,const double radius)

A description of each parameter follows:

wand
  the magick wand.
method
  interpolation method.
radius
  Choose a random pixel in a neighborhood of this extent.

## MagickStatisticImage

MagickStatisticImage() replace each pixel with corresponding statistic from the neighborhood of the specified width and height.

The format of the MagickStatisticImage method is:

    MagickBooleanType MagickStatisticImage(MagickWand *wand,
      const StatisticType type,const double width,const size_t height)

A description of each parameter follows:

wand
  the magick wand.
type
  the statistic type (e.g. median, mode, etc.).
width
  the width of the pixel neighborhood.
height
  the height of the pixel neighborhood.

## MagickSteganoImage

MagickSteganoImage() hides a digital watermark within the image. Recover the hidden watermark later to prove that the authenticity of an image. Offset defines the start position within the image to hide the watermark.

The format of the MagickSteganoImage method is:

    MagickWand *MagickSteganoImage(MagickWand *wand,
      const MagickWand *watermark_wand,const ssize_t offset)

A description of each parameter follows:

wand
  the magick wand.
watermark_wand
  the watermark wand.
offset
  Start hiding at this offset into the image.

## MagickStereoImage

MagickStereoImage() composites two images and produces a single image that is the composite of a left and right image of a stereo pair

The format of the MagickStereoImage method is:

    MagickWand *MagickStereoImage(MagickWand *wand,
      const MagickWand *offset_wand)

A description of each parameter follows:

wand
  the magick wand.
offset_wand
  Another image wand.

## MagickStripImage

MagickStripImage() strips an image of all profiles and comments.

The format of the MagickStripImage method is:

    MagickBooleanType MagickStripImage(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickSwirlImage

MagickSwirlImage() swirls the pixels about the center of the image, where degrees indicates the sweep of the arc through which each pixel is moved. You get a more dramatic effect as the degrees move from 1 to 360.

The format of the MagickSwirlImage method is:

    MagickBooleanType MagickSwirlImage(MagickWand *wand,const double degrees,
      const PixelInterpolateMethod method)

A description of each parameter follows:

wand
  the magick wand.
degrees
  Define the tightness of the swirling effect.
method
  the pixel interpolation method.

## MagickTextureImage

MagickTextureImage() repeatedly tiles the texture image across and down the image canvas.

The format of the MagickTextureImage method is:

    MagickWand *MagickTextureImage(MagickWand *wand,
      const MagickWand *texture_wand)

A description of each parameter follows:

wand
  the magick wand.
texture_wand
  the texture wand

## MagickThresholdImage

MagickThresholdImage() changes the value of individual pixels based on the intensity of each pixel compared to threshold. The result is a high-contrast, two color image.

The format of the MagickThresholdImage method is:

    MagickBooleanType MagickThresholdImage(MagickWand *wand,
      const double threshold)
    MagickBooleanType MagickThresholdImageChannel(MagickWand *wand,
      const ChannelType channel,const double threshold)

A description of each parameter follows:

wand
  the magick wand.
channel
  the image channel(s).
threshold
  Define the threshold value.

## MagickThumbnailImage

MagickThumbnailImage() changes the size of an image to the given dimensions and removes any associated profiles. The goal is to produce small low cost thumbnail images suited for display on the Web.

The format of the MagickThumbnailImage method is:

    MagickBooleanType MagickThumbnailImage(MagickWand *wand,
      const size_t columns,const size_t rows)

A description of each parameter follows:

wand
  the magick wand.
columns
  the number of columns in the scaled image.
rows
  the number of rows in the scaled image.

## MagickTintImage

MagickTintImage() applies a color vector to each pixel in the image. The length of the vector is 0 for black and white and at its maximum for the midtones. The vector weighting function is f(x)=(1-(4.0*((x-0.5)*(x-0.5)))).

The format of the MagickTintImage method is:

    MagickBooleanType MagickTintImage(MagickWand *wand,
      const PixelWand *tint,const PixelWand *blend)

A description of each parameter follows:

wand
  the magick wand.
tint
  the tint pixel wand.
alpha
  the alpha pixel wand.

## MagickTransformImageColorspace

MagickTransformImageColorspace() transform the image colorspace, setting the images colorspace while transforming the images data to that colorspace.

The format of the MagickTransformImageColorspace method is:

    MagickBooleanType MagickTransformImageColorspace(MagickWand *wand,
      const ColorspaceType colorspace)

A description of each parameter follows:

wand
  the magick wand.
colorspace
  the image colorspace: UndefinedColorspace, sRGBColorspace, RGBColorspace, GRAYColorspace, OHTAColorspace, XYZColorspace, YCbCrColorspace, YCCColorspace, YIQColorspace, YPbPrColorspace, YPbPrColorspace, YUVColorspace, CMYKColorspace, HSLColorspace, HWBColorspace.

## MagickTransparentPaintImage

MagickTransparentPaintImage() changes any pixel that matches color with the color defined by fill.

The format of the MagickTransparentPaintImage method is:

    MagickBooleanType MagickTransparentPaintImage(MagickWand *wand,
      const PixelWand *target,const double alpha,const double fuzz,
      const MagickBooleanType invert)

A description of each parameter follows:

wand
  the magick wand.
target
  Change this target color to specified alpha value within the image.
alpha
  the level of transparency: 1.0 is fully opaque and 0.0 is fully transparent.
fuzz
  By default target must match a particular pixel color exactly. However, in many cases two colors may differ by a small amount. The fuzz member of image defines how much tolerance is acceptable to consider two colors as the same. For example, set fuzz to 10 and the color red at intensities of 100 and 102 respectively are now interpreted as the same color for the purposes of the floodfill.
invert
  paint any pixel that does not match the target color.

## MagickTransposeImage

MagickTransposeImage() creates a vertical mirror image by reflecting the pixels around the central x-axis while rotating them 90-degrees.

The format of the MagickTransposeImage method is:

    MagickBooleanType MagickTransposeImage(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickTransverseImage

MagickTransverseImage() creates a horizontal mirror image by reflecting the pixels around the central y-axis while rotating them 270-degrees.

The format of the MagickTransverseImage method is:

    MagickBooleanType MagickTransverseImage(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickTrimImage

MagickTrimImage() remove edges that are the background color from the image.

The format of the MagickTrimImage method is:

    MagickBooleanType MagickTrimImage(MagickWand *wand,const double fuzz)

A description of each parameter follows:

wand
  the magick wand.
fuzz
  By default target must match a particular pixel color exactly. However, in many cases two colors may differ by a small amount. The fuzz member of image defines how much tolerance is acceptable to consider two colors as the same. For example, set fuzz to 10 and the color red at intensities of 100 and 102 respectively are now interpreted as the same color for the purposes of the floodfill.

## MagickUniqueImageColors

MagickUniqueImageColors() discards all but one of any pixel color.

The format of the MagickUniqueImageColors method is:

    MagickBooleanType MagickUniqueImageColors(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickUnsharpMaskImage

MagickUnsharpMaskImage() sharpens an image. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. Use a radius of 0 and UnsharpMaskImage() selects a suitable radius for you.

The format of the MagickUnsharpMaskImage method is:

    MagickBooleanType MagickUnsharpMaskImage(MagickWand *wand,
      const double radius,const double sigma,const double gain,
      const double threshold)

A description of each parameter follows:

wand
  the magick wand.
radius
  the radius of the Gaussian, in pixels, not counting the center pixel.
sigma
  the standard deviation of the Gaussian, in pixels.
gain
  the percentage of the difference between the original and the blur image that is added back into the original.
threshold
  the threshold in pixels needed to apply the difference gain.

## MagickVignetteImage

MagickVignetteImage() softens the edges of the image in vignette style.

The format of the MagickVignetteImage method is:

    MagickBooleanType MagickVignetteImage(MagickWand *wand,
      const double radius,const double sigma,const ssize_t x,
      const ssize_t y)

A description of each parameter follows:

wand
  the magick wand.
radius
  the radius.
sigma
  the sigma.
x, y
  Define the x and y ellipse offset.

## MagickWaveImage

MagickWaveImage() creates a "ripple" effect in the image by shifting the pixels vertically along a sine wave whose amplitude and wavelength is specified by the given parameters.

The format of the MagickWaveImage method is:

    MagickBooleanType MagickWaveImage(MagickWand *wand,
      const double amplitude,const double wave_length,
      const PixelInterpolateMethod method)

A description of each parameter follows:

wand
  the magick wand.
amplitude, wave_length
  Define the amplitude and wave length of the sine wave.
method
  the pixel interpolation method.

## MagickWaveletDenoiseImage

MagickWaveletDenoiseImage() removes noise from the image using a wavelet transform. The wavelet transform is a fast hierarchical scheme for processing an image using a set of consecutive lowpass and high_pass filters, followed by a decimation. This results in a decomposition into different scales which can be regarded as different “frequency bands”, determined by the mother wavelet.

The format of the MagickWaveletDenoiseImage method is:

    MagickBooleanType MagickWaveletDenoiseImage(MagickWand *wand,
      const double threshold,const double softness)

A description of each parameter follows:

wand
  the magick wand.
threshold
  set the threshold for smoothing.
softness
  attenuate the smoothing threshold.

## MagickWhiteBalanceImage

MagickWhiteBalanceImage() applies white balancing to an image according to a grayworld assumption in the LAB colorspace.

The format of the WhiteBalanceImage method is:

    MagickBooleanType WhiteBalanceImage(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## MagickWhiteThresholdImage

MagickWhiteThresholdImage() is like ThresholdImage() but force all pixels above the threshold into white while leaving all pixels below the threshold unchanged.

The format of the MagickWhiteThresholdImage method is:

    MagickBooleanType MagickWhiteThresholdImage(MagickWand *wand,
      const PixelWand *threshold)

A description of each parameter follows:

wand
  the magick wand.
threshold
  the pixel wand.

## MagickWriteImage

MagickWriteImage() writes an image to the specified filename. If the filename parameter is NULL, the image is written to the filename set by MagickReadImage() or MagickSetImageFilename().

The format of the MagickWriteImage method is:

    MagickBooleanType MagickWriteImage(MagickWand *wand,
      const char *filename)

A description of each parameter follows:

wand
  the magick wand.
filename
  the image filename.

## MagickWriteImageFile

MagickWriteImageFile() writes an image to an open file descriptor.

The format of the MagickWriteImageFile method is:

    MagickBooleanType MagickWriteImageFile(MagickWand *wand,FILE *file)

A description of each parameter follows:

wand
  the magick wand.
file
  the file descriptor.

## MagickWriteImages

MagickWriteImages() writes an image or image sequence.

The format of the MagickWriteImages method is:

    MagickBooleanType MagickWriteImages(MagickWand *wand,
      const char *filename,const MagickBooleanType adjoin)

A description of each parameter follows:

wand
  the magick wand.
filename
  the image filename.
adjoin
  join images into a single multi-image file.

## MagickWriteImagesFile

MagickWriteImagesFile() writes an image sequence to an open file descriptor.

The format of the MagickWriteImagesFile method is:

    MagickBooleanType MagickWriteImagesFile(MagickWand *wand,FILE *file)

A description of each parameter follows:

wand
  the magick wand.
file
  the file descriptor.