I hope this is an appropriate place to mail this. Please flame away if not.

I help maintain an image processing library called VIPS. We've just
released a new stable version and one of the new features is a Python
binding.

  http://www.vips.ecs.soton.ac.uk

The binding is a very simple one generated by SWIG from our C++ API,
so it's a bit rough, not well tested, and not very Python-esque. And
the new stable version of the library hasn't filtered into many linux
distros yet (Debian and ArchLinux are the only two so far I think), so
if you'd like to try it out, you'll probably have to compile from
source.

But it does have some interesting features (IMO):

1) It's demand-driven, so it needs very little memory to process even
very large images. I made a tiny benchmark and it needed only 20 MB of
RAM to load, crop, shrink sharpen and save a 10,000 by 10,000 pixel
RGB image.

2) VIPS speeds up on multi-CPU machines. Wall clock time for the
benchmark I made drops from about 12s to about 7s when I ask it to use
the second CPU on my PC. If you use the VIPS file format (rather than
the single-threaded TIFF library) scaling is more nearly linear: we've
seen a 27x speedup using 32 CPUs on a machine at Princeton.

Benchmarks and some notes here:

  http://www.vips.ecs.soton.ac.uk/index.php?title=Python

John
_______________________________________________
Image-SIG maillist  -  Image-SIG@python.org
http://mail.python.org/mailman/listinfo/image-sig

Reply via email to