4 ms·
But is it very different from ImageMagik in terms of functionality?
by billfruit 4y ago
But is it very different from ImageMagik in terms of functionality?
- buildbot 4y agoNot that I know of, but one has to install that.
- giantrobot 4y agoImageMagick is vastly more powerful than sips. There's little reason not to use it when it's available. However if you're writing a script for macOS and sips suits your needs it's really nice to have. See also the avconvert tool, it's not as capable as ffmpeg but it'll ingest and convert any format/codec supported by AVFoundation and comes with the system.
- jbverschoor 4y agoSips is way faster and produces better results in tens of quality (color management). It’s a tricky thing to do right with magick
- woolion 4y agoCould you expand? I've used ImageMagick to do some fairly advanced color management, and I really don't see how that can be true. You have basic keyword arguments for common use-cases, and you can get down to matrix operations on the color space to have absolute control. The only thing that I missed was that if you wanted to 'pipe' matrix transforms one into the other, you couldn't do it in different steps because of the precision loss (that is due to image encoding, not IM), so the best way to do that was to multiply the matrices to always do it on one step.
- jbverschoor 4y agoIM doesn't come with proper color profiles. You have to specify every single thing. It's apparent when converting between CMYK RGB and other color spaces. You probably know this, but you fail to acknowledge it. The fact that you do advanced color management and like the complete control means you actually work with it and understand it. You'll have all the different profiles you need. Most people don't, and for them it's a huge hassle, and for most it's like black magic(k).
- woolion 4y ago>You probably know this, but you fail to acknowledge it. I don't think my comment was really aggressive to justify assuming bad faith in such a way. For all my normal usage (conversion, montage) I never have to specify anything. The advanced use-cases were explicitly about color management, so I spent some time reading the doc and managed to get done what I had to fairly painlessly. There are things for which IM's CLI is uselessly tricky; for example calling `montage` you have to pass `-mode Concatenate` to have the command do what you expect it to do. I always use command history to remember how to call it properly. So what I gather from your comment is that the commands' defaults are bad, but I'd have found interesting to have more precise examples of what can be done in a very trivial way in Sips that would require complex arguments in IM. Maybe that could be packaged as a simple helper script to close that gap, or added as a new interface.
- jbverschoor 4y ago> I don't think my comment was really aggressive to justify assuming bad faith in such a way. Oh it definitely wasn't aggressive at all, and I'm not assuming bad faith. It's just that so many people in tech state things are simple, when in fact they are complex. The classic example on HN is the initial Dropbox post. I've done quite some work with ImageMagick, GhostScript and poppler/xpdf, and most issues I came across were color management issues, and issues with CMYK jpegs. I don't remember exactly which issues, but one thing for example is that you can get a faded output when doing conversions without a profile, or with the wrong profile. Easily fixed, but with sips you don't have those issues, as it has some sane defaults. With just ImageMagick + GhostScript it's nearly impossible to get a proper rendering of a PDF (let alone a complex PDF) without your machine blowing up in terms of resources. My solution was to use libpoppler/xpdf to convert to a bitmap image, and then process in IM. Resizing larger files or vector formats require unnecessary planning about resource usage, and to improve quality they recommend you to first render at a higher resolution and then rescale it. This is partly because IM uses raw pixel information in memory, and if I recall correctly, each channel is 16-bit, unless you download the 8-bit version. And party because of the different methods of rendering a file to that buffer (sometimes it lacks antialiasing etc). IM is a godsend because of all the features and support, but is also a big pain in the head and the butt at the same time in terms of usability, resources, security, and sometimes you stumble on bugs with some file parsers, but at least it's open source :) IM is just a huge toolkit which tries (and does) do it all. The CLI is def a pain to use, but some libraries make it easier to chain commands into an argument (and thereby keeping IM out of process). Note that my experience with serious magick dates until around 2015, so I'm not sure what it is right now.
- acdha 4y agoImageMagick has more features but SIPS covers almost all of the ones I’ve ever needed to use, and it’s much faster (sometimes an order of magnitude or more, see below) and tends to be better at correctness around colorspaces and formats. I noticed this most noticeably working with JPEG-2000 files (I work at a library with large collections of scanned images). ImageMagick technically supported the format but it was by the Jasper library which was extremely slow and, worse, had a fair number of images which it couldn’t decode correctly so you’d get a black box from an allegedly error-free pass. I never hit an issue with CoreImage like that, which was a point in favor of trustworthiness. The performance benefits varied but I never found a case where ImageMagick was faster or even less than a whole multiple slower.