ImageMagick - Image Processing and Display Package
Description: ImageMagick is a robust collection of tools and libraries to read, write, and manipulate an image in any of the more popular image formats including GIF, JPEG, PNG, PDF, and Photo CD. With ImageMagick you can create GIFs dynamically making it suitable for Web applications. You can also resize, rotate, sharpen, color reduce, or add special effects to an image and save your completed work in the same or differing image format.
Keywords: ImageMagick, Image Magick, Image Magic, PerlMagick, Perl Magick, Perl Magic, CineMagick, PixelMagick, Pixel Magic, WebMagick, Web Magic, visualization, image processing, software development, simulation, image, software, AniMagick, Animagic, Magick++

Contents

- Synopsis
- Description
- Examples
- Options
- Mouse Buttons
- Command Widget
- Keyboard Accelerators
- X Resources
- Environment
- Copyright
- Acknowledgement
- Authors

Synopsis

  animate [ options ...] file [ [ options ...] file ...]

Back to Contents

Description

  Animate displays a sequence of images on any workstation display running an X server. animate first determines the hardware capabilities of the workstation. If the number of unique colors in an image is less than or equal to the number the workstation can support, the image is displayed in an X window. Otherwise the number of colors in the image is first reduced to match the color resolution of the workstation before it is displayed.
  This means that a continuous-tone 24 bits-per-pixel image can display on a 8 bit pseudo-color device or monochrome device. In most instances the reduced color image closely resembles the original. Alternatively, a monochrome or pseudo-color image sequence can display on a continuous-tone 24 bits-per-pixel device.
  To help prevent color flashing on X server visuals that have colormaps, animate creates a single colormap from the image sequence. This can be rather time consuming. You can speed this operation up by reducing the colors in the image before you `animate' them. Use mogrify to color reduce the images to a single colormap. See mogrify(1) for details. Alternatively, you can use a Standard Colormap; or a static, direct, or true color visual. You can define a Standard Colormap with xstdcmap. See xstdcmap(1) for details. This method is recommended for colormapped X server because it eliminates the need to compute a global colormap.

Back to Contents

Examples

  To animate a set of images of a cockatoo, use:

  `animate cockatoo.*`

  To animate a cockatoo image sequence while using the Standard Colormap best, use:

  `xstdcmap -best`
  `animate -map best cockatoo.*`

  To animate an image of a cockatoo without a border centered on a backdrop, use:

  `animate +borderwidth -backdrop cockatoo.*`

Back to Contents

Options

  Options are processed in command line order. Any option you specify on the command line remains in effect until it is explicitly changed by specifying the option again with a different effect.
  Animate options can appear on the command line or in your X resources file. See X(1). Options on the command line supersede values specified in your X resources file.

-backdrop

  display the image centered on a backdrop.
  This backdrop covers the entire workstation screen and is useful for hiding other X window activity while viewing the image. The color of the backdrop is specified as the background color. Refer to X Resources for details.

-cache threshold

  megabytes of memory available to the pixel cache.
  Image pixels are stored in memory until 80 megabytes of memory have been consumed. Subsequent pixel operations are cached on disk. Operations to memory are significantly faster but if your computer does not have a sufficient amount of free memory you may want to adjust this threshold value.

-colormap type

  the type of colormap: Shared or Private.
  This option only applies when the default X server visual is PseudoColor or GRAYScale. Refer to -visual for more details. By default, a shared colormap is allocated. The image shares colors with other X clients. Some image colors could be approximated, therefore your image may look very different than intended. Choose Private and the image colors appear exactly as they are defined. However, other clients may go technicolor when the image colormap is installed.

-colors value

  preferred number of colors in the image.
  The actual number of colors in the image may be less than your request, but never more. Note, this is a color reduction option. Images with less unique colors than specified with this option will have any duplicate or unused colors removed. Refer to quantize for more details.

Note, options -dither, -colorspace, and -treedepth affect the color reduction algorithm.

-colorspace value

  the type of colorspace: GRAY, OHTA, RGB, Transparent, XYZ, YCbCr, YIQ, YPbPr, YUV, or CMYK.
  Color reduction, by default, takes place in the RGB color space. Empirical evidence suggests that distances in color spaces such as YUV or YIQ correspond to perceptual color differences more closely than do distances in RGB space. These color spaces may give better results when color reducing an image. Refer to quantize for more details.

The Transparent color space behaves uniquely in that it preserves the matte channel of the image if it exists.

The -colors or -monochrome option is required for this option to take effect.

-crop <width>{%}x<height>{%}{+-}<x offset>{+-}<y offset>

  preferred size and location of the cropped image. See X(1) for details about the geometry specification.
  To specify a percentage width or height instead, append %. For example to crop the image by ten percent on all sides of the image, use -crop 10%.
  Use cropping to apply image processing options to, or display, a particular area of an image.
  Omit the x and y offset to generate one or more subimages of a uniform size.
  Use cropping to crop a particular area of an image. Use -crop 0x0 to trim edges that are the background color. Add an x and y offset to leave a portion of the trimmed edges with the image.
  The equivalent X resource for this option is cropGeometry (class CropGeometry). See X Resources for details.

-delay <1/100ths of a second>

  display the next image after pausing.

This option is useful for regulating the animation of GIF images within Netscape.. 1/100ths of a second must expire before the display of the next image. The default is no delay between each showing of the image sequence. The maximum delay is 65535.

You can specify a delay range (e.g. -delay 10-500) which sets the minimum and maximum delay.

-density <width>x<height>

  vertical and horizontal resolution in pixels of the image.
  This option specifies an image density when decoding a PostScript or Portable Document page. The default is 72 pixels per inch in the horizontal and vertical direction.

-depth value

  depth of the image. This is the number of bits in a pixel. The only acceptable values are 8 or 16.

-display host:display[.screen]

  specifies the X server to contact; see X(1).

-dither

  apply Floyd/Steinberg error diffusion to the image.
  The basic strategy of dithering is to trade intensity resolution for spatial resolution by averaging the intensities of several neighboring pixels. Images which suffer from severe contouring when reducing colors can be improved with this option.
  The -colors or -monochrome option is required for this option to take effect.
  Use +dither to render Postscript without text or graphic aliasing.

-gamma value

  level of gamma correction.
  The same color image displayed on two different workstations may look different due to differences in the display monitor. Use gamma correction to adjust for this color difference. Reasonable values extend from 0.8 to 2.3.
  You can apply separate gamma values to the red, green, and blue channels of the image with a gamma value list delineated with commas (i.e. 1.7,2.3,1.2).
  Use +gamma to set the image gamma level without actually adjusting the image pixels. This option is useful if the image is of a known gamma but not set as an image attribute (e.g. PNG images).

-geometry <width>{%}x<height>{%}{+-}<x offset>{+-}<yoffset>{@}{!}{<}{>}

  preferred size and location of the Image window. See X(1) for details about the geometry specification. By default, the window size is the image size and the location is chosen by you when it is mapped.
  By default, the width and height are maximum values. That is, the image is expanded or contracted to fit the width and height value while maintaining the aspect ratio of the image. Append an exclamation point to the geometry to force the image size to exactly the size you specify. For example, if you specify 640x480! the image width is set to 640 pixels and height to 480. If only one factor is specified, both the width and height assume the value.
  To specify a percentage width or height instead, append `%`. The image size is multiplied by the width and height percentages to obtain the final image dimensions. To increase the size of an image, use a value greater than 100 (e.g. 125%). To decrease an image's size, use a percentage less than 100.
  Use @ to specify the maximum area in pixels of an image.

Use > to change the dimensions of the image only if its size exceeds the geometry specification. < resizes the image only if its dimensions is less than the geometry specification. For example, if you specify '640x480>' and the image size is 512x512, the image size does not change. However, if the image is 1024x1024, it is resized to 640x480.

  When displaying an image on an X server, <x offset> and <y offset> is relative to the root window.
  The equivalent X resource for this option is geometry (class Geometry). See X Resources for details.

-interlace type

  the type of interlacing scheme: None, Line, Plane, or Partition. The default is None.
  This option is used to specify the type of interlacing scheme for raw image formats such as RGB or YUV. None means do not interlace (RGBRGBRGBRGBRGBRGB...), Line uses scanline interlacing (RRR...GGG...BBB...RRR...GGG...BBB...), and Plane uses plane interlacing (RRRRRR...GGGGGG...BBBBBB...). Partition is like plane except the different planes are saved to individual files (e.g. image.R, image.G, and image.B).
  Use Line, or Plane to create an interlaced GIF or progressive JPEG image.

-map type

  display image using this Standard Colormap type.
  Choose from these Standard Colormap types:

          best
          default
          gray
          red
          green
          blue

  The X server must support the Standard Colormap you choose, otherwise an error occurs. Use list as the type and display searches the list of colormap types in top-to-bottom order until one is located. See xstdcmap(1) for one way of creating Standard Colormaps.

-monochrome

  transform the image to black and white.

-remote string

  execute a command in a remote display process.
  The only command recognized at this time is the name of an image file to load.

-rotate degrees{<}{>}

  apply Paeth image rotation to the image.
  Use `>` to rotate the image only if its width exceeds the height. `<` rotates the image only if its width is less than the height. For example, if you specify `-90>` and the image size is 480x640, the image is not rotated by the specified angle. However, if the image is 640x480, it is rotated by -90 degrees.
  Empty triangles left over from rotating the image are filled with the color defined as bordercolor (class borderColor). See X(1) for details.

-scene value

  image scene number.
  Use this option to specify an image sequence with a single filename. See the discussion of file below for details.

-size <width>x<height>{+offset}

  width and height of the image.
  Use this option to specify the width and height of raw images whose dimensions are unknown such as GRAY, RGB, or CMYK. In addition to width and height, use -size to skip any header information in the image or tell the number of colors in a MAP image file, (e.g. -size 640x512+256).

-title string

  assign a title to the displayed image.
  Use this option to assign a specific title to the image. This is assigned to the image window and is typically displayed in the window title bar. Optionally you can include the image filename, type, width, height, or other image attribute by embedding special format characters:

        %b   file size
        %c   comment
        %d   directory
        %e   filename extention
        %f   filename
        %h   height
        %i   input filename
        %k   number of unique colors
        %l   label
        %m   magick
        %n   number of scenes
        %o   output filename
        %p   page number
        %q   quantum depth
        %s   scene number
        %t   top of filename
        %u   unique temporary filename
        %w   width
        %x   x resolution
        %y   y resolution
        \\n   newline
        \\r   carriage return

For example,

          -title "%m:%f %wx%h"

  produces an image title of `MIFF:bird.miff 512x480` for an image titled `bird.miff` and whose width is 512 and height is 480.

-treedepth value

  Normally, this integer value is zero or one. A zero or one tells display to choose an optimal tree depth for the color reduction algorithm.
  An optimal depth generally allows the best representation of the source image with the fastest computational speed and the least amount of memory. However, the default depth is inappropriate for some images. To assure the best representation, try values between 2 and 8 for this parameter. Refer to quantize for more details.
  The -colors or -monochrome option is required for this option to take effect.

-verbose

  print detailed information about the image.
  This information is printed: image scene number; image name; image size; the image class (DirectClass or PseudoClass); the total number of unique colors; and the number of seconds to read and transform the image. Refer to miff for a description of the image class.
  If -colors is also specified, the total unique colors in the image and color reduction error values are printed. Refer to quantize for a description of these values.

-visual type

  display image using this visual type.
  Choose from these visual classes:

          StaticGray
          GrayScale
          StaticColor
          PseudoColor
          TrueColor
          DirectColor
          default
          visual id

  The X server must support the visual you choose, otherwise an error occurs. If a visual is not specified, the visual class that can display the most simultaneous colors on the default X server screen is chosen.

-window id

  set the background pixmap of this window to the image.
  id can be a window id or name. Specify root to select X's root window as the target window.
  By default the image is tiled onto the background of the target window. If -backdrop or -geometry are specified, the image is surrounded by the background color. Refer to X Resources for details.
  The image will not display on the root window if the image has more unique colors than the target window colormap allows. Use -colors to reduce the number of colors.

  In addition to those listed above, you can specify these standard X resources as command line options: -background, -bordercolor, -borderwidth, -font, -foreground, -iconGeometry, -iconic, -mattecolor, -name, or -title. See X Resources for details.
  Any option you specify on the command line remains in effect until it is explicitly changed by specifying the option again with a different effect. For example, to animate two images, the first with 32 colors and the second with only 16 colors, use:

      animate -colors 32 cockatoo.1 -colors 16 cockatoo.2

  By default, the image format is determined by its magic number. To specify a particular image format, precede the filename with an image format name and a colon (i.e. ps:image) or specify the image type as the filename suffix (i.e. image.ps). See convert(1) for a list of valid image formats.
  When you specify X as your image type, the filename has special meaning. It specifies an X window by id, name, or root. If no filename is specified, the window is selected by clicking the mouse in the desired window.
  Specify file as - for standard input, If file has the extension .Z or .gz, the file is uncompressed with uncompress or gunzip respectively. Precede the image file name with | to pipe from a system command.
  Use an optional index enclosed in brackets after a file name to specify a desired subimage of a multi-resolution image format like Photo CD (e.g. img0001.pcd[4]) or a range for MPEG images (e.g. video.mpg[50-75]). A subimage specification can be disjoint (e.g. image.tiff[2,7,4]). For raw images, specify a subimage with a geometry (e.g. -size 640x512 image.rgb[320x256+50+50]).
  Single images are read with the filename you specify. Alternatively, you can animate an image sequence with a single filename. Define the range of the image sequence with -scene. Each image in the range is read with the filename followed by a period (.) and the scene number. You can change this behavior by embedding a printf format specification in the file name. For example,

      -scene 0-9 image%02d.miff

animates files image00.miff, image01.miff, through image09.miff.

Image filenames may appear in any order on the command line if the image format is MIFF (refer to miff(5) and the scene keyword is specified in the image. Otherwise the images will display in the order they appear on the command line.

Back to Contents

Mouse Buttons

  Press any button to map or unmap the Command widget. See the next section for more information about the Command widget.

Back to Contents

Command Widget

  The Command widget lists a number of sub-menus and commands. They are

- Animate

- Open
- Play
- Step
- Repeat
- Auto Reverse

- Speed

- Faster
- Slower

- Direction

- Forward
- Reverse

- Image Info
- Help
- Quit

  Menu items with a indented triangle have a sub-menu. They are represented above as the indented items. To access a sub-menu item, move the pointer to the appropriate menu and press a button and drag. When you find the desired sub-menu item, release the button and the command is executed. Move the pointer away from the sub-menu if you decide not to execute a particular command.

Back to Contents

Keyboard Accelerators

       Ctl+O     Press to load an image from a file.
       space    Press to display the next image in the sequence.

       <    Press to speed-up the display of the images.  Refer to
            -delay for more information.

       >    Press to slow the display of the images.  Refer to
            -delay for more information.

       ?    Press to display information about the image.  Press
            any key or button to erase the information.

            This information is printed: image name;  image size;
            and the total number of unique colors in the image.

       F1    Press to display helpful information about animate(1).

       Ctl-q    Press to discard all images and exit program.

Back to Contents

X Resources

  Animate options can appear on the command line or in your X resource file. Options on the command line supersede values specified in your X resource file. See X(1) for more information on X resources.
  All animate options have a corresponding X resource. In addition, the animate program uses the following X resources:

background (class Background)
  Specifies the preferred color to use for the Image window background. The default is #ccc.

borderColor (class BorderColor)
  Specifies the preferred color to use for the Image window border. The default is #ccc.

borderWidth (class BorderWidth)
  Specifies the width in pixels of the Image window border. The default is 2.

font (class Font or FontList)
  Specifies the name of the preferred font to use in normal formatted text. The default is 14 point Helvetica.

foreground (class Foreground)
  Specifies the preferred color to use for text within the Image window. The default is black.

geometry (class geometry)
  Specifies the preferred size and position of the image window. It is not necessarily obeyed by all window managers.

iconGeometry (class IconGeometry)
  Specifies the preferred size and position of the application when iconified. It is not necessarily obeyed by all window managers.

iconic (class Iconic)
  This resource indicates that you would prefer that the application's windows initially not be visible as if the windows had be immediately iconified by you. Window managers may choose not to honor the application's request.

matteColor (class MatteColor)
  Specify the color of windows. It is used for the backgrounds of windows, menus, and notices. A 3D effect is achieved by using highlight and shadow colors derived from this color. Default value: #ddd.

name (class Name)
  This resource specifies the name under which resources for the application should be found. This resource is useful in shell aliases to distinguish between invocations of an application, without resorting to creating links to alter the executable file name. The default is the application name.

sharedMemory (class SharedMemory)
  This resource specifies whether animate should attempt use shared memory for pixmaps. ImageMagick must be compiled with shared memory support, and the display must support the MIT-SHM extension. Otherwise, this resource is ignored. The default is True.

text_font (class textFont)
  Specifies the name of the preferred font to use in fixed (typewriter style) formatted text. The default is 14 point Courier.

title (class Title)
  This resource specifies the title to be used for the Image window. This information is sometimes used by a window manager to provide some sort of header identifying the window. The default is the image file name.

Back to Contents

Environment

DISPLAY

  To get the default host, display number, and screen.

Back to Contents

Acknowledgements

  The MIT X Consortium for making network transparent graphics a reality.
  Michael Halle, Spatial Imaging Group at MIT, for the initial implementation of Alan Paeth's image rotation algorithm.
  David Pensak, ImageMagick Studio, for providing a computing environment that made this program possible.

Paul Raveling, USC Information Sciences Institute. The spacial subdivision color reduction algorithm is based on his Img software.

Back to Contents

Authors

  John Cristy, magick@wizards.dupont.com ImageMagick Studio.

Back to Contents

Copyright

  Copyright (C) 2001 ImageMagick Studio
  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files ("ImageMagick"), to deal in ImageMagick without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of ImageMagick, and to permit persons to whom the ImageMagick is furnished to do so, subject to the following conditions:
  The above copyright notice and this permission notice shall be included in all copies or substantial portions of ImageMagick.
  The software is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement.In no event shall ImageMagick Studio be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with ImageMagick or the use or other dealings in ImageMagick.
  Except as contained in this notice, the name of the E. I. du Pont de Nemours and Company shall not be used in advertising or otherwise to promote the sale, use or other dealings in ImageMagick without prior written authorization from the ImageMagick Studio.

Back to Contents

Image manipulation software that works like magic.