Thin Wrapper for the library ImageMagick
Latest commit 3839545 Feb 22, 2017 @timholy timholy committed on GitHub Merge pull request #77 from musm/test
Add a couple tests for errors


Build Status Build status Coverage Status

This package provides a wrapper around ImageMagick version 6. It was split off from Images.jl to make image I/O more modular.


Add the package with



ImageMagick will be used as needed if you've said

using FileIO

in your session or module. You should not generally say using ImageMagick. See FileIO for further details.

It's worth pointing out that packages such as Images load FileIO.



ImageMagick.jl will use the system-wide libMagicWand in /usr/local/lib if present (e.g. via a manual installation with homebrew). If not it will install its own copy via Homebrew.jl.

An alternative to ImageMagick on OS X is QuartzImageIO.

You may also find debugging Homebrew useful.

Manual installation on Windows

If automatic installation fails, get the current version from (e.g. ImageMagick-6.8.8-7-Q16-x86-dll.exe) and make sure that the "Install development headers and libraries for C and C++" checkbox is selected. You may choose to let the installer add the installation directory to the system path or provide it separately. In the later case you may add it to your .juliarc.jl file as (for example) push!(Base.DL_LOAD_PATH, "C:/programs/ImageMagick-6.8.8"). Alternatively, you can set your MAGICK_HOME environment variable.

When manual intervention is necessary, you need to restart Julia for the necessary changes to take effect.


ImageMagick.jl automatically searches for an installed version of libMagickWand. Use the environment variable MAGICK_HOME to add to the search path. Use ImageMagick.libversion to see what version it found. Version 6.7+ (up to but not including 7.0) are the most supported versions, in particular for multipage TIFFs.

The environment variable MAGICK_THREAD_LIMIT can be used to throttle multithreading.