Skip to content

VipsScaler

John Cupitt edited this page Mar 29, 2017 · 1 revision

title: VipsScaler permalink: /VipsScaler/

VIPS helps WikiPedia!

VipsScalar is an extension to the popular Wikimedia software to allow for larger images as well as speed up the resizing of images which goes on every day for WikiPedia and all other Wikis based on MediaWiki. VipsScaler uses the fast image resizer in libVIPS which means it uses less memory, fewer disk accesses and automatically uses multi-core systems etc. Until this extension was written PNG images larger than 50 megapixels could not be added to Wikipedia!

ImageMagick was used before but needed to use a lot of RAM for processing - or lots of disk - neither of these is ideal on a heavily used server. libvips is a streaming image processing system: images flow from the compressed source image through the resizer and out to the downsized image. This process only uses a small amount of RAM and has been highly optimised.

Volunteer Bryan Tong Minh together with the VIPS maintainer John Cupitt developed and tested the extension which is now in use. An article on the Wikimedia blog illustrates the issue with a 72 megapixel image below of Abraham Lincoln, restored by Adam Cuerden, as an example of an image that previously wouldn’t have been able to be rendered. 1

Some history helps to explain why the VIPS software works well here. When VIPS was developed in the 1990's Kirk and John worked tirelessly to make it as efficient as possible for "large" images on computers with very little memory. It turns out that the code is now ideal for systems which need to manage thousands of requests for images and those with many CPU cores as it was also tuned for those. In the early days speeding up the processing of one 1GByte image from minutes to one minute was the aim. Problems now are often to process millions of images or terabytes of images.

links:

Clone this wiki locally