Open Access with IIPImage at Ghent University Library

Case Study, IIPMooViewer, JPEG2000, Server No Comments

The Book Tower, Ghent University Library

Guest Post by Nicolas Franck, Ghent University Library

Ghent University Library (Belgium) – better known as the “Book Tower” – started digitizing its collections back in 2004. It has a wide variety of material, ranging from books, manuscripts, papyri, posters, coins to drawings and old maps. From the beginning, the main purpose was to provide its audience – mainly researchers and students – open access to its digital content online.

A website was created with a search interface, and a commercial viewer (EREZ viewer) to view the digital images online at

But in 2010 we decided to create a new website with more possibilities, and to use an open source software to view our images online. We needed software that was fast, reliable, open source and that used the new possibilities of HTML5.

That is where IIPImage came in. The IIPMooviewer client was slightly adapted to our needs with, for example, the addition of a zoom level indicator.

Some of the resources consists of more than one image, such as scans belonging to a book. So we created a carousel, that wraps IIPMooviewer within an iframe. See this example showing Liber Floridus a rare 12th century medieval encyclopaedia of Flanders:

Liber Floridus – book page carousel wrapping iipmooviewer

The raw images are first converted to 8 bit sRGB using PerlMagick before conversion to JPEG2000 format with Kakadu using the following parameters:

kdu_compress -i input.tif -o output.jp2 -quiet -rate 24 Clayers=8 Clevels=8
    Cprecincts="{256,256},{256,256},{128,128}" Corder=RPCL ORGgen_plt=yes
    ORGtparts=R Cblk="{64,64}" Cuse_sop=yes -no_palette -num_threads 4

Trajan’s Column

This results in a maximum of 8 resolution levels and 8 quality layers with a precinct size of 256×256 pixels. They are stored with lossy compression to reduce the file size, but with a high encoding rate of 24 bits per pixel.

The largest image is this 1774 etching of Trajan’s column by the Italian artist Giovanni Battista Piranesi (1720-1778). The scan is 832 megapixels in size (15261×54519 pixels). The compressed JPEG2000 file itself is about 400MB in size, while the uncompressed image was 2GB in size.

Interactive viewer:

JPEG2000 file download:

We use Red Hat Enterprise Linux Server release 6.2 with Nginx as the web server. The iipsrv process is started via an init-script using spawn-fcgi:

export VERBOSITY="1"
export FILENAME_PATTERN="_pyr_"
export JPEG_QUALITY="100"
export MAX_CVT="300"
spawn-fcgi -f /path/to/iipsrv.fcgi -U iipsrv -u iipsrv
                          -s /var/run/iipsrv.socket -n

As you can see, a Unix socket is created and Nginx uses its fastcgi-module to proxy all requests to /iip to this socket. Although the IIPImage server has it own methods of caching its results, we decided to let Nginx cache the results itself, to lower the number of requests to the backend server.The IIPImage-server can be reached through this proxy at

by Nicolas Franck, Ghent University Library

iipsrv now on Github

JPEG2000, New Release, Server No Comments

The latest development code for iipsrv, the IIPImage server is now hosted on Github. This should make things far easier for developers to share code and to submit patches. You can check out the repository here

The latest code has a host of new features including:

  • Exact export resizing for both TIFF and JPEG2000
  • Improved interpolation algorithms for CVT export
  • Extended support for 1, 8, 16 and 32 bit images
  • Gamma support
  • Improved metadata handling
  • Performance improvements
  • Improved Windows compatibility
  • Bug fixes!

So, check it out and get forking!

IIPImage Server for Mac OS X

JPEG2000, Mac OS X, Server No Comments

A binary distribution is now available for Mac OS X users! Both Desktop and Server editions of recent releases include Apache by default, making installation of IIPImage very straightforward.

This binary has been statically compiled with libtiff4 (including BigTIFF support), libjpeg8 and libmemcached to enable users to have IIPImage up and running instantly without the need to install any extra dependencies. The LLVM compiler distributed as part of Xcode was used to generate an optimized 64bit binary. It’s been built and tested on Snow Leopard, but should work with Lion and older 64bit Intel versions versions.


Download IIPImage for Mac OS X :

Open a terminal, navigate to the download folder (or wherever you downloaded it to), open the zip archive and enter this directory. For example:

cd Downloads ; unzip ; cd iipsrv-0.9.9-OSX

Mac OS X places CGI executables by default in /Library/WebServer/CGI-Executables/ so simply copy the executable to this location:

sudo cp iipsrv.fcgi /Library/WebServer/CGI-Executables/

Modify the iipsrv.conf configuration file (see the server documentation for details on available parameters) and copy this to the default location for 3rd party Apache modules configuration /etc/apache2/other/

sudo cp iipsrv.conf /etc/apache2/other/

The configuration file places the iipsrv log file in /var/log/ which requires the web server to have write permission. If you have modified this to point to somewhere like /tmp/ you may skip this step:

sudo touch /var/log/iipsrv.log ; sudo chown _www /var/log/iipsrv.log

All set! Now (re) start Apache!

sudo sudo apachectl restart

Open your web browser at http://localhost/fcgi-bin/iipsrv.fcgi. You should see the iipsrv info page. If not, check the iipsrv log file and Apache log files. Follow the troubleshooting guide if necessary.


An experimental binary distribution, which includes JPEG2000 support via the Kakadu libraries is also available from the Old Maps Online site: Install in exactly the same way as the standard version. Please note that this JPEG2000 enabled binary is strictly for non-commercial use only.

From scan to delivery: Special Collections and IIPImage at Utrecht University Library

Case Study, Client, JPEG2000, Server No Comments

Guest Post by Edu Hackenitz, University Library Utrecht

The Utrecht University Library Special Collections contain many extensive collections of manuscripts, pre-1901 printed works, more recent rare and valuable printed works, maps and nautical charts. The library takes care of the acquisition, conservation, scanning, cataloging and availability of this material.

Read the rest…

New Debian and Ubuntu packages released

JPEG2000, New Release, Server No Comments

We’ve just updated our IIPImage 0.9.9 server packages for the latest release of Ubuntu 12.04 Precise Pangolin. The packages now automatically install and configure the IIPImage server for use with Apache or Lighttpd. Packages are available for both 32 and 64 bit machines and should be compatible with both Ubuntu 11.10 and 12.04. The build also includes Memcached support, which is automatically activated if this has been installed.

JPEG2000 enabled packages for both 32 and 64bit using the Kakadu JPEG2000 decoder are once again available from OldMapsOnline.

Additionally, we hope to soon have IIPImage officially included in Debian! The package overview is available on the main Debian ftp-master repository.


To use, first install the pre-requisite libraries:

% sudo apt-get install libfcgi0ldbl libjpeg8 libtiff4 zlib1g libstdc++6 libmemcached6

If you wish to run IIPImage via Apache, make sure this is installed together with the FCGI module:

% sudo apt-get install apache2 libapache2-mod-fastcgi

libapache2-mod-fastcgi is a non-free package in Debian, so make sure that non-free packages are included in your package source list.

Alternatively you can install Lighttpd:

% sudo apt-get install lighttpd

You may also wish to use IIPImage with Memcached. If you do, the IIPImage server will automatically use it if it is on the same machine.

% sudo apt-get install memcached

Memcached is a distributed system, so if you prefer to install on other machines, you can skip the installation and modify the IIPImage configuration settings to point to these other machines.

Finally install iipsv, the IIPImage server:

% sudo dpkg -i iipimage-server_0.9.9-0ubuntu12.04_amd64.deb

Your machine should now be set up with a running instance of IIPImage!

Configuration files for Apache and Lighttpd are in /etc/apache2/mods_available/ and /etc/lighttpd/conf-available/ respectively. The default parameters should give you a fully working version. Modify the parameters to tweak things. The log file is /var/log/iipsrv.log.


32 bit for Ubuntu 11.10 and 12.04: iipimage-server_0.9.9-0ubuntu12.04_i386.deb

64bit for Ubuntu 11.10 and 12.04: iipimage-server_0.9.9-0ubuntu12.04_amd64.deb

32bit for Ubuntu 11.10 and 12.04 with JPEG2000 support (for non-commercial use only): iipimage-server_0.9.9-j2k-0ubuntu12.04_i386.deb

64bit for Ubuntu 11.10 and 12.04 with JPEG2000 support (for non-commercial use only): iipimage-server_0.9.9-j2k-0ubuntu12.04_amd64.deb

« Previous Entries

Flattr this

Donations appreciated Bookmark and Share
Get IIPImage at Fast, secure and Free Open Source software downloads