Skip to content

VIPS History

Kirk Martinez edited this page Nov 27, 2019 · 14 revisions

VIPS has its roots in the early days of Image Processing C libraries. It started with ideas from Kirk's PhD software from 1986 onwards and was seriously developed since the VASARI project started in July 1989 and creative programming by John Cupitt.

I found an old guidelines document I wrote in 1990 which had the following tips we were guided by:

avoid floating point arithmetic, eg by scaling: (1024 * value)/1024

avoid many small inner loops, unroll" if possible

avoid calling small subroutines in inner loops because of overheads

use good optimiser when compiling!

use pointers not 2D arrays (slow on some CPUs)

use optimised special cases

use one disk for input one for output

use a good algorithm!

We eventually wrote our first paper on VIPS: Cupitt, J. and Martinez, K. (1996) VIPS: An image processing system for large images, Proc. SPIE, vol. 2663, pp. 19--28. PDF with a later paper in 2005: Martinez, K and Cupitt, J (2005) VIPS : a highly tuned image processing software architecture. IEEE International Conference on Image Processing. pp. 574-577 More details are available on Wikipedia

Here is an ancient promo video we made with SUN on Youtube

We were fortunate enough to be funded continuously by EU-research programmes which covered imaging, image printing, search and retrieval, 3D imaging and retrieval and Web-viewing. This continuous funding allowed libVIPS to evolve. The open source community has since helped with stability and features to bring it to its current level.

Clone this wiki locally