Functional comparison of IM and GM

John Lane
2014-03-21
2014-03-22
  • John Lane

    John Lane - 2014-03-21

    I have just spent a few days on an assignment which involved evaluating ImageMagick and while doing that I discovered GraphicsMagick. I have a few small test scripts that I wrote while getting a feel for what you can do with both suites and I noticed some features lacking in GM.

    It's fair enough - they're different horses for different courses. I just wondered if there was anywhere a comparison of the two from a functional standpoint. I have read all about the performance benefits of GM over IM. I would find it useful to be able to see a summary of the differences without having to side-by-side compare the websites.

    For instance, in my very limited experience I have discovered that

    • GM supports fewer colour systems and notations
    • GM convert does not have a -delete option
    • GM convert does not have a -clip-mask option
    • GM does not recognise canvas (not really a problem as xc is fine)

    I was happy that my few test scripts worked with or without the gm prefix, but with one exception - one that used -delete. Perhaps there is an alternative method in GM.

     
    Last edit: John Lane 2014-03-21
    • Bob Friesenhahn

      Bob Friesenhahn - 2014-03-21

      On Fri, 21 Mar 2014, John Lane wrote:

      I have just spent a few days on an assignment which involved evaluating ImageMagick and while doing that I discovered
      GraphicsMagick. I have a few small test scripts that I wrote while getting a feel for what you can do with both suites and I
      noticed some features lacking in GM.

      It's fair enough - they're different horses for different courses. I just wondered if there was anywhere a comparison of the
      two from a functional standpoint. I have read all about the performance benefits of GM over IM. I would find it useful to be
      able to see a summary of the differences without having to side-by-side compare the websites.

      For instance, in my very limited experience I have discovered that

      • GM supports fewer colour systems and notations
      • GM convert does not have a -delete option
      • GM does not recognise canvas (not really a problem as xc is fine)

      I was happy that my few test scripts worked with or without the gm prefix, but with one exception - one that used -delete.
      Perhaps there is an alternative method in GM.

      GraphicsMagick does not support ImageMagick's command-line "Image
      Stack Operators" (which -delete is a part of).

      GraphicsMagick does not support -fx operators (but does have -operator
      which can ultimately do many similar things). The -fx operator sounds
      interesting but it is excruciatingly slow since it is entirely
      interpreted.

      GraphicsMagick does not support -morphology, which is really cool, but
      exceedingly slow.

      GraphicsMagick does not support a channel mask to say which channels
      are allowed to be modified. This feature often causes ImageMagick to
      be slower/bigger due to adding a huge amount of conditional code to
      inner loops.

      ImageMagick's composition operators are currently more advanced than
      GraphicsMagick.

      Other than the above, users are not likely to notice an actual lack of
      features. Sometimes an apparent lack of features is primarily because
      ImageMagick changed its help output and prior command lines still
      work.

      It is pretty easy to find cases where ImageMagick is 14X or 40X slower
      than GraphicsMagick.

      Features which worked in GraphicsMagick in 2003 still produce the same
      (or better) result today.

      The GraphicsMagick library ABI has been stable since 2008 (or earlier,
      depending on how you look at it).

      Bob

      Bob Friesenhahn
      bfriesen@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/
      GraphicsMagick Maintainer, http://www.GraphicsMagick.org/

       
  • John Lane

    John Lane - 2014-03-22

    That is very useful. I never got an error when using an image stack except for the one saying -delete was not recognised. The above is good to know.

    Is there an alternative to -clip-mask ?

     
    Last edit: John Lane 2014-03-22

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks