Skip to content

Latest commit

 

History

History
458 lines (353 loc) · 47.5 KB

readme.md

File metadata and controls

458 lines (353 loc) · 47.5 KB

Awesome International Image Interoperability Framework (IIIF) Awesome

A list of lists of awesome IIIF resources.

The International Image Interoperability Framework (IIIF - "triple-eye-eff") is a group of standard APIs around sharing and reuse of media. It is also a growing community of galleries, libraries, archives, museums, companies, and others who develop the standards and interoperable software implementations. Content includes helpful links around each of the standards, demonstrations of their use, and tutorials and presentations. The list is especially helpful for orienting new community members and developers.

Contributing Guidelines

More Resources

The lists below are a great place to start for inspiration and tooling, but they are certainly not complete!

If you have a link or a resource to add, you have a few options:

  • check out the Contributing Guidelines linked just above and submit a pull request yourself if you're familiar with Github worflows
  • open a new issue ticket mentioning the link or resource you want to add and some description, and the community may be able to help add it

Likewise, there are other ways to see how people are implementing IIIF.

  • Github Topics page - This page will show you the Github repositories that self-identify as IIIF-related, with the most recently updated projects listed first.
  • IIIF Community on Zenodo - A Zenodo community for gathering articles and data related to IIIF.
  • IIIF on Mastodon - People, projects and institutions that self-identify as being active within the IIIF Community on Mastodon, a federated social network.

Disclaimer: The lists below are presented in alphabetical order within each section, and do not suggest any recommendation. Likewise, these lists are created for informational purposes only and any links do not constitute an endorsement, recommendation, or favoring by the IIIF Consortium.

Contents

Standards

The IIIF community has developed several standards for interoperable web-based image delivery.

  • Image API - Retrieves images from anywhere in the world and allows the user to select an area of the image and to resize, rotate, and edit the quality.
  • Presentation API - Packages each image with its metadata so users know the origin, title of the image, and even what page of a book the image was from, likely in conjunction with the Image API.
  • Content Search API - Perform search for text within or annotations related to digital objects.
  • Authorization Flow API - Control and restrict access by creating a link to a user interface for logging in and services that provide credentials.
  • Change Discovery API - Harvest any changes published by organizations that deliver digital objects.
  • Content State API - Generate a very specific link to a particular view of an object, like a specific area on a particular page rotated at a certain angle.

IIIF Extensions

  • navPlace Extension - This IIIF Presentation 3 API extension defines a new property, navPlace, which is defined by earthbound geographic coordinates in the form of GeoJSON-LD.
  • Georeference Extension - This extension leverages Web Annotations to provide a pattern for georeferencing IIIF Presentation 3 API Canvases as well as Images served through the IIIF Image API, containing (historical) maps.
  • Text Granularity Extension - This extension recommends a pattern for indicating the level of text granularity for an annotation related to optical character recognition (OCR) software, manual transcription, and existing digitized text.

Feedback is welcome on all IIIF Specifications, including draft versions and works-in-progress -- please send any feedback to [email protected].

Additional Lists

Official Resources

The IIIF Consortium (IIIF-C), with support from the community, maintains a number of resources to assist with understanding and implementation of IIIF.

  • IIIF Cookbook - A collection of IIIF "recipes," different reusable code snippets to help create IIIF manifests for common use cases.
  • IIIF Online Workshop - IIIF workshop materials and videos given by the IIIF-C and updated at each occurrence.
  • IIIF Guides - A "how-to" resource with screenshots for finding IIIF Manifest URLs from various members of the IIIF community.
  • Image API validator - A service to validate a IIIF Image API resource against the specification.
  • Presentation API validator - A service to validate a IIIF Presentation API resource against the specification.

Image Servers

These servers support the IIIF Image API. Some may also have support for the Presentation API.

  • aws-batch-iiif-generator - An automated pipeline to generate IIIF tiles and manifests and use AWS S3 as an IIIF image server.
  • Cantaloupe - Image server written in Java fully conformant to all IIIF Image API versions through 3.0.
  • digilib - Image server written in Java.
  • FSI Server - FSI Server is a popular commercial solution for serving high resolution images in multiple formats. It accompanies the Flash-based FSI Viewer for zoom and pan. IIIF adaptor for FSI server
  • go-iiif - IIIF server written in go (fork of greut/iiif).
  • Hymir IIIF Server - IIIF server written in Java supporting IIIF Image and Presentation API.
  • express-iiif - Express.js middleware to run an Image API 3.0 compatible IIIF server, written in typescript.
  • iiif_s3 - Ruby library for generating a static IIIF level 0 Image and Presentation API server on Amazon S3.
  • IIPImage Server - High performance image server.
  • Loris - Written in Python.
  • Micrio - Commercial platform for hosting IIIF collections with Presentation API support.
  • RAIS - 100% open source tile server for JP2 images written in Go.
  • riiif - Written in Ruby as a Rails engine.
  • serverless-iiif - IIIF Image server as an AWS Serverless Application, supporting Image API versions 2.1 and 3.0.
  • SIPI - IIIFv3 image server written in C++.
  • TremendousIIIF - A .NET C# IIIF Image API 2.1 server.

Image Server Shims

As defined by Wikipedia a shim is a small library that transparently intercepts an API, changing the parameters passed, handling the operation itself, or redirecting the operation elsewhere. These shims allow you to use an image server that does not currently support IIIF. If you have not implemented an image server yet, this is probably not where you want to start.

IIIF Viewers

  • Allmaps – A set of tools for curating, georeferencing and exploring IIIF maps.
  • Archive Viewer - A viewer for scanned images from various archives and repositories. (Presentation API v2 only)
  • CanvasPanel - React library to build IIIF Presentation 3 level viewing experiences including support for annotations.
  • Chronoscope World – A viewer for georeferenced IIIF maps. It is also a fast viewer for browsing IIIF books.
  • Clover IIIF Viewer – Presentation API Manifest and Collection viewer handling Image, Sound, and Video canvases for React.js
  • Diva.js - IIIF image viewer optimized for speed and flexibility.
  • Glycerine Viewer - An elegant and contemporary Vue 3 Viewer with a comprehensive annotation feature set.
  • IIIF Curation Viewer - A general IIIF viewer with added focus on curation and ordering of cropped IIIF images. Demo
  • Internet Archive BookReader - A viewer developed by the Internet Archive, specially suited for viewing books.
  • Micrio - High-performance client with WebAssembly/WebGL engine and additional storytelling elements. Also offering full server IIIF support.
  • Mirador - Multi-up workspace. See also Awesome Mirador list.
  • Tify - Slim and fast IIIF document viewer built with Vue.js.
  • Universal Viewer - Rich embeddable interface.

Image viewers (Image API only)

  • OpenSeadragon - IIIF tile support.
    • Scalebar Plugin - OpenSeadragon plugin for physical scale overlay.
    • Curtain Viewer - Viewer based on OpenSeadragon using the curtain-sync plugin for comparing naturally aligned image variants
  • openseadragon-react-viewer - A React wrapper component around OpenSeadragon which offers selectable, extended UI functionality.
  • IIIFViewer - IIIF WebGL / Canvas / DOM mobile-ready fast viewer powered by OpenLayers V3.
  • Imaging Helper Plugin - OpenSeadragon plugin with utility functions.
  • IIPMooViewer - IIPMooViewer is an open source, Javascript and HTML5 image streaming and zooming client. IIPMooViewer is IIIF-compatible and works with IIPServer or other IIIF compatible servers. Demo
  • Leaflet-IIIF - Lightweight, extensible IIIF image viewer.
  • OpenLayers - High-performance, feature-packed Javascript library especially built for maps. It supports the IIIF Image API 2.1.

Image API Libraries

  • iiif - Python library providing a reference implementation of the Image API. Also includes a test server and static tile generator.
  • iiif-apis - Java IIIF API libraries.
  • iiif_url - Ruby library for creating and parsing IIIF Image API URLs.
  • iiif-tiler - Java library for generating static IIIF tiles (compliant with the V2.1 and 3.0 of the IIIF Image API).
  • image-iiif - A bring your own framework solution for implementing IIIF Image API 2.1 with PHP.
  • iOSTiledViewer - IIIF image API and Zoomify viewer for iOS, written in Swift.
  • libvips - A fast image processing library with low memory needs. Includes an operation that can build image pyramids compatible with IIIF Image API.
  • Node node-iiif - a full-featured image processor supporting the IIIF Image API versions 2.1 and 3.0.
  • piffle - Python library for generating and parsing IIIF Image API URLs.

Image Tools

Various tools for working with images such as cropping tools.

  • CanvasFinder - allows you to paste a IIIF Manifest URL into the box below and it will show you all of the Canvases which are present in that manifest.
  • Compariscope - A demo app by the Victoria & Albert useful for the alignment of overlayed images, served by the IIIF Image API, and providing an interactive viewer for overlayed images, presented fluidly, using responsive image tags.
  • dezoomify-rs - A command-line tiled image downloader. Support IIIF, Deepzoom and others zoomable image formats.
  • IIIF cropping tool - Website using Leaflet-IIIF Cropping and Jekyll that allow users to enter the URL of a IIIF image and get the URL for the cropped section of the image.
  • iiif-dl - Command-line tile downloader/assembler for IIIF endpoints/manifests. Download full-resolution image sequences from any IIIF server.
  • IIIF Image Inspector - a small tool to inspect metadata about IIIF images and demonstrate how their image file URLs may be constructed.
  • IIIF-imageManipulation - UCD's tool to crop images and manipulate via IIIF attributes; integrate with Mirador via plugin.
  • Leaflet-IIIF Cropping - Example of using Leaflet to provide IIIF cropping.
  • Software tools from Oxford Visual Geometry Group

Presentation API Libraries

  • IIIF Manifest Generator - PHP library for generating IIIF manifests.
  • iiif-apis - Java IIIF API libraries.
  • iiif-prezi - Presentation 2 Python library providing a reference implementation.
  • iiif-prezi3 - Presentation 3 Python library.
  • iiif-tree-component - IIIF tree menu sortable by date with multi-select capability.
  • jiiify-presentation - A Java IIIF Presentation library.
  • Manifesto - IIIF Presentation API client and server utility library.
  • Manifold - Wraps Manifesto to provide viewer state and related utilities.
  • Clover IIIF - IIIF front-end React toolkit including a multimedia viewer, image slider, and HTML5 primitives for manifest properties.
  • O'Sullivan - Ruby API for creating IIIF manifests.
  • pyIIIFpres - A Python module built for easing the construction of JSON manifests compliant with IIIF API 3.0 in a production environment, similarly to iiif-prezi for earlier versions of the protocol.
  • Swiiift - IIIF presentation API library for Swift.
  • tabula-rasa - npm module for creating and manipulating IIIF manifests.
  • tiny-iiif-manifest-authoring-tool - A node.js web app that provides a one-stop solution for publishing IIIF resources, offering various functionalities from image uploading to IIIF manifest authoring.
  • ViewDir - Documentation on IIIF-related libraries and components, from an open community of designers and developers interested in creating composable and interoperable interfaces for consuming and creating online content.

Presentation API Shims

These shims allow you to use systems with presentation metadata (e.g. structure or sequences) that do not currently support IIIF. If you have not implemented the Presentation API yet, this is probably not where you want to start.

  • Chronicling America - For newspapers digitized in the National Digital Newspaper Program.
  • Shimmy - Ruby gem designed to help you build shims for the IIIF Presentation API, and has samples for NYPL, Flickr, and the US National Archives.

Presentation Manifest Tools

  • biiif - Organise your files according to a simple naming convention to generate IIIF v3 manifests.
  • demetsiiify - Web service for creating IIIF manifests from METS/MODS documents.
  • IIIF Download - Input a IIIF Manifest URL to and the desired image size to download a zip of all that Manifest's images
  • IIIF Manifest Explorer - Input a IIIF manifest link to see basic object and image metadata in a human-friendly format.
  • iiif-producer - A CLI tool that generates IIIF Presentation 2.1 Manifests from METS/MODS (produced by Kitodo).
  • Leiden's Islandora IIIF Manifest Generator - A module to generate IIIF Manifest for Islandora.
  • Manifest Editor - Web application for importing, viewing, updating, and exporting manifests. See a demo.
  • Brif - A boilerplate tool based on Docker and FastAPI, designed to streamline the development and deployment of IIIF compliant platforms. Powering up muzai.io. See live demo.
  • pdiiif - a JavaScript library to create PDFs from IIIF manifests, completely client-side (with server-based fallback for unsupported browsers).
  • tropiiify Tropy plugin that exports images, metadata and annotations as a (level0) IIIF collection.

Validators

Exhibition and Guided Viewing Tools

Tools and resources that provide functionality for presenting IIIF materials in an exhibition-like setting (and potentially other functionality).

  • Adno - a web application for viewing, editing and sharing narratives and pathways on IIIF images.
  • Annona Range Storyboard - Annona toolkit which allows for the guided viewing of segments of a manifest, in addition to the Annona Multi Storyboard Viewer for guided comparison of multiple manifests.
  • Canopy IIIF - A IIIF Collection sourced site generator in Next.js for digital collections, humanities, and exhibitions
  • Curation Tools - Set of tools, including a Viewer, Curation Manager, Curation Board, and more from the Center for Open Data in the Humanities (all tool descriptions in Japanese, some also available in English).
  • Exhibit - A free IIIF storytelling tool that allows for guided navigation of one or more IIIF Manifests using annotations.
  • Micrio - High-performance client with WebAssembly/WebGL engine and additional storytelling elements. Also offering full server IIIF support.
  • Juncture - a suite of tools and services that enable anyone to easily create engaging web pages with rich visualizations, including interactive images, videos, maps, and more.
  • Panel Truck - Vue-based presentation tool, embeddable into any page as a Web Component, which supports slide-like narration over one or multiple IIIF sources, as well as static images and tiled map sources. (Example)
  • Simple Site IIIF Extensions This Simple Site has several extensions that make use of IIIF to produce customised presentations of a bespoke selection of IIIF manifests (e.g. in Mirador 3, Curtain Viewer and Panel Truck).
  • Spotlight - a self-service approach for creating exhibit websites to highlight digital collections; based on Blacklight.
  • Storiiies Editor – a free online storytelling platform for creating guided tours of a single IIIF manifest using annotations.
  • Wax - a minimal computing project for producing digital exhibitions focused on longevity, low costs, and flexibility.

Content Search API

Libraries and applications that support the Content Search API.

  • Blacklight IIIF Search - Plugin that provides IIIF Content Search functionality for Blacklight-based Rails applications.
  • Ocracoke - Rails application to create, index, and search text from page images and provide results in IIIF Content Search API format.
  • Whiiif - Python/Flask/Solr application to index IIIF manifests alongside ALTO representations and provide a IIIF Content Search API endpoint.

Authentication

Some resources about the IIIF Authorization Flow API.

Tutorials

Tutorials for how to accomplish functionality in your applications.

Videos and Slide Decks

Slide decks and presentation videos with a focus on IIIF.

For the most recent videos of lightning talks, papers, and semi-annual conference presentations, see the official IIIF Consortium YouTube channel.

Discovery

Links to help you discover IIIF resources that have been shared, demonstrations of IIIF discovery and useful discovery tools.

  • Biblissima IIIF-Collections - Prototype application that allows you to search across IIIF-compliant manuscripts and rare books dated before 1800.
  • Cultural Japan - Discovery system for IIIF resources in Japan.
  • detektIIIF2 - a Chrome extension that automatically detects IIIF resources in web pages and offers users a convenient way to collect and reuse them.
  • Europeana's IIIF filtered search - Europeana provides a filter to identify all IIIF-enabled resources in its collections.
  • iiif-universe - Repository that includes links to known IIIF presentation manifest collections.
  • iNQUIRE demo - Open-source IIIF-compliant research and discovery platform. This is the IIIF-compliant version of the platform driving [Digital Bodleian] (http://digital.bodleian.ox.ac.uk/).
  • iNQUIRE source - Github repository for iNQUIRE.
  • museum-digital - Portal that provides access to digital objects from many museums (mostly in Germany and Central Europe), some of which are IIIF-enabled.

Import to Viewers

  • iiif.link - A url shortener for sharing a IIIF resource; upon opening the URL the viewer will open at the saved zoom and region of interest.
  • Open in IIIF Viewer - A web browser extension to open IIIF manifest link in your favorite IIIF viewer.

Annotations

  • ALTO to Annotation list - This XSLT converts an ALTO xml document to an annotation lists for use with a IIIF manifests.
  • Annocoda - Mobile-friendly web app that uses IIIF Content Search 2.0 and Presentation 3.0 to provide image search capabilities
  • Annona Annotation Library: iiif-annotation viewer JavaScript library - JavaScript library that uses custom tags and url of the annotation to load annotated image, corresponding annotations, tags, and text into HTML object or OpenSeadragon viewer with overlays.
  • Glycerine Workbench – A scholarly annotation and publication workbench. Glycerine provides end-to-end workflows for collaboration and publishing of images. Glycerine is a comprehensive framework for institutional integration.
  • Recogito - A popular and award-winning Digital Humanities platform for collaborative document annotation, maintained by Pelagios.
  • Storiiies - Demos of using annotations for storytelling.

Annotation Servers

  • annotot - Simple IIIF annotations mounted in a Ruby on Rails applications.
  • CatchPy - Django-based annotation server with support for Web Annotation and AnnotatorJS APIs, using JWT for auth. Originally developed for the AnnotationsX LTI tool, CatchPy also supports tagging and responses.
  • Elucidate - Java and Postgres annotation server.
  • Europeana - Extension to the Europeana REST API that allows you to create, retrieve, and manage annotations on Europeana objects
  • ipfs-iiif-db[deprecated] - IIIF annotations JS client over IPFS.
  • Local IIIF Annotation Server[deprecated] - Jekyll front end, Flask backend, equipped with Vagrant Box that provides a Mirador viewer for creating and save annotations into Jekyll site. Annotations are sharable by using GitHub pages with Jekyll front end.
  • MangoServer[deprecated] - Mongo-backed annotation server written in Python.
  • Miiify - Light-weight annotation server built on the same principles as Git.
  • SimpleAnnotationServer - Java annotation server backed by an Apache Jena triple store, Sesame, or Solr.

Annotation Clients

  • Adno - a web application for viewing, editing and sharing narratives and pathways on IIIF images.
  • Annonatate - Website that allows users to create annotations via their GitHub account. The website saves all the annotations to the user's GitHub. Also makes use of Annona and allows users to create custom Annona views.
  • IIIF Annotation Studio - Mirador Viewer packaged as a desktop app (macos, linux) with an embedded annotation endpoint that saves annotations to a local sqlite database.

Crowdsourcing

CMS Integration

Content Management Systems (CMS) modules that implement or leverage the IIIF APIs.

  • IIIF Image Field - Drupal 7 module that provides an easy way to add IIIF Images to content types, and configure their display. Supports Image API versions 1.0 or 2.0.
  • IIIF Server Omeka S Module - Omeka S module that implements the IIIF Image and Presentation APIs.
  • IIIF Toolkit - IIIF Toolkit by University of Toronto Libraries is a plugin for Omeka Classic (2.3+) that integrates Mirador with a built-in annotator, a manifest generator, Simple Pages shortcodes and Exhibit Builder blocks for a rich presentation experience.
  • inseri core - a WordPress plugin that introduces scientific and interactive Gutenberg blocks to facilitate open science. The IIIF Viewer block can be fed with a IIIF Manifest. It relies on Clover viewer and allows the usage of the API Manifest to view images and audio/visual content.
  • Mirador Viewer Omeka S Module - Omeka S module that integrates the Mirador image viewer.
  • UniversalViewer Omeka S Module - Omeka S module that integrates UniversalViewer.

Wiki Integration

Wiki software tools that implement or leverage the IIIF APIs

Hosting

Internet file hosting that provides IIIF support (including both paid and free options).

Newspapers

These are resources that are specifically useful for working with newspapers. Many of them are outputs of the IIIF Newspaper Community Group (now on hiatus).

STEM

Science, Technology, Engineering, Math/Medicine

  • CellXplorer Cell biology annotations in a deep zoom viewer
  • MicroDraw - a web application to visualise and annotate collaboratively high resolution histology data.

Experiments and Fun

  • 3D trade cards explorer - A 3D environment that displays nineteenth-century trade cards from the Boston Public Library. Designed to be viewed on a mobile phone, ideally with Google Cardboard. Created using three.js by Jon White, Cogapp.
  • Animal Crossing Art Generator - Getty's tool leverages IIIF to create custom patterns featuring artwork from famous art collections around the world.
  • ANTLITZ.NINJA - Award-winning digital art app that cuts and re-combines historical portraits. Based on IIIF.
  • Atlascope - a tool for exploring historic urban atlases in metropolitan Boston and telling stories about how places have changed over time.
  • cover.boutique - Award-winning web application to create designs for smartphone cases from IIIF resources.
  • David Rumsey MapTab - A IIIF powered, Chrome extension that displays a random map from the David Rumsey Map Collection everytime you open a new tab in your browser. Built using Leaflet-IIIF and React.js. Created by Jack Reed, Stanford University Libraries.
  • Fractals - Deep zoom into a huge (1bn x 1bn pixel) fractal image, created by Sean Martin, Applied IIIF.
  • Wallpaper HDR - Deep zoom of an HDR Image of an 70ies wallpaper - works in Chome-based browsers, with an HDR-capable monitor.
  • IIIF for Dolls - use IIIF to create printable versions of your favorite work at a variety of scales.
  • IIIF Stereographs - Exploring Stereo Photos with IIIF
  • Image Comparison with a Magnifying Glass - Image comparison using leaflet magnifying glass by Digirati.
  • Image Comparison with a Slider - Image comparison using leaflet slider by Digirati.
  • Moviemaps - a way to pair a video discussion with digital collections objects that zoom and pan while synchronized with the video, while still allowing free exploration.
  • Mouse-over animation - Animated IIIF images on mouse over, look at the hero section, drag to right to reveal more animations.
  • Old Map Room - An AppleTV application that uses IIIF to turn any room into a map room.
  • Puzzles! Powered by IIIF - Drag-and-drop image tile puzzles created by Michael Appleby, Yale Center for British Art.
  • Sleep Stories - Experiment with the W3C Web Annotation Data Model. The annotations present a sequence of stories associated with a large image. Optimised for mobile. Created by Andrew Dyton and Stephen Fraser, Digirati, for Wellcome Collection.
  • Medieval Word Maker - a Medieval Word Maker, created by Ben Albritton, Stanford University Libraries.
  • Storiiies - Cogapp's showcase of recent experiments in digital storytelling using IIIF.

Community

IIIF is a community-based initiative that relies on active participation, discussion, and input. To get involved and learn more, see the IIIF Community page.

Collection Management Systems (CMSs) and Digital Asset Management (DAMs) that support IIIF

License

CC0

To the extent possible under law, all contributors waive all copyright and related neighboring rights to this work.