The Cranach Digital Archive

Case Study, IIPMooViewer, Server No Comments


Guest Post by Gunnar Heydenreich & Jörg Stahlmann, Cranach Digital Archive

Cranach Digital Archive

Cranach Digital Archive

The Cranach Digital Archive (cda) is an interdisciplinary collaborative research resource, providing access to art historical, technical and conservation information on paintings by Lucas Cranach (c.1472-1553), his sons and his workshop. The repository has been available online since January 2012 and currently provides information on more than 700 paintings including around 8000 images and documents from 92 contributing institutions, including major museums such as the Metropolitan Museum in New York, the National Gallery in London, the Getty Museum in Los Angeles, the Alte Pinakothek in Munich and many more. The archive contains over 400 infrared-reflectograms, 200 X-radiographs, numerous technical reports and a literature database with more than 2100 entries.

The project started in 2009 and is currently in its second phase (2012-2014). During this period, the Cranach Digital Archive aims to expand the existing network, to develop a shared infrastructure and to increase its content in order to build the foundations for an innovative, comprehensive and collaboratively produced repository of knowledge about Lucas Cranach and his workshop that will be significantly different from the traditional model of the single-author catalogue raisonné.

The Cranach Digital Archive is a joint initiative of the Stiftung Museum Kunstpalast in Düsseldorf and the Cologne Institute of Conservation Sciences / Cologne University of Applied Sciences in collaboration with nine founding partner institutions, 18 associate partners and many project contributors. The project is funded by the Andrew W. Mellon Foundation.

Detail of infrared-reflectogram showing fluid underdrawing on 'Lamentation of Christ' (1503), Alte Pinakothek, Munich.

Detail of infrared-reflectogram showing fluid underdrawing on ‘Lamentation of Christ’ (1503), Alte Pinakothek, Munich.

For the Cranach Digital Archive we were required to create an online web presence accessible to everybody which should include a digital archive connecting all collected information of an object and be capable of delivering high resolution zoomable images. In collaboration with the Düsseldorf Art Archive (d:kult), we modified the existing structure in the collection management system TMS to store information from Word documents and thumbnail link-references to PDFs and images. The task was then to unite the various existing structures, which included TMS, a lot of additional information in the form of static Word and PDF documents and a large number of images in various formats and sizes to create a user friendly web database.

The collection management software acts as a version control system giving us the possibility to work and test the data provided by our project partners and entered or generated by our team before publishing it. In order to update we export all data from TMS to XML format, generating 4 different documents with Overall, Conservation, Literature and Thesauri-Data, each of which can be up to 50MB  in size and contain thousands of entities and attributions. An application written in Java parses the documents and inserts or updates the data in our database.

For our infrastructure we decided to use a locally hosted server, due to the fact that our data and images would create an immense amount of traffic if uploading was carried out via the internet. Our server system is based on Ubuntu (long term support version) and the Apache web server, though we are considering switching to Zend-Server for performance reasons. Also we decided to work with a standard open source database and of course with IIPImage.

The IIPImage server system allows us to view, navigate and zoom our high resolution images in real-time. With more than 8000 images currently available, the IIPImage server combined with tiled multi-resolution TIFF images is the perfect tool to comfortably and efficiently remotely browse the high resolution images within the digital archive. The images were batch converted using a shell script, using the free image processing system VIPS. Compared to most image processing libraries, VIPS requires little memory and runs quickly and efficiently, especially on parallel multi-processor machines.

For security reasons we are happy that IIPImage provides us with the possibility to place the source TIFF images outside of the web server’s document root. The images are streamed and can only be viewed via the IIPImage viewer. We are looking at ways to optimize this and to enrich the resource as well as to implement new tools.

by Gunnar Heydenreich & Jörg Stahlmann, Cranach Digital Archive

IIPImage now an official Fedora Package

New Release, Server No Comments

IIPImage is now an official stable Fedora package and is included out of the box with the new release of Fedora 19! The package is based on a recent build of the development version of iipsrv available from the Github repository.

Information on the Fedora packages is available at https://apps.fedoraproject.org/packages/iipsrv with the package source at http://pkgs.fedoraproject.org/cgit/iipsrv.git

The packages are also included in Fedora-based enterprise distributions such as CentOS and Red Hat Enterprise Linux via the EPEL repository.

To install, simply use the default yum package manager:

sudo yum install iipsrv

This will install the IIPImage server in /usr/libexec/iipsrv/iipsrv.fcgi

Apache

To use with Apache, you will need to also install the Apache configuration files:

sudo yum install iipsrv-httpd-fcgi

which will install the configuration file iipsrv.conf in /etc/httpd/conf.d/. Modify this if necessary. You can find a full list of possible server parameters here. You will then need to start Apache (or restart if it is already running):

sudo service restart httpd

You should now have the IIPImage server running at  http://your.server/iipsrv

Lighttpd

There is no Lighttpd package at the moment, but to use iipsrv with lighttpd, first install lighttpd and it’s fcgi module (if not already installed):

sudo yum install lighttpd-fastcgi

Then add the following to the fastcgi configuration file /etc/lighttpd/conf.d/fastcgi.conf:

fastcgi.server = ( "/iipsrv" =>
  (( "socket" => "/tmp/iipsrv-fastcgi.socket",
     "check-local" => "disable",
     "min-procs" => 1,
     "max-procs" => 1,
     "bin-path" => "/usr/libexec/iipsrv/iipsrv.fcgi",
     "bin-environment" => (
        "LOGFILE" => "/tmp/iipsrv.log",
        "VERBOSITY" => "2",
      )
  ))
)

and activate fastcgi by uncommenting the following line from /etc/lighttpd/modules.conf:

Include "conf.d/fastcgi.conf"

Then start / restart lighttpd:

sudo service restart lighttpd

This will start the IIPImage server at http://your.server/iipsrv

Running as a Service

It is also possible to start the IIPImage server as an independent service without Apache or Lighttpd:

sudo service start iipsrv

which will start the server listening by default on 127.0.0.1 on port 9002. For the systemd-based Fedora, this is configurable by following the instructions in /lib/systemd/system/iipsrv.service. For sysv-based RHEL distributions, this is configurable in /etc/iipsrv/iipsrv.conf. Starting iipsrv this way allows you to use it with Nginx, Tomcat or if you are hosting your web server on a different machine and wish to proxy requests to iipsrv.

Note that if you are using SELinux, connections from Apache to unknown ports are not allowed by default. To fix this, use semanage, the SELinux policy management tool to add it:

sudo semanage port -a -t http_port_t -p tcp 9002

Clients

Only the server is included in this package, so you will need to install a client, such as IIPMooViewer or IIPZoom yourself. Note that the default server URL is /iipsrv and not the usual /fcgi-bin/iipsrv.fcgi, so don’t forget to set this correctly in the viewer configuration of IIPMooViewer, IIPZoom or whichever viewer you choose to use.



Many thanks to Johan Cwiklinkski for creating the package. You can find more details on his blog and on the Redhat bugzilla review.


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 http://adore.ugent.be

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: http://adore.ugent.be/OpenURL/app?id=archive.ugent.be:018970A2-B1E8-11DF-A2E0-A70579F64438&type=carousel&scrollto=60:

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: http://adore.ugent.be/OpenURL/resolve?rft_id=archive.ugent.be:EBFE8CFC-AC6F-11E1-81A7-AD7FAAF23FF7:1&svc_id=zoomer&url_ver=Z39.88-2004

JPEG2000 file download: http://adore.ugent.be/OpenURL/resolve?rft_id=archive.ugent.be:EBFE8CFC-AC6F-11E1-81A7-AD7FAAF23FF7:1&svc_id=original&url_ver=Z39.88-2004

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 MAX_IMAGE_CACHE_SIZE="100"
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 http://adore.ugent.be/iip.

by Nicolas Franck, Ghent University Library

IIPImage now an Official Ubuntu Package

New Release, Server No Comments

IIPImage is now an official Ubuntu and Debian package! Version 0.9.9 of the IIPImage server is now distributed as part of the Ubuntu 12.10 Quantal Quetzal release.  It is also included in Debian’s Sid unstable branch, and testing branch from where it should migrate to become part of the forth-coming Debian 7 Wheezy release.

The Debian source package is available here: http://packages.debian.org/source/sid/iipimage and the Ubuntu lauchpad package here: https://launchpad.net/ubuntu/+source/iipimage

The package is split into two with a main server package: iipimage-server and a separate IIPImage documentation package: iipimage-doc

So, installing IIPImage is now extremely easy. To do so on Ubuntu 12.10, simply install iipimage-server via the graphical package manager or via the command line:

apt-get install iipimage-server

and optionally for the documentation:

apt-get install iipimage-doc

Now restart Apache and you should have the IIPImage server running on http://your.server/iipsrv/iipsrv.fcgi

Only the server is included in this package, so you will need to install a client, such as IIPMooViewer or IIPZoom yourself. Note that the server URL is /iipsrv/iipsrv.fcgi and not the usual /fcgi-bin/iipsrv.fcgi, so don’t forget to set this correctly in the viewer configuration of IIPMooViewer, IIPZoom or whichever viewer you choose to use.

The package is configured to work with both Apache and Lighttpd. If you are using Apache, the configuration file is at /etc/apache2/mods-available/iipsrv.conf. For Lighttpd, /etc/lighttpd/conf-available/20-iipsrv.conf. See the server documentation page for details of the available parameters. The log file is at /var/log/iipsrv.log.

The package has Memcached support built in and will automatically use Memcached for caching if this is running on the host machine. If not, simply start it to allow IIPImage to use it.

To install on the current Debian, you will need to be on the testing (or unstable branch). If you are on testing, add an additional unstable source to /etc/apt/sources.list. See the testing documentation for further details. Make sure you first update your package index, then simply install as above.

If you want JPEG2000 support or don’t want to use the Debian testing or unstable branch, continue to use our stable but “unofficial” 0.9.9 Ubuntu packages that are compatible with Ubuntu 11.10 and 12.04.

Special thanks to Mathieu Malaterre for building and maintaining the official Debian package!


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 https://github.com/ruven/iipsrv

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!

« Previous Entries

Flattr this




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