iipsrv 1.0

IIIF, JPEG2000, Mac OS X, New Release, Optimization, Protocol, Server No Comments

Version 1.0 of iipsrv, the IIPImage server, is now officially released! This is a major new version containing a whole host of new features, major performance enhancements, optimizations, numerous bug-fixes and stability enhancements. Major new features include support for the IIIF protocol, 32 bit floating point data support and several new image processing commands.

New features include:

Read the rest…

IIIF – The International Image Interoperability Framework

IIIF, 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…

Responsive Images using IIPImage

Protocol, Server No Comments

The proliferation of mobile devices has made responsive web design one of the hottest topics in web design. Modern web sites need to be usable on a large range of screen resolutions and sizes, from low resolution mobile devices to high resolution monitors. For page layout, various techniques based on fluid layouts, media-queries or combinations of these with HTML5 have been developed, which adapt layout to suit the available screen size.

Responsive Images

However, images themselves also need to adapt to the context, not just for maintaining layout, but also to reduce unnecessary bandwidth. The solve this, the concept of responsive images (or adaptive images) enables the browser to request an image at a size appropriate for the screen resolution. A number of possible solutions have been put forward via the W3C’s Responsive Images Community Group and elsewhere.

Read the rest…

IIPImage Analytics

Analytics, Protocol, Server No Comments

We now have a basic analytics tool for IIPImage! IIPAnalyze allows you to analyze incoming IIP protocol image requests to the IIPImage server. It can tell you  which are the most viewed regions of a particular image and display histograms showing tile usage, globally or per resolution level. It can also output image hotspot image maps showing visually which regions  of a particular image are most viewed for any given resolution.

Marble Earth: Hotspot map at resolution 9 with gamma 0.8

It simply requires a web server log file from Apache, Lighttpd, Nginx, Tomcat or IIS in the widely used standard Common Log Format. It parses the contents of the log file and compiles a histogram of all requested tiles.

IIPAnalyze is a command line script written in Python and requires the Python Imaging Library in order to generate hotspot maps and (optionally) matplotlib if you want histogram plots.

See the analytics documentation page for more information and the list of options. You can download the latest stable release of IIPAnalyze from our download page or fork the latest development code from the iipanalyze github repository.

Many thanks to Laurent Le Guen, who wrote the script!

Zoomify Support

Protocol No Comments

The IIPImage server now has support for the Zoomify client in SVN. It works with both the official flash client and the Zoomify patched OpenLayers javascript client. Work carried out thanks to an R&D grant for the Old Maps Online project from the Ministry of Culture of the Czech Republic. The server path for the client should simply be set to /fcgi-bin/iipsrv.fcgi?Zoomify=/path.tif.

See this post for further details and a Zoomify demo running off an iipsrv back-end.

Flattr this




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