We are pleased to introduce the International Image Interoperability Framework (IIIF), a community-driven image framework with well-defined application program interfaces (APIs) for making the world’s image repositories interoperable and accessible.
When it comes to communicating important discoveries, we appreciate that images can sometimes be as effective as simple text, if not more so. This blog post provides an overview of the IIIF standard, focusing on its potential for Scientific, Technical, and Medical (STM) publishers, with an invitation for these organisations to participate in a pilot service offered by the Wellcome Library.
Based around the IIIF framework, the Wellcome Trust’s new Digital Library Cloud Service (DLCS) is a cloud-based infrastructure that seeks to provide fast, scalable, and widely available services for the delivery of images in rich and engaging ways.
While many large research libraries have adopted the IIIF to make their digital images available, many STM publishers are yet to experience the benefits.
Blog post by Robert Kiley, Head of Digital Services, Wellcome Library (r.kiley@wellcome.ac.uk), and Tom Crane, Technical Director, Digirati (tom.crane@digirati.com)
The potential of the IIIF for STM publishers
It is widely acknowledged that a picture is worth a thousand words, and this is especially true on the web. Yet bringing together collections of images held at different websites into a single digital object, and presenting these through a feature-rich viewing application, is a difficult task.
This is exactly the problem that a group of librarians with a special interest in medieval manuscripts wanted to address. They wished to present their users with access to digitised images in a single viewing tool, and for the viewing experience to support features such as deep zoom, search, and annotation. This all led to the development of the IIIF.
Over the past couple of years, many of the world's biggest research libraries have started to make their digitised images available using this framework. Few STM publishers have engaged with this standard, however, even though images in the form of figures play a central role in the dissemination of scholarly information.
Figure 1. An IIIF collection of biomedical images from the Wellcome Library https://alpha.wellcomelibrary.org/collections/biomed
There are a range of benefits of IIIF for STM publishers:
- It allows them to present images on their own platform in a rich and engaging way. While many publishers provide full-size images in their online articles, very few offer the user the option to view the image in a deep-zoom client. This can prove difficult for those who are used to deep-zoom functionality.
- Once images are available as IIIF endpoints, an STM publisher could easily build a series of web applications, bringing together all their images and providing a picture library-like service for users.
- While the uses of IIIF outlined above would be useful for individual publishers to build, even richer applications could be built if all publishers started to expose their images in this way. For example, the recent public health emergency around the Zika virus resulted in a number of publishers agreeing to make all the research they held on this topic freely available. If these same publishers exposed the images in these papers as IIIF endpoints, then researchers could have a single digital object where all images related to the virus could be accessed in one place.
- Finally, IIIF is already finding uses in Cultural Heritage crowdsourcing projects for transcription, translation, and tagging. These activities are equally applicable to STM material.
The Wellcome Library’s DLCS
The Wellcome Library is currently developing an IIIF-compliant, cloud-based infrastructure to provide widely available services for the delivery of its digital images, the provision of full-text search and authentication services and, in time, annotation functionality.
Developing services to provide IIIF endpoints is a challenging task requiring an institution/publisher to master and deploy image server technology. We are therefore exploring how we can make these services available as a fully managed service, with a pilot project in which around 40 institutions are able to use our DLCS infrastructure to generate IIIF endpoints for all images they expose through this platform. Further details are available at: https://dlcs.gitbooks.io/book/content/index.html. If any publisher wishes to try this service, they are encouraged to read the DLCS FAQ and make contact with Robert Kiley.
What is IIIF?
The IIIF supports two APIs – an Image and a Presentation API – and two related APIs, authentication and search.
IIIF Image API
The ambition behind the Image API is to allow a user (either a a human or computer) to request an image with an IIIF endpoint in a variety of ways, by modifying the size, region, rotation, and format as required.
Figure 2. Demonstration of an image viewed through the IIIF image API
Full details of the Image API can be found at http://iiif.io/api/image/2.0/. In essence, each request uses the following syntax: {scheme}://{server}{/prefix}/{identifier}/{region}/{size}/{rotation}/{quality}.{format}.For example: www.example.org/image-service/abcd1234/full/max/0/default.jpg
Using this syntax, a user could, as an example, build a web page that displays images at, say, 300x300 pixels, while someone else could make use of the same image, but display it at a different size and rotation, and focus on a specific region. In every case, the IIIF image server holds a master image and delivers the images to the client as requested.
The potential of this API is best demonstrated by some clickable examples, as set out in Table 1 below. Note how the URL can simply be edited to generate different responses from the IIIF server:
Task | URL and Comments |
Viewing an IIIF image | http://wellcomelibrary.org/iiif-img/b20432033-0/d7b80202-a1d7-4f88-ab57-0f6b369fe41b/full/full/0/default.jpg This is the default request – deliver the full-size image, no rotation, as a jpg file. |
Requesting a different image size | http://wellcomelibrary.org/iiif-img/b20432033-0/d7b80202-a1d7-4f88-ab57-0f6b369fe41b/full/500,500/0/default.jpg In this example, we ask for the image to be returned at a 500x500 pixel size. |
Rotating an image | http://wellcomelibrary.org/iiif-img/b20432033-0/d7b80202-a1d7-4f88-ab57-0f6b369fe41b/full/,500/90/default.jpg (see Figure 2) |
Table 1. The IIIF Image API - clickable examples
How do we know the image supports all this manipulation?
You can determine the range of IIIF services supported by an IIIF image by looking at the info.json resource. So, for the first example we looked at, we will request the JSON file instead of the image: http://wellcomelibrary.org/iiif-img/b20432033-0/d7b80202-a1d7-4f88-ab57-0f6b369fe41b/info.json
Here you will see that rotation is supported, but in blocks of 90 degrees ("rotationBy90s").
IIIF Presentation API
In the words of the IIIF, the Presentation API “specifies a web service that returns JSON-LD structured documents that together describe the structure and layout of a digitized object.” Expressed more simply, the Presentation API provides just enough metadata to drive viewer application. In the IIIF world, these structured documents are known as manifests.
Figure 3. Using the Universal Viewer to view an IIIF image
The examples in Table 2 below show a simple demonstration of the IIIF Presentation API. Full details can be found at: http://iiif.io/api/presentation/2.1/
Task | URL and Comments |
Viewing an IIIF manifest | http://wellcomelibrary.org/iiif/b20432033/manifest This shows us the manifest for the Zebrafish embryo image we looked at via the image API (see above). |
Opening a manifest in the Universal Viewer | http://wellcomelibrary.org/item/b20432033 The Wellcome Library has implemented the Universal Viewer (UV) (https://github.com/UniversalViewer/universalviewer) as its IIIF viewer. To view this object, open up the following URL: [Insert URL here] |
Viewing an item in a different IIIF viewer | Another strength of IIIF is that you can choose whichever IIIF-compliant viewer you like to render your images. Here we will view the Zebrafish image in the Mirador IIIF viewer, developed by Stanford. http://projectmirador.org/demo/ Click “Add new object from URL - and paste in http://wellcomelibrary.org/iiif/b20432033/manifest |
Table 2. The IIIF Presentation API - clickable examples
Authentication and search services
In addition to providing access to image endpoints, the IIIF also supports authentication and search services.
Authentication
Recognising that not all images are made available under an open-access model, the IIIF infrastructure supports the ability to describe and enforce access control on images.
The IIIF Authentication API is an interaction pattern that a client viewer can implement to allow a user to gain access to images. This is essential because different institutions will have different existing authentication and authorisation mechanisms, and IIIF needs to work with all of them. This API can be used in various ways, from a simple click-through option (when the server doesn't need to establish the user’s identity), to full delegated authentication, in which access requests are passed back to the authentication application of the organisation hosting those images.
An IIIF manifest can be built that references images from multiple different endpoints, all of which might have different policies to manage authentication. For example, let's assume someone built an IIIF manifest showing all the images relating to malaria, which were published in Science, Nature and eLife. It might be possible to immediately see the images from eLife because they are open access but, when the user navigates to an image hosted by Nature or Science, they would be asked to authenticate at these publications, because the images are not open access. If authentication was denied, those images would not be available. The IIIF Authentication API describes how a client viewer controls the user experience throughout this flow.
Table 3 shows examples of how the Wellcome Library has implemented access controls to its content.
Task | URL and Comments |
Click-through licence | http://wellcomelibrary.org/item/b18170183 Here, because this archive may contain personal data, we ask users to agree not to misuse any such data. |
Delegated authentication | http://wellcomelibrary.org/item/b16728701 The Wellcome Library holds some clinical images, the access to which is limited for health professionals. When you try to view this image, you are directed back to the Wellcome Library’s CAS server. |
Table 3. The IIIF Authentication API - clickable examples
Full details of the IIIF Authentication API can be found at: http://iiif.io/api/auth/0.9/
Search
IIIF also offers a Search API that returns annotations available across the resources being searched. These annotations could be transcriptions, commentary, tagging, and identification, among others.
One significant use for this is to search within a piece of work that has images with searchable text. The text results can be returned as annotations so viewers can highlight the terms. Search can also be used for:
- Finding all comments made by a particular person
- Finding all tags within a particular collection
- Finding all the highlights that contain the term “cholera” in annotations made on the Wellcome Library’s Medical Officer of Health reports
In Table 4 below, we provide some examples of how this API works. Note that the additional parameters used after the first example are not currently supported by the example service.
Task | URL and Comments |
Find term x in a specific document | http://wellcomelibrary.org/annoservices/search/b19956435?q=london The annotations returned include contextual information and enough location information for a viewer to render highlights: http://wellcomelibrary.org/item/b19956435#?cv=24&h=london |
Find term in annotations made by a particular user | http://wellcomelibrary.org/annoservices/search/b19956435?q=london&user=wellcome:87678 |
Find user X’s identifications of people within a particular region of a photograph between two dates | http://wellcomelibrary.org/annoservices/search/canvas-123454321?motivation=identifying&user=wellcome:87678&box=200,200,1000,1000&date=2016-01-01/2016-02-01 |
Table 4. The IIIF Search API - clickable examples
The search service is accompanied by an autocomplete service, useful for providing term or tag completion. Both services are described in the IIIF Search API at http://iiif.io/api/search/1.0/
Conclusion
Given both the flexibility and richness of IIIF APIs, it is surprising that many STM publishers have not rushed to embrace this new standard for publishing images on the web. This could be due to a lack of awareness, a sense that IIIF was only relevant to open-access articles, and perhaps uncertainty as to how it could be applied to these publishers’ needs.
The ambition behind the IIIF is to enable richer access to the world’s images. Hopefully, more STM publishers will be encouraged to make their image-based material available in this way.