Current Trends and Future Directions for Digital Imaging in Libraries and Archives

JPEG2000, Server No Comments

Current Trends and Future Directions for Digital Imaging in Libraries and Archives was a one-day workshop on JPEG2000 organized by the Wellcome Library and the Digital Preservation Coalition (DPC). The event took place on the 10th November 2014 at the Wellcome Trust in London and brought together a range of specialist practitioners with experience of JP2K for digital libraries and digital archives.

IIPImage presentation at the Wellcome Trust

The workshop examined current and emerging practice with JPEG2000 and sought to enable a debate about future directions for the format.  There were a number of case studies and presentations of tools and JP2K workflows with consideration given to how these developments can inform and extend preservation practice for image archives, digital photography and digitization.

The programme included talks from the Wellcome Library itself, Oxford University’s Bodleian library, the National Library of the Netherlands and the British Library. And the results of a JPEG2000 use survey in the cultural heritage sector.

In addition, there were presentations on tools including the JPEG2000 validation tool jpylyzer, the Goobi library workflow system and a presentation on the status of OpenJPEG, the principal open source JPEG2000 implementation today. And, of course, there was a presentation on IIPImage.

The IIPImage server has had support for JPEG2000 since version 0.9.9 of the server and it is already used for JPEG2000 by a number of major libraries including the Wellcome Library, Oxford University’s Bodleian Library, the French National Library (the BNF) and several university research libraries. The IIPImage talk was entitled IIPImage and a Performance Analysis of JPEG2000 Encoding Parameters, which looked at IIPImage itself, case studies of IIPImage use and some live demos showing some advanced uses of IIPImage. The presentation also looked at how to optimize JPEG2000 encoding parameters, showing the results of a preliminary study on how code block, precinct and tile size affect the resulting JPEG2000 file size, the encoding time and crucially, the time to decode a region, which is a key criteria for image servers such as IIPImage. A more detailed look at these results will be the subject of a future post.

The programme of the event and the various presentations are available from the Digital Preservation Coalition page for the event and the IIPImage presentation is available below:

IIIF – The International Image Interoperability Framework

Protocol, Server No Comments

IIIF - The International Image Interoperability FrameworkThe International Image Interoperability Framework (IIIF) is a protocol for standardized image retrieval created by a community of the world’s leading research libraries, major national libraries and not-for-profit image repositories in an effort to collaboratively produce an interoperable technology and community framework for image delivery.

These include the research libraries of the universities of Stanford, Yale, Harvard, Cornell and Oxford University’s Bodleian Library. National Libraries including the British Library, the BNF (the French national library) and the Royal Library of Denmark. And not-for-profit image repositories including the Wellcome Trust’s Library.

The goals of the project are to:

  • Give scholars an unprecedented level of uniform and rich access to image-based resources hosted around the world
  • Define a set of common application programming interfaces (APIs) that support interoperability between image repositories
  • Develop, cultivate and document shared technologies, such as image servers and web clients, that provide a world-class user experience in viewing, comparing, manipulating and annotating images

IIIF consists of an image API and a presentation API. The Presentation API provides structural and presentation information, whereas the image API provides a standard image delivery API.

The IIPImage server, iipsrv fully supports version 2.0 of the image API in the development code on github and this will be included in the forth-coming 1.0 release of iipsrv. (If you need IIIF API 1.x compatibility, use this earlier iipsrv-based implementation by Klokan Technologies).

The image API syntax is essentially the following:

{scheme}://{server}{/prefix}/{identifier}/{region}/{size}/{rotation}/{quality}.{format}

where it is possible to specify a region within an image, the size at which the image should be output, rotation, mirroring and whether the output should be greyscale or color. Sizes can be expressed in either absolute pixels or percentages; and rotations of 90°, 180° and 270° are supported by iipsrv.

For example, to export an image test.tif uncropped, resized to 400×400 pixels, rotated by 90° and converted to greyscale, use the following URI:

test.tif/full/400,400/90/grey.jpg

Image metadata and a list of server capabilities is available through an info.json request, which provides information on the image and the functionality provided by the image server:

test.tif/info.json

iipsrv supports full level 1 compliance of the specification and almost all of level 2 (currently only missing PNG export). As well as optional advanced IIIF features such as mirroring and resizing to > 100%. The server also passes the online IIIF validator conformance tests.

The protocol can be used in parallel to the existing IIPImage support for the IIP, DeepZoom and Zoomify protocols within both iipsrv and iipmooviewer.

More information on the IIIF initiative is available from the IIIF website, including a list of IIIF compliant software and a showcase of IIIF in action, which includes, of course, IIPImage:

Read the rest…

IIPImage Case Study: National Gallery of Art, Washington

Case Study, Client, IIPMooViewer, Server No Comments
Guest Post by David Beaudet, Alan Newman & Kenneth Fleisher, National Gallery of Art, Washington
Elevated view of the National Gallery of Art with the U.S. Capitol from northwest at night, c. 1990. ©Dennis Brack/Black Star.  National Gallery of Art, Washington, D.C., Gallery Archives

Elevated view of the National Gallery of Art with the U.S. Capitol from northwest at night, c. 1990. ©Dennis Brack/Black Star.  National Gallery of Art, Washington, D.C., Gallery Archives

The National Gallery of Art (NGA) has been using IIPImage since the 2010 online release of The History of the Accademia di San Luca research project. The zoom feature of this website uses a slightly customized IIPImage  JavaScript client to permit the viewer to inspect 1,000 high-resolution scans of historical manuscripts dating back to the sixteenth century.  Our experience with IIPImage on the San Luca project was encouraging.  The IIPImage server software performed well under load and was able to quickly render zoomed portions of imagery to web-browser-based clients.

In 2012 we embarked on a sustained internal development effort to redesign the NGA public website from the ground up.  An important objective of the redesigned site was to make high-resolution art images available for as much of the Gallery’s collection as possible and to make ultra-high-resolution images available for the highlights of the collection.  Although IIPImage seemed to us a natural choice, we nonetheless conducted a fresh study in spring 2012 of the available zoom servers and clients, which only reinforced our prior conclusion that IIPImage is the best image zoom package for viewing art objects.

IIPImage with high resolution Jean-Honorè Fragonard's Young Girl Reading, c. 1770, oil on canvas, National Gallery of Art

IIPImage with ultra high resolution image of Jean-Honorè Fragonard’s Young Girl Reading, c. 1770, oil on canvas, National Gallery of Art

Important requirements for the zoom server on the redesigned public website include:

  1. Must provide a fast and efficient server-side engine using open standard file formats
  2. Must provide client software based on open standards, i.e. pure HTML + JavaScript with an upgrade path to HTML5 rather than proprietary technologies requiring a browser plugin
  3. Must be able to operate from as few source images as possible (ideally a single zoom file) rather than requiring a multitude of pre-generated zoom tiles for each image
  4. Should retain and reproduce accurate color information from source imagery to the web browser on the client side
  5. Preferably based on open source software and released under open source license in case it needs to be modified to suit our purposes
  6. For future endeavors, the tool should provide auxiliary services to generate on-the-fly renditions of zoom images of arbitrary size and location

The IIPImage solution was able to meet most of these requirements.  In April 2013 when the redesigned www.nga.gov website launched, it included dozens of ultra-high-resolution images for collection highlights and thousands of high resolution images of paintings.  Since launch the NGA’s rapid capture project added tens of thousands of additional high-resolution digital photographs of works on paper, including (by September 2014) the full set of images of watercolors from the Gallery’s Index of American DesignRapid Capture is an ongoing endeavor that seeks to produce high-resolution digital imagery for nearly all works on paper within the Gallery’s collections.

A year later, in April 2014, a major set of enhancements to www.nga.gov was released. National Gallery of Art Online Editions debuted its first edition, Dutch Paintings of the Seventeenth Century, as part of the Getty Foundation’s Online Scholarly Catalogue Initiative (OSCI). The site includes scholarly research on more than 120 paintings and dozens of artists as well as X-ray, infrared, and ultraviolet band art images, some of which have led to new insights and fascinating discoveries.

Color and Xray comparison of Vermeer's Girl with the Red Hat

Color and Xray comparison of Vermeer’s Girl with the Red Hat, c. 1665/1666, oil on panel, National Gallery of Art

The HTML5 IIPMooviewer client was customized to allow registered technical images to be faded in and out with a transparency control while overlaid on top of the visible light image. In addition, when registered technical images are selected, the zoom and pan settings can be locked so that one set of controls is used to navigate two images.

Read the rest…

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.


« Previous Entries

Flattr this




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