ImageMagick Engine - Windows Installation

Please note: this article is only applicable to on-premise installations. If you are a SaaS customer, ImageMagick is automatically installed and configured optimally.

ImageMagick is a software suite to create, edit, and compose bitmap images. It can read, convert and write images in a variety of formats. NetX is able to use this robust engine for generating thumbnails and previews of many image formats. This guide will instruct you on how to install the full version of ImageMagick on your server and configure NetX to connect to it for transcoding operations.

 

Installation

ImageMagick must be installed on the NetX application server.

Downloading the ImageMagick executable

Currently, NetX only supports version 6.x of ImageMagick. If you go to the ImageMagick download site, you will mostly likely see versions of ImageMagick 7. Do not install version 7. Instead, use this link:  https://download.imagemagick.org/ImageMagick/download/binaries/ImageMagick-6.9.11-56-Q16-x64-static.exe

Installation wizard

  1. Log on to your NetX server and download the ImageMagick 6.x executable using the link posted above.
  2. Double-click to run the executable and start the installation wizard.
  3. When prompted to Open File - Security Warning, click Run.



  4. Accept the License Agreement and click Next.
  5. Click Next.
  6. Choose the path you would like the ImageMagick application folder to reside in. We recommend the default if you aren't sure.

     

  7. Choose the location where ImageMagick will install the program shortcuts. If you aren't sure, choose the default.

  8. Make sure that "Add application directory to your system path" is checked. All other checkboxes are optional. You can leave the defaults if you like.

  9. Click Install to begin the installation process.
  10. When the installation has completed, click Next.
  11. Click Finish to exit the wizard. You can uncheck view index.html. 

Configuring NetX to use ImageMagick

Now that ImageMagick is installed, you will need to tell NetX how to use it for transcoding. This is achieved by editing a few properties in NetX.

  1. Edit the exogen-config.xml file and setup the following properties (or add them from System > Properties). Note that the value of imagemagick.homeFolder needs to match the folder where ImageMagick was installed, as shown in the example below. Likewise, the value of imagemagick.exePath needs to reflect the full location of convert.exe.

    <property>
    <name>imagemagick.homeFolder</name>
    <value>C:\Program Files\ImageMagick-6.9.3-Q16</value>
    </property>
    
    <property>
    <name>imagemagick.exePath</name>
    <value>C:\Program Files\ImageMagick-6.9.3-Q16\convert.exe</value>
    </property>
    
    <property>
    <name>imagemagick.enabled</name>
    <value>true</value>
    </property>
  2. Restart NetX.

  3. Log into your NetX server, and locate the ImageMagick properties in System > Properties. You should see the license info updated to reflect the new installation. If you see that the slashes for some paths have changed direction, don't worry, this is normal once NetX restarts and reads the property.

  4. To test that ImageMagick itself is functioning properly, open a Windows command prompt and change directories to the ImageMagick application folder. Once inside that folder, run the following command:

    convert -version

    You can see an example of the command and output in the screenshot below:


Configuration properties

Property Description
imagemagick.limitMemory

This property limits the amount of memory allocated to ImageMagick while processing an image. This property's value should be a number, in megabytes. For more information regarding ImageMagick and memory limits, see their documentation.

Value options: Number, in MB

imagemagick.limitArea

This property limits the image area processed by ImageMagick. This property's value should be a number, in megabytes. For more information regarding ImageMagick and area limits, see their documentation.

Value options: Number, in MB

imagemagick.limitMap

This property limits the map processed by ImageMagick. This property's value should be a number, in megabytes. This property For more information regarding ImageMagick and area limits, see their documentation.

Value options: Number, in MB

imagemagick.limitThread

This property limits the number of threads processed by ImageMagick. This property's value should be a number, in megabytes. This property For more information regarding ImageMagick and area limits, see their documentation.

Value options: Number

imagemagick.scanAndRemoveBadXmp

This property allows you to specify an XMP field that will be ignored as the image is processed through ImageMagick. This is useful to cut down on resources and processing time if there is a large XMP field. This property's value should be formatted with the name of a file format (such as PSD), followed by the name of an XMP field, e.g. photoshop:DateCreated. These values should be delimited with a comma, as in this example: PSD,photoshop:DateCreated. Only one XMP field may be specified as a value for this property.

Value options: format, XMP tag name

imagemagick.jpgQuality

This property determines the quality of the output image. The value of this property should be a number between 1-100, representing a percentage of image quality. The default value is 70. 

Value options: 1-100

imagemagick.processTimeout

This property determines the length of time ImageMagick will spend before timing out. This value is in seconds. The default limit is 2700, or 45 minutes.

Value options: Number, in seconds

imagemagick.tifEndian

This property determines the byte order ImageMagick will use to process tiff images. The value options are msb (most significant bye) or lsb (least significant byte). The default value for this property is msb; if there is an issue processing an image using this setting, the system will fall back on lsb

Value options: msb or lsb

imagemagick.optimizedProxyGeneration

If the value of this property is true, proxy generation (previews, thumbnails, zoom views) will be performed using the ImageMagick engine. If the value of this property is false, this proxy generation will be disabled. The default value for this property is true.

Value options: true / false

imagemagick.optimizedProxyRetainColorProfiles

If the value of this property is true, some XMP data will be stripped from any generated proxies, but their color profile will be maintained. If the value of this property is falseall XMP data will be removed from any generated proxies, including color profiles. This property is false by default. 

Value options: true / false

imagemagick.postProcessing

If the value of this property is true, any embedded ICC color profiles will be stripped from the output file. If the value of this property is false, the embedded color profile will be maintained. This property is false by default. 

Value options: true / false

image.colorspaceIdentification

If the value of this property is true, ImageMagick will identify the color space of the input image and use the color space in the output file in NetX. If the value of this property is false, this check will not take place.

Value options: true / false

xmp.packetMaxThreshold

This property limits the size of the XMP packet associated with an asset. If the asset meets this threshold, the XMP is scanned for any large values; these larger values are then stripped from the temporary input file. Note that the original asset will be maintained. The value of this property should be a number, in megabytes. It is not set by default.

Value options: Number, in MB

engine.proxy.strictSRGB

When this property is true, asset previews and thumbnails will convert to sRGB colorspace. When this property is false, previews and thumbnails will not be converted.

Value options: true / false

engine.repurpose.strictSRGB

When this property is trueall repurposed assets will convert to sRGB colorspace unless otherwise specified during the repurpose process. When this property is false, repurposed assets will not automatically convert to sRGB colorspace. 

Value options: true / false

engine.zoom.strictSRGB

When this property is true, zoom tiles will be converted to sRGB colorspace when generated. When this property is false, zoom tiles will not be converted. 

Value options: true / false

imagemagick.enabled

When the value of this property is true, the ImageMagick engine is enabled. By default it will be enabled, if the ImageMagick init code finds the binary in the default location, else it is disabled. This property is required.

Value options: true / false

imagemagick.homeFolder

The value should be an absolute path to the folder where ImageMagick binaries live (not relative). This property is required.

<property>
	<name>imagemagick.homeFolder</name> 
	<value>C:\Program Files\ImageMagick-6.9.3-Q16</value> 
</property>
Value options: Absolute path
imagemagick.stripMetadata

If the value of this property is trueall metadata will be stripped from the output file including all XMP, EXIP, or color profile data. If the value of this property is false, the output file's metadata will be preserved.

Value options: true / false

Was this article helpful?
0 out of 0 found this helpful