[Resolved] convert.exe missing from 7.0.1-Q16?

Post any defects you find in the released or beta versions of the ImageMagick software here. Include the ImageMagick version, OS, and any command-line required to reproduce the problem. Got a patch for a bug? Post it here.
svengineer99
Posts: 24
Joined: 2016-01-09T10:38:11-07:00
Authentication code: 1151

[Resolved] convert.exe missing from 7.0.1-Q16?

Post by svengineer99 »

After installation of http://www.imagemagick.org/download/bin ... 64-dll.exe I can't find convert.exe in the ImageMagick-7.0.1-Q16 folder; everything else seems to be there - compare, composite, conjure, .. - just not convert.exe. Same issue on 2 different Win8.1 systems also with Q8, -static and x86 versions. Same procedure with 6.9.3-9-Q16-x64-dll.exe works fine with convert.exe there as expected.
Last edited by svengineer99 on 2016-05-06T14:37:32-07:00, edited 1 time in total.
User avatar
fmw42
Posts: 25562
Joined: 2007-07-02T17:14:51-07:00
Authentication code: 1152
Location: Sunnyvale, California, USA

Re: convert.exe missing from 7.0.1-Q16?

Post by fmw42 »

Imagemagick 7 uses the "magick" command in place of "convert". I do not know Windows, but I thought a binary install was supposed to make a symbolic link from convert to magick. But as I do not know Windows, I do not know how it handles the .exe.

Perhaps convert.exe is linked to magick.exe.

see http://imagemagick.org/script/porting.php#cli for the changes between IM 6 and IM 7
snibgo
Posts: 12159
Joined: 2010-01-23T23:01:33-07:00
Authentication code: 1151
Location: England, UK

Re: convert.exe missing from 7.0.1-Q16?

Post by snibgo »

The IM 7 for Windows instllation process has a series of windows, including a load of checkboxes. About half way down one of these is wording something like "Install legacy components (convert.exe etc)". Tick this box.
snibgo's IM pages: im.snibgo.com
User avatar
GeeMack
Posts: 718
Joined: 2015-12-01T22:09:46-07:00
Authentication code: 1151
Location: Central Illinois, USA

Re: convert.exe missing from 7.0.1-Q16?

Post by GeeMack »

On Windows 7 64 Pro, I installed "ImageMagick-7.0.1-0-Q16-HDRI-x64-static.exe", dated 2016-05-01, and downloaded from "ftp://ftp.imagemagick.org/pub/ImageMagick/binaries/". I checked the box to install legacy programs, and it didn't install convert, mogrify, montage, etc. I downloaded another with the same name, just a few minutes ago, which had the same date stamp but a newer time stamp, and was a few kilobytes larger. It also didn't install the legacy utilities.
snibgo
Posts: 12159
Joined: 2010-01-23T23:01:33-07:00
Authentication code: 1151
Location: England, UK

Re: convert.exe missing from 7.0.1-Q16?

Post by snibgo »

Perhaps there was a bug in those builds. I downloaded and installed ImageMagick-7.0.1-0-Q16-x64-dll.exe, ticking the box for legacy programs. It installed magick.exe, convert.exe, mogrify.exe, montage.exe, etc. "convert -version" shows:

Code: Select all

ImageMagick 7.0.1-0 Q16 x64 2016-04-30
snibgo's IM pages: im.snibgo.com
svengineer99
Posts: 24
Joined: 2016-01-09T10:38:11-07:00
Authentication code: 1151

Re: convert.exe missing from 7.0.1-Q16?

Post by svengineer99 »

Install legacy components check box works for me (my bad for missing it before) but now 7.0.1-Q16 convert gives radically different result than 6.9.3-9-Q16 convert and replacing convert with magick is different again from both. Should legacy convert behave the same as before or do I need to re-write all my scripts (admittedly maybe not best practice format but working in 6.9.3-9)?

[Edit - I should note that the source images contain alpha so maybe the IM7 behavioral changes involving alpha channel (that I don't completely understand) are the issue? Any tips what to modify to replicate the original 6.9.3.9 result in 7.0.1 would be greatly appreciated. Thanks in advance..]

zip source and outputs (scripts run in TestIM6.9.3-9convert-vs-7.0.1convertandmagick folder, outputs in Textures sub-folder):
https://www.dropbox.com/s/63ix33f79wkj1 ... ck.7z?dl=0

Code: Select all

convert Textures\SkyDiversity_Orig_Skies\Tx_Sky_Overcast.dds -resize 4096x4096 -background rgb(6,8,10) -alpha remove miff:- | composite -compose dst_out Textures\SkyDiversity\Tx_Skd_CloudBreak_Mask.dds miff:- -alpha set miff:- | convert Textures\SkyDiversity\Tx_Skd_4xCloudy.dds miff:- -composite -define dds:compression=dxt5 -define dds:cluster-fit=false Textures\Tx_Sky_Overcast.dds  
.jpg converted output (6.9.3-9-Q16): https://www.dropbox.com/s/6wbdpoe5nyorg ... 9.jpg?dl=0
.jpg converted output (7.0.1-Q16): https://www.dropbox.com/s/05ixzogbvbbg5 ... 9.jpg?dl=0

Code: Select all

magick Textures\SkyDiversity_Orig_Skies\Tx_Sky_Overcast.dds -background rgb(6,8,10) -alpha remove miff:- | composite -compose dst_out Textures\SkyDiversity\Tx_Skd_CloudBreak_Mask.dds miff:- -alpha set miff:- | magick Textures\SkyDiversity\Tx_Skd_4xCloudy.dds miff:- -composite -define dds:compression=dxt5 -define dds:cluster-fit=false Textures\Tx_Sky_Overcast.dds 
.jpg converted output (7.0.1-Q16): https://www.dropbox.com/s/t5f9u4jiwa0t8 ... 9.jpg?dl=0
User avatar
fmw42
Posts: 25562
Joined: 2007-07-02T17:14:51-07:00
Authentication code: 1152
Location: Sunnyvale, California, USA

Re: convert.exe missing from 7.0.1-Q16?

Post by fmw42 »

Why are you piping to the deprecated composite, when you could do it all in one command line using convert ... -composite?

See http://www.imagemagick.org/Usage/compose/#compose
User avatar
fmw42
Posts: 25562
Joined: 2007-07-02T17:14:51-07:00
Authentication code: 1152
Location: Sunnyvale, California, USA

Re: convert.exe missing from 7.0.1-Q16?

Post by fmw42 »

Seems to me that there was some recent activity regarding DDS format at viewtopic.php?f=3&t=27169&p=132698&hilit=DDS#p120361. Perhaps a fix was made to one or the other releases but not both?

Sorry, but I do not know much about DDS format and have not used it before.
svengineer99
Posts: 24
Joined: 2016-01-09T10:38:11-07:00
Authentication code: 1151

Re: convert.exe missing from 7.0.1-Q16?

Post by svengineer99 »

I copied from examples from maybe too old or not best practice posts, and it worked so I didn't pay too much attention to the syntax. I didn't see anything about composite being deprecated in the 7.0 release though so I'm still at a loss why it totally barfs on the same usage that worked fine with 6.9.3-9.
User avatar
fmw42
Posts: 25562
Joined: 2007-07-02T17:14:51-07:00
Authentication code: 1152
Location: Sunnyvale, California, USA

Re: convert.exe missing from 7.0.1-Q16?

Post by fmw42 »

I do not know why, but think it might have to do with DDS format changes. composite has been sort of deprecated for a long time in favor of the more flexible convert ... -composite. It is a legacy command. Composite still works as far as I know. But you would do well to start using convert ... -composite, so your command could avoid the pipes and run in one single command line. Ultimately, composite will go away, but I do not know when.

Someone who uses DDS format and Windows should check this for you. Perhaps they know more or something was not fixed in Windows (or even unix) between release. What is puzzling is that it is different using IM 7 convert and magick. In unix, convert is just a copy or symbolic link to magick. I do not know about the use of Windows legacy mode to get to convert in IM 7.
User avatar
fmw42
Posts: 25562
Joined: 2007-07-02T17:14:51-07:00
Authentication code: 1152
Location: Sunnyvale, California, USA

Re: convert.exe missing from 7.0.1-Q16?

Post by fmw42 »

convert Textures\SkyDiversity_Orig_Skies\Tx_Sky_Overcast.dds -resize 4096x4096 -background rgb(6,8,10) -alpha remove miff:- | composite -compose dst_out Textures\SkyDiversity\Tx_Skd_CloudBreak_Mask.dds miff:- -alpha set miff:- | convert Textures\SkyDiversity\Tx_Skd_4xCloudy.dds miff:- -composite -define dds:compression=dxt5 -define dds:cluster-fit=false Textures\Tx_Sky_Overcast.dds
I do not see how this command works, since you are missing the -compose method in your composite line. You are also writing over your input image. If you do that and then test with another version of IM, you are sure to get differences.

I ran these commands and get the same results on IM 6.9.3.9 Q16 Mac OSX and IM 7.0.1.0 Q16 HDRI Mac OSX.

Note: I replace your standard-in miff:- with just -. I also added -compose over, since you had no method associated with your -compose.

Code: Select all

convert Tx_Sky_Overcast.dds -resize 4096x4096 -background "rgb(6,8,10)" -alpha remove miff:- |\
composite -compose over Tx_Skd_CloudBreak_Mask.dds - -alpha set miff:- |\
convert Tx_Skd_4xCloudy.dds - -composite \
-define dds:compression=dxt5 -define dds:cluster-fit=false Tx_Sky_Overcast_6939.dds 

im7 magick Tx_Sky_Overcast.dds -resize 4096x4096 -background "rgb(6,8,10)" -alpha remove miff:- |\
composite -compose over Tx_Skd_CloudBreak_Mask.dds - -alpha set miff:- |\
convert Tx_Skd_4xCloudy.dds - -composite \
-define dds:compression=dxt5 -define dds:cluster-fit=false Tx_Sky_Overcast_7010magick.dds 

compare -metric rmse Tx_Sky_Overcast_6939.dds Tx_Sky_Overcast_7010magick.dds null: 
7.35433 (0.00011222)
svengineer99
Posts: 24
Joined: 2016-01-09T10:38:11-07:00
Authentication code: 1151

Re: convert.exe missing from 7.0.1-Q16?

Post by svengineer99 »

Thanks. With your helpful input I was able to get a simpler command working equally well using both 7.0.1 convert and magick:

magick ( Textures\SkyDiversity_Orig_Skies\Tx_Sky_Overcast.dds -resize 4096x4096 -background rgb(6,8,10) -alpha remove ) Textures\SkyDiversity\Tx_Skd_CloudBreak_Mask.dds -alpha set -compose dst_out -composite Textures\SkyDiversity\Tx_Skd_4xCloudy.dds -compose multiply -composite -define dds:compression=dxt5 -define dds:cluster-fit=false Textures\Tx_Sky_Overcast.dds

convert ( Textures\SkyDiversity_Orig_Skies\Tx_Sky_Overcast.dds -resize 4096x4096 -background rgb(6,8,10) -alpha remove ) Textures\SkyDiversity\Tx_Skd_CloudBreak_Mask.dds -alpha set -compose dst_out -composite Textures\SkyDiversity\Tx_Skd_4xCloudy.dds -compose multiply -composite -define dds:compression=dxt5 -define dds:cluster-fit=false Textures\Tx_Sky_Overcast.dds

Thank you again. Hopefully my case is unique and it's not recurring issue for others upgrading to IM7.
Charlie
Posts: 4
Joined: 2016-06-06T07:32:24-07:00
Authentication code: 1151

convert still missing ?

Post by Charlie »

Hello,
I'm having the same issue, with convert still missing from ImageMagick-7.0.1-9-Q16-x64-static, although I've ticked the "install legacy component" option.

PS: @Fred, like you said, I thought "magick" was the substitution tool for "convert", with just a symbolic link missing.
However, one of your transition scripts (http://www.fmwconcepts.com/imagemagick/ ... /index.php)
is not working with "magick". It generates an empty mp4. It still runs fine with "convert" though, so at the moment I'm keeping a previous IM installation.
User avatar
fmw42
Posts: 25562
Joined: 2007-07-02T17:14:51-07:00
Authentication code: 1152
Location: Sunnyvale, California, USA

Re: convert still missing ?

Post by fmw42 »

Charlie wrote: PS: @Fred, like you said, I thought "magick" was the substitution tool for "convert", with just a symbolic link missing.
However, one of your transition scripts (http://www.fmwconcepts.com/imagemagick/ ... /index.php)
is not working with "magick". It generates an empty mp4. It still runs fine with "convert" though, so at the moment I'm keeping a previous IM installation.
The transitions script works fine for me under IM 6.9.4.7 and 7.0.1.9. I am not sure I understand what you mean by it does not run with magick. The script is not called with either magick or convert. Internally it uses convert, not magick. So you must have the symbolic link working so that it will find convert.

What was your command? What changes did you make when you say you used "magick"? Please clarify.
snibgo
Posts: 12159
Joined: 2010-01-23T23:01:33-07:00
Authentication code: 1151
Location: England, UK

Re: [Resolved] convert.exe missing from 7.0.1-Q16?

Post by snibgo »

PS: @Fred, like you said, I thought "magick" was the substitution tool for "convert", with just a symbolic link missing.
This is not true for Windows pre-built v7 binaries. (At least, for v7.0.1-4.)

If we have a v6 convert command, for example:

Code: Select all

convert xc:rg(10%,20%,30%,0.8) -evaluate divide 2 txt:
... then we have three alternative ways of writing this in v7:

Code: Select all

convert xc:rg(10%,20%,30%,0.8) -evaluate divide 2 txt:
magick xc:rg(10%,20%,30%,0.8) -evaluate divide 2 txt:
magick convert xc:rg(10%,20%,30%,0.8) -evaluate divide 2 txt:
EDIT: Typo. Those functions should be "rgba(...)" not "rg(...)".

The v6 result is:

Code: Select all

0,0: (3277,6554,9831,52428)  #0CCD199A2667CCCC
The v7 result is:

Code: Select all

0,0: (3277,6554,9831,26214)  #0CCD199A26676666
The difference is because v6 has a default "-channel" of "RGB,Sync" where v7's default is "RGBA,Sync". If we want the same result, we need to explicitly set "-channel".
snibgo's IM pages: im.snibgo.com
Post Reply