Tuesday, 24 June 2014

New stable version, 7.40

Another six months, another version. This time there are a few interesting new things though, and we're at a significant milestone.

We've spent almost four years so far doing a ground-up rewrite of libvips and, with this version, the last bit of old code has gone. There's still a bit more to do, the documentation needs bringing up to date and the Python and C++ interfaces need rewriting, but the huge bulk of it is done. I might have a beer.

There is one non-backwards compatible change: the command-line programs header and edvips have been renamed to vipsheader and vipsedit, and the almost useless mergeup and find_mosaic have been removed. Hopefully the saner names will mean that these useful programs will be distributed more widely.

Here's what's new in headlines, see the libvips ChangeLog and nip2 ChangeLog for more detail. Sources, plus binaries for Windows and OS X are here, homebrew and macports should update soon.

Hough transforms

There are two new operations: a linear and a circular Hough transform. David Young helped with the circular one. These things are very useful for finding lines and circles in images. There are new nip2 menu items for driving these things.

ImageMagick in nip2

nip2 now includes the whole of ImageMagick (or optionally GraphicsMagick) thanks to hard work by snibgo.


Look in Toolkits / Magick and you'll find a very large list of operations. The menu layout isn't finalized yet, but they should all work.

Better nip2 plots

nip2's plot windows can now have titles and legends. You can right-click on a plot window and save the plot as a bitmap, and you can get at the bitmap from within nip2's programming language too. This is very handy for making reports.

Better vipsthumbnail

vipsthumbnail now has auto-rotate support. Use --rotate and it'll examine the EXIF tags on the image and apply any rotation. Some improvements to the way that threads work fix a nasty problem with the --crop option too.

Better dzsave

The DeepZoom pyramid builder can now write zip files directly. Use it like this:
vips dzsave some_huge_file.tiff mypyramid.zip
This will write a zipfile containing a DeepZoom image pyramid. Before you had to run the pyramid builder, then zip up the huge tree of folders, then delete the folder tree. This change roughly doubles the speed of pyramid building on Windows.

Better image loading

libvips can now load compressed images from memory buffers as well as from files. The whole vips8 image load API has been reworked and is much simpler and more logical now. 

Better TIFF loading

The tiff loader can handle 16, 4, 2 and 1-bit palette images, with an optional alpha. Previously only 8-bit non-alpha palette images were supported.

Plus a range of smaller fixes and speedups.

2 comments:

  1. Hi John,
    I recently found VIPS/NIP2 and I am amazed, it seems to be an awesome.
    I have spent the last week learning the product and doing speed tests, but I am now running into questions I can't find the answers for. The documentation for the command line tools seem to be very sparse and I can't seem to find any forums focused on VIPS/NIP2 to ask any questions. Am I missing some treasure trove of information out there somewhere or can you suggest somewhere I can I ask targeted questions?

    ReplyDelete
    Replies
    1. The API docs have a section at the start on the command-line:

      http://www.vips.ecs.soton.ac.uk/supported/7.40/doc/html/libvips/using-cli.html

      We're trying to use the github issue tracker as a forum:

      https://github.com/jcupitt/libvips/issues

      Delete