Annotations in IIIF

DHSI 2019 Workshop
Day 3

  1. Concept

  2. Demos

  3. Theory

Concept

(Almost) Everything is an annotation

At root: A manifest is made up of Canvases which have content annotated on to them

Let's review manifest structure

NCSU example

{
  "@context": "http://iiif.io/api/presentation/2/context.json",
  "@type": "sc:Manifest",
  "@id": "http://localhost:8887/manifest.json",
  "label": "Papillons",
  "description": "Four patterns inspired by butterflies.",
  "attribution": "Special Collections Research Center at NCSU Libraries",
  "logo": "http://localhost:8887/logo.jpg",
  "sequences": [
    {
      "@type": "sc:Sequence",
      "canvases": [
        {
          "@type": "sc:Canvas",
          "@id": "http://localhost:8887/segPap_022/canvas/1",
          "label": "22",
          "width": 6099,
          "height": 8599,
          "images": [
            {
              "@type": "oa:Annotation",
              "motivation": "sc:painting",
              "on": "http://localhost:8887/segPap_022/canvas/1",
              "resource": {
                "@type": "dctypes:Image",
                "@id": "https://iiif.lib.ncsu.edu/iiif/segPap_022/full/500,/0/default.jpg",

                "service": {
                  "@context":  "http://iiif.io/api/image/2/context.json",
                  "@id": "https://iiif.lib.ncsu.edu/iiif/segPap_022",
                  "profile": "http://iiif.io/api/image/2/level2.json"
                }
              }
            }
          ]
        }
      ]
    }
  ]
}









...
            {
              "@type": "oa:Annotation",
              "motivation": "sc:painting",
              "on": "http://localhost:8887/segPap_022/canvas/1"
            }
...

Demos

https://demos.biblissima.fr/chateauroux/

The Butler-Bowdon Cope

Theory

Shared Canvas

It's all annotations all the way down

Motivation

"sc:painting"

{
          "@id": "https://bvmm.irht.cnrs.fr/iiif/4490/canvas/canvas-981394",
          "@type": "sc:Canvas",
          "label": "f. 033v - 034",
          "height": 5412,
          "width": 7216,
          "images": [
            {
              "@type": "oa:Annotation",
              "motivation": "sc:painting",
              "resource": {
                "@id": "https://iiif.irht.cnrs.fr/iiif/Châteauroux/B360446201_MS0005/jp2/B360446201_MS0005_0038/full/full/0/default.jpg",
                "@type": "dctypes:Image",
                "format": "image/jpeg",
                "height": 5412,
                "width": 7216,
                "service": {
                  "@context": "http://iiif.io/api/image/2/context.json",
                  "@id": "https://iiif.irht.cnrs.fr/iiif/Châteauroux/B360446201_MS0005/jp2/B360446201_MS0005_0038",
                  "profile": "http://iiif.io/api/image/2/level2.json"
                }
              },
              "on": "https://bvmm.irht.cnrs.fr/iiif/4490/canvas/canvas-981394"
            },
            {
              "@type": "oa:Annotation",
              "motivation": "sc:painting",
              "resource": {
                "label": "Miniature [Chilpéric Ier tue Galswinthe, se remarie et est assassiné]",
                "@id": "https://gallica.bnf.fr/iiif/ark:/12148/btv1b10511139b/f1/full/full/0/native.jpg",
                "format": "image/jpeg",
                "@type": "dctypes:Image",
                "width": 2138,
                "height": 2414,
                "service": {
                  "@context": "http://library.stanford.edu/iiif/image-api/1.1/context.json",
                  "profile": "http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level2",
                  "@id": "https://gallica.bnf.fr/iiif/ark:/12148/btv1b10511139b/f1"
                }
              },
              "on": "https://bvmm.irht.cnrs.fr/iiif/2309/canvas/canvas-981394#xywh=3949,994,1091,1232"
            }
          ]
        },

Fragments

{
          "@id": "https://bvmm.irht.cnrs.fr/iiif/4490/canvas/canvas-981394",
          "@type": "sc:Canvas",
          "label": "f. 033v - 034",
          "height": 5412,
          "width": 7216,
          "images": [
            {
              "@type": "oa:Annotation",
              "motivation": "sc:painting",
              "resource": {
                "@id": "https://iiif.irht.cnrs.fr/iiif/Châteauroux/B360446201_MS0005/jp2/B360446201_MS0005_0038/full/full/0/default.jpg",
                "@type": "dctypes:Image",
                "format": "image/jpeg",
                "height": 5412,
                "width": 7216,
                "service": {
                  "@context": "http://iiif.io/api/image/2/context.json",
                  "@id": "https://iiif.irht.cnrs.fr/iiif/Châteauroux/B360446201_MS0005/jp2/B360446201_MS0005_0038",
                  "profile": "http://iiif.io/api/image/2/level2.json"
                }
              },
              "on": "https://bvmm.irht.cnrs.fr/iiif/4490/canvas/canvas-981394"
            },
            {
              "@type": "oa:Annotation",
              "motivation": "sc:painting",
              "resource": {
                "label": "Miniature [Chilpéric Ier tue Galswinthe, se remarie et est assassiné]",
                "@id": "https://gallica.bnf.fr/iiif/ark:/12148/btv1b10511139b/f1/full/full/0/native.jpg",
                "format": "image/jpeg",
                "@type": "dctypes:Image",
                "width": 2138,
                "height": 2414,
                "service": {
                  "@context": "http://library.stanford.edu/iiif/image-api/1.1/context.json",
                  "profile": "http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level2",
                  "@id": "https://gallica.bnf.fr/iiif/ark:/12148/btv1b10511139b/f1"
                }
              },
              "on": "https://bvmm.irht.cnrs.fr/iiif/2309/canvas/canvas-981394#xywh=3949,994,1091,1232"
            }
          ]
        },

Fragment:

#xywh=100,50,600,800

#xywh=100,50,600,800

Gallica example

NB: This manifest is edited from the original!

Let's try it out in Mirador

Beyond images

"Image resources, and only image resources, are included in the images property of the canvas. These are linked to the canvas via annotations, as described in Image Resources. Other content, such as transcriptions, video, audio or commentary, is provided via external annotation lists referenced in the otherContent property, as described in Annotation Lists."

IIIF distinguishes between annotations that are for painting on to the canvas - images, transcriptions - and other annotations, that don't necessarily make sense rendered directly onto the virtual space.

For example, commentary might be rendered alongside the image in a viewer, not superimposed on top of it, but transcription could be superimposed directly in a layer that can be toggled on and off.

Discussion: What else can annotations be?

Given the examples we've looked at and the concepts we've discussed,

  • What are some likely sources of annotations?
  • What kinds of content can be associated with canvases?

"otherContent"

Beyond image annotations

Example from Wellcome:

AnnotationLists

AnnotationLists

"For some objects, there may be more than just images available to represent the page. Other resources could include the full text of the object, musical notations, musical performances, diagram transcriptions, commentary annotations, tags, video, data and more. These additional resources are included in annotation lists, referenced from the canvas they are associated with."

"Note well that Annotation Lists must not be embedded within the manifest."

(this is changing in v3 of prezi API)

Example from Wellcome:

 

Resources

IIIF-Annotation Library

Excercise!

DHSI Workshop Day 3: Annotations

By Josh Hadro

DHSI Workshop Day 3: Annotations

  • 776