Questions and postings pertaining to the usage of ImageMagick regardless of the interface. This includes the command-line utilities, as well as the C and C++ APIs. Usage questions are like "How do I use ImageMagick to create drop shadows?".
I have a number of TIF files that I am trying to convert to Group4 compressed TIF files. My processed worked fine on the smaller files but on the larger (~1GB) files I keep getting the following memory allocation error:
The easy answer is that I'm just running out of memory but I'm running this on a machine with 32GB of memory and when I monitor the memory during execution it never seems to request more than a few GB. It also uses quite a bit of disk space but I have over 300GB free on the partition for the temporary files and it does not seem to be filling up.
File Area Memory Map Disk Thread Time
-------------------------------------------------------------------------------
1536 34.355GB 15.998GiB 31.996GiB unlimited 8 unlimited
If you can grab ImageMagick 6.8.1-8, the latest release, that may help. There are some patches that address large memory / files. Now try this command:
Set your temporary disk path to a partition with plenty of free space with the MAGICK_TMPDIR environment variable or the -define registry:temporary-path=/data/tmp command line option.
The pixel cache grows as required by the image or image sequence. For 300 GB you would need a 50000 by 50000 pixel image or larger or perhaps you have an image sequence with modest size frames but hundreds of them. Or perhaps you have a corrupt image that incorrectly returns a huge image size. Post a URL to your image and we will download it and try to reproduce the problem.
I am not able to post the images because they contain sensitive information. They vary but as an example one is 1764x2248 grayscale with 179 pages; another is 1721x2216 grayscale with 441 pages. It may partly be because it doesn't always clear the cache after it finishes processing a given image.
ImageMagick opens each of the frames in an image sequence. With that many frames, 300GB of disk seems reasonable. If that's a problem you can read just a frame or two at a time, e.g. convert 'image.tif[3-5]'.