IIIF
International Image
Interoperability Framework
— Tarje Laviq

https://iiif.bodleian.ox.ac.uk/iiif/image/263613fd-d920-4c16-ac7b-70d7d4a2cb27/2775,2650,800,1000/800,/0/default.jpg

Agenda
IIIF represents an evolution in exchange standards, establishing a uniform way to interact with resources.
With IIIF, images, objects, and collections become significantly more reusable.
APIs! Standardized Application Programming Interfaces makes IIIF so powerful. URIs usable for humans and machines.
What is IIIF?
International
Image++



https://dlcs.io/iiif-img/wellcome/5/b14658197.jp2/full/500,/0/default.jpg
https://dlcs.io/iiif-img/wellcome/5/b14658197.jp2/2173,1147,1000,1000/500,/0/default.jpg
https://dlcs.io/iiif-img/wellcome/5/b14658197.jp2/2903,1047,800,2000/500,/0/gray.jpg
Interoperability – Viewers
Interoperability – Images
Interoperability – Collections
Framework
and extensions
Maps extension
Image API
-
Identifier
-
Region
-
Size
-
Rotation
-
Quality
-
Format
info.json
{
"@context": "http://iiif.io/api/image/2/context.json",
"@id": "https://ids.si.edu/ids/iiif/CHSDM-317E001E9E352-000001",
"protocol": "http://iiif.io/api/image",
"width": 5471,
"height": 3757,
"tiles": [
{
"width": 512,
"scaleFactors": [
1,
2,
4,
8
]
}
],
"profile": [
"http://iiif.io/api/image/2/level2.json",
{
"formats": [
"jpg"
],
"supports": [
"sizeByH",
"sizeByW",
"sizeByForcedWh"
]
}
]
}
Presentation API
aka manifests or prezi

Canvas

- Few required fields
- Id
- Type
- Label
- List of canvases
- Metadata is flexible, but simple
- label (keywords) and value (spade)
Manifest – minimum
Most important to remember, made for humans using IIIF viewers, not for complex metadata
- Attribution to owner
- Define one or more structures, similar to a table of contents
- Provide links to additional resources related to the object
- Integrate other services, such as authorization
Manifest – additional ... stuff
Manifest JSON
{
"@context": "http://iiif.io/api/presentation/3/context.json",
"id": "https://api-ub.vercel.app/items/ubb-jg-l-0985/manifest",
"type": "Manifest",
"behavior": [
"paged"
],
"label": {
"no": [
"[FN i Midtøsten 1957]"
],
"en": [
"[UN in the Middle east 1957]"
]
},
"metadata": [
{
"label": {
"en": [
"Identifier"
],
"no": [
"Identifikator"
]
},
"value": {
"none": [
"ubb-jg-l-0985"
]
}
},
{
"label": {
"en": [
"Subjects"
],
"no": [
"Emneord"
]
},
"value": {
"no": [
"UNRWA",
"Fargefotografi",
"Mann",
"Dias",
"Fotograf",
"Fotografportrett",
"Lysbilde",
"FN"
]
}
},
{
"label": {
"en": [
"Spatial"
],
"no": [
"Steder"
]
},
"value": {
"no": [
"Egypt",
"Gazastripen"
]
}
}
],
"summary": {
"no": [
"FN i midtøsten 1957. Portrett av Jørgen Grinde."
],
"en": [
"UN in the Middle East 1957. Portrait of Jørgen Grinde."
]
},
"requiredStatement": {
"label": {
"no": [
"Kreditering"
],
"en": [
"Attribution"
]
},
"value": {
"no": [
"Tilgjengeliggjort av Universitetsbiblioteket i Bergen"
],
"en": [
"Provided by University of Bergen Library"
]
}
},
"rights": "http://creativecommons.org/licenses/by/4.0/",
"thumbnail": [
{
"id": "https://data.ub.uib.no/files/bs/ubb/ubb-jg/ubb-jg-l/ubb-jg-l-0985/jpg/ubb-jg-l-0985_th.jpg",
"type": "Image",
"format": "image/jpeg",
"height": 250,
"width": 250
}
],
"seeAlso": [
{
"id": "https://api-ub.vercel.app/items/ubb-jg-l-0985",
"type": "Dataset",
"format": "application/ld+json",
"label": {
"en": [
"Object description in JSON format"
],
"no": [
"Objekt beskrivelse i JSON format"
]
}
},
{
"id": "https://sparql.ub.uib.no/sparql/query?query=describe<http://data.ub.uib.no/instance/photograph/ubb-jg-l-0985>&output=json",
"type": "Dataset",
"label": {
"en": [
"Object description in RDF"
],
"no": [
"Objekt beskrivelse i RDF"
]
}
}
],
"homepage": [
{
"id": "http://marcus.uib.no/instance/photograph/ubb-jg-l-0985",
"type": "Text",
"format": "text/html",
"label": {
"no": [
"Hjemmeside til objektet"
],
"en": [
"Homepage for the object"
]
}
}
],
"items": [
{
"id": "http://data.ub.uib.no/instance/page/ubb-jg-l-0985_p1",
"type": "Canvas",
"height": 1024,
"width": 1024,
"label": {
"no": [
"1"
]
},
"thumbnail": [
{
"id": "https://data.ub.uib.no/files/bs/ubb/ubb-jg/ubb-jg-l/ubb-jg-l-0985/jpg/ubb-jg-l-0985_xs.jpg",
"type": "Image",
"format": "image/jpeg",
"height": 200,
"width": 200
}
],
"items": [
{
"id": "http://data.ub.uib.no/instance/digitalresource/ubb-jg-l-0985/annotation-page/1",
"type": "AnnotationPage",
"items": [
{
"id": "http://data.ub.uib.no/instance/digitalresource/ubb-jg-l-0985/annotation/1",
"type": "Annotation",
"motivation": "painting",
"target": "http://data.ub.uib.no/instance/page/ubb-jg-l-0985_p1",
"body": {
"id": "https://data.ub.uib.no/files/bs/ubb/ubb-jg/ubb-jg-l/ubb-jg-l-0985/jpg/ubb-jg-l-0985_xl.jpg",
"type": "Image",
"format": "image/jpeg",
"height": 1024,
"width": 1024
}
}
]
}
]
}
],
"structures": [
{
"id": "http://data.ub.uib.no/instance/manuscript/ubb-jg-l-0985/manifest/range/1",
"type": "Range",
"label": {
"no": [
"Standard innholdsfortegnelse"
],
"en": [
"Default"
]
},
"items": [
{
"id": "http://data.ub.uib.no/instance/page/ubb-jg-l-0985_p1",
"type": "Canvas"
}
]
}
]
}
Playtime
We will look at manifests and collections in the IIIF Manifest editor, Theseus viewer and Mirador
Lets first get some urls from https://api-ub.vercel.app/spec (deprecated, will move to https://api.ub.uib.no/reference)
Finished
IIIF
By Tarje Lavik
IIIF
Discover the exciting world of IIIF, exploring its international impact on interoperability and image management. Join us for insights on the Image API and interactive playtime with manifests and presentations!
- 178