imagemagick implementation