PSD RLE compression — any speed improvements possible?

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?".
User avatar
fmw42
Posts: 25562
Joined: 2007-07-02T17:14:51-07:00
Authentication code: 1152
Location: Sunnyvale, California, USA

Re: PSD RLE compression — any speed improvements possible?

Post by fmw42 »

muccigrosso wrote:So you're saying that by not using it, I'm missing out on something?
IM 6 (convert syntax) is no longer having new features added to it. IM 7 (magick syntax) already has new features. It also processed grayscale images as one channel and not 3 as in IM 6. There are a number of features in IM 7, such as being able to do computations in-line, that you would be missing if you continue using only convert.

See http://imagemagick.org/script/porting.php#cli
muccigrosso
Posts: 64
Joined: 2017-10-03T10:39:52-07:00
Authentication code: 1151

Re: PSD RLE compression — any speed improvements possible?

Post by muccigrosso »

snibgo wrote: 2018-03-13T08:07:33-07:00
wrote:And I've shown that convert by itself seems identical to magick by itself, ...
But you showed above a command that "convert" by itself accepts a sequence of arguments that "magick" by itself doesn't. They are not identical. (I suppose the symlinked program finds how it was called, and processes its arguments accordingly.)
I suspect so.
muccigrosso
Posts: 64
Joined: 2017-10-03T10:39:52-07:00
Authentication code: 1151

Re: PSD RLE compression — any speed improvements possible?

Post by muccigrosso »

fmw42 wrote: 2018-03-13T11:05:45-07:00
muccigrosso wrote:So you're saying that by not using it, I'm missing out on something?
IM 6 (convert syntax) is no longer having new features added to it. IM 7 (magick syntax) already has new features. It also processed grayscale images as one channel and not 3 as in IM 6. There are a number of features in IM 7, such as being able to do computations in-line, that you would be missing if you continue using only convert.
But those "old" commands do report v7, I'm pretty sure that's what I'm using:

Code: Select all

Version: ImageMagick 7.0.7-26 Q16 x86_64 2018-03-13 http://www.imagemagick.org
Copyright: © 1999-2018 ImageMagick Studio LLC
License: http://www.imagemagick.org/script/license.php
Features: Cipher DPC HDRI Modules
Delegates (built-in): bzlib fontconfig freetype jbig jng jp2 jpeg lcms ltdl lzma png tiff x xml zlib
fmw42 wrote: 2018-03-13T11:05:45-07:00 See http://imagemagick.org/script/porting.php#cli
Yes, this is the page I was referring to. Note that it says:
To reduce the footprint of the command-line utilities, these utilities are symbolic links to the magick utility. You can also invoke them from the magick utility, for example, use magick convert logo: logo.png to invoke the convert utility
This then seems to say that the old commands are perfectly valid, though it may also be, as @snigo suggested, that they will handle the old command order since they seem to handle it (even though this is not stated on that page).
User avatar
fmw42
Posts: 25562
Joined: 2007-07-02T17:14:51-07:00
Authentication code: 1152
Location: Sunnyvale, California, USA

Re: PSD RLE compression — any speed improvements possible?

Post by fmw42 »

If you have set up a symbolic link between convert and magick, then the two commands are the same and are using IM 7 code.

The old command syntax may be valid if using convert when it refers to IM 6 code, but would fail if you have them in the wrong order and convert is symbolically linked to magick so it is using the new IM 7 code.

The IM 7 code is not forgiving of syntax errors, whereas the IM 6 code is somewhat forgiving.
muccigrosso
Posts: 64
Joined: 2017-10-03T10:39:52-07:00
Authentication code: 1151

Re: PSD RLE compression — any speed improvements possible?

Post by muccigrosso »

fmw42 wrote: 2018-03-13T16:22:00-07:00 If you have set up a symbolic link between convert and magick, then the two commands are the same and are using IM 7 code.
I didn't set it up. I install IM via Homebrew, and there it was. But the text I quote from the web page seems to indicate that the links are expected.

But yes, convert (and identify, etc) are surely using IM7.
fmw42 wrote: 2018-03-13T16:22:00-07:00 The old command syntax may be valid if using convert when it refers to IM 6 code, but would fail if you have them in the wrong order and convert is symbolically linked to magick so it is using the new IM 7 code.
Well, then it seems smart enough to use the old syntax when invoked with the old command. If I do something like the following, it works fine:

Code: Select all

convert -size 100x100 -background blue -negate xc: show:
Starting with "magick convert" works fine, too. magick alone won't work. And again, I only have IM7 on my system.
fmw42 wrote: 2018-03-13T16:22:00-07:00 The IM 7 code is not forgiving of syntax errors, whereas the IM 6 code is somewhat forgiving.
Again, my testing seems to indicate that IM7 is forgiving if you use the old commands without "magick". Does your system behave differently?
snibgo
Posts: 12159
Joined: 2010-01-23T23:01:33-07:00
Authentication code: 1151
Location: England, UK

Re: PSD RLE compression — any speed improvements possible?

Post by snibgo »

In this thread, there are two concepts of version. One is the version of the software: v6 or v7. The other is the syntax, which we call v6 or v7 because v6 software had certain (rather loose) rules about syntax, and v7 which tightened up some rules. However, for compatibility, v7 software can loosen up, and accept v6 syntax.

To get this compatibility mode, use v7 "magick convert" or simply "convert" where that is a symlink for "magick".

If you use "magick" by itself, you get the v7 rules.
snibgo's IM pages: im.snibgo.com
muccigrosso
Posts: 64
Joined: 2017-10-03T10:39:52-07:00
Authentication code: 1151

Re: PSD RLE compression — any speed improvements possible?

Post by muccigrosso »

snibgo wrote: 2018-03-13T21:21:46-07:00 In this thread, there are two concepts of version. One is the version of the software: v6 or v7. The other is the syntax, which we call v6 or v7 because v6 software had certain (rather loose) rules about syntax, and v7 which tightened up some rules. However, for compatibility, v7 software can loosen up, and accept v6 syntax.

To get this compatibility mode, use v7 "magick convert" or simply "convert" where that is a symlink for "magick".

If you use "magick" by itself, you get the v7 rules.
Thanks, that explains a lot. This info could be included in that doc, huh?

PS That's not really how "version" is being used in multiple places in this thread.
Post Reply