IIIF

Die Uni­ver­si­täts­bi­blio­thek Leip­zig (UBL) stellt den Zugang zu ihren hoch­wer­ti­gen Digi­ta­li­sa­ten flä­chen­de­ckend nach den API-Stan­dards des Inter­na­tio­nal Image Inter­ope­ra­bi­li­ty Frame­work (IIIF) bereit. Dabei han­delt es sich um einen moder­nen, auf JSON-LD beru­hen­den Standard.

Die IIIF APIs eig­nen sich beson­ders gut dafür, Bild­in­hal­te der UBL direkt in eige­nen Web­sites, Anwen­dun­gen und Apps ein­zu­bin­den, ohne die Bil­der kopie­ren oder bear­bei­ten zu müs­sen. Mit IIIF steht eine Schnitt­stel­le bereit, die es erlaubt, aus eige­nen Anwen­dun­gen her­aus dyna­misch auf den rei­chen Daten­be­stand der UBL zugrei­fen zu können.

Den Spe­zi­fi­ka­tio­nen von IIIF fol­gend sind die Bestän­de der UBL hier­ar­chisch in Coll­ec­tions unter­glie­dert, biblio­gra­phi­sche Ein­hei­ten wer­den von Mani­fes­ten reprä­sen­tiert. Bei­des erfolgt nach den Fest­le­gun­gen der IIIF Pre­sen­ta­ti­on API. Aus den Mani­fes­ten her­aus ist der Zugriff auf die eigent­li­chen Digi­ta­li­sa­te nach den Fest­le­gun­gen der IIIF Image API möglich.

Zum gegen­wär­ti­gen Zeit­punkt unter­stützt die UBL die Ver­si­on 2 der IIIF API Stan­dards. Für eine Beschrei­bung aller Funk­tio­nen der APIs lesen Sie bit­te die Beschrei­bun­gen auf https://iiif.io

Collections

Der Ein­stieg in die Samm­lun­gen der UBL erfolgt über die Coll­ec­tions auf der obers­ten Ebene:

https://iiif.ub.uni-leipzig.de/static/collections/toplevel.json

{
  "@context" : "http://iiif.io/api/presentation/2/context.json",
  "@id" : "https://iiif.ub.uni-leipzig.de/static/collections/toplevel.json",
  "@type" : "sc:Collection",
  "label" : "IIIF Collection for Leipzig University Library",
  "description" : "Collection for all IIIF manifests which are produced by the Leipzig University Library.",
  "collections" : [ {
    "@id" : "https://iiif.ub.uni-leipzig.de/static/collections/Drucke16/collection.json",
    "@type" : "sc:Collection",
    "label" : "Drucke des 16. Jahrhunderts",
    "attribution" : "Provided by Leipzig University Library",
    "logo" : {
      "@id" : "https://iiif.ub.uni-leipzig.de/ubl-logo.png",
      "format" : "image/png"
    }
  }, {
    "@id" : "https://iiif.ub.uni-leipzig.de/static/collections/LeipzigerVerlage/collection.json",
    "@type" : "sc:Collection",
    "label" : "Leipziger Verlage",
    "attribution" : "Provided by Leipzig University Library",
    "logo" : {
      "@id" : "https://iiif.ub.uni-leipzig.de/ubl-logo.png",
      "format" : "image/png"
    }
  }, {
    "@id" : "https://iiif.ub.uni-leipzig.de/static/collections/Drucke17/collection.json",
    "@type" : "sc:Collection",
    "label" : "Drucke des 17. Jahrhunderts",
    "attribution" : "Provided by Leipzig University Library",
    "logo" : {
      "@id" : "https://iiif.ub.uni-leipzig.de/ubl-logo.png",
      "format" : "image/png"
    }
  }, {
    "@id" : "https://iiif.ub.uni-leipzig.de/static/collections/Buchhandschriften/collection.json",
    "@type" : "sc:Collection",
    "label" : "Buchhandschriften",
    "attribution" : "Provided by Leipzig University Library",
    "logo" : {
      "@id" : "https://iiif.ub.uni-leipzig.de/ubl-logo.png",
      "format" : "image/png"
    }
  }, {
    "@id" : "https://iiif.ub.uni-leipzig.de/static/collections/MittelalterHandschriften/collection.json",
    "@type" : "sc:Collection",
    "label" : "Abendländische mittelalterliche Handschriften",
    "attribution" : "Provided by Leipzig University Library",
    "logo" : {
      "@id" : "https://iiif.ub.uni-leipzig.de/ubl-logo.png",
      "format" : "image/png"
    }
  }, {
    "@id" : "https://iiif.ub.uni-leipzig.de/static/collections/NachlassWustmann/collection.json",
    "@type" : "sc:Collection",
    "label" : "Nachlass Wustmann - Autographensammlung Wustmann [NL 297/4]",
    "attribution" : "Provided by Leipzig University Library",
    "logo" : {
      "@id" : "https://iiif.ub.uni-leipzig.de/ubl-logo.png",
      "format" : "image/png"
    }
  }, {
    "@id" : "https://iiif.ub.uni-leipzig.de/static/collections/Drucke15/collection.json",
    "@type" : "sc:Collection",
    "label" : "Drucke des 15. Jahrhunderts",
    "attribution" : "Provided by Leipzig University Library",
    "logo" : {
      "@id" : "https://iiif.ub.uni-leipzig.de/ubl-logo.png",
      "format" : "image/png"
    }
  }, {
    "@id" : "https://iiif.ub.uni-leipzig.de/static/collections/Drucke19/collection.json",
    "@type" : "sc:Collection",
    "label" : "Drucke des 19. Jahrhunderts",
    "attribution" : "Provided by Leipzig University Library",
    "logo" : {
      "@id" : "https://iiif.ub.uni-leipzig.de/ubl-logo.png",
      "format" : "image/png"
    }
  }, {
    "@id" : "https://iiif.ub.uni-leipzig.de/static/collections/GriechischeHandschriften/collection.json",
    "@type" : "sc:Collection",
    "label" : "Griechische Handschriften",
    "attribution" : "Provided by Leipzig University Library",
    "logo" : {
      "@id" : "https://iiif.ub.uni-leipzig.de/ubl-logo.png",
      "format" : "image/png"
    }
  }, {
    "@id" : "https://iiif.ub.uni-leipzig.de/static/collections/Drucke20/collection.json",
    "@type" : "sc:Collection",
    "label" : "Drucke des 20. Jahrhunderts",
    "attribution" : "Provided by Leipzig University Library",
    "logo" : {
      "@id" : "https://iiif.ub.uni-leipzig.de/ubl-logo.png",
      "format" : "image/png"
    }
  }, {
    "@id" : "https://iiif.ub.uni-leipzig.de/static/collections/AbendNeuzeitHandschriften/collection.json",
    "@type" : "sc:Collection",
    "label" : "Abendländische neuzeitliche Handschriften",
    "attribution" : "Provided by Leipzig University Library",
    "logo" : {
      "@id" : "https://iiif.ub.uni-leipzig.de/ubl-logo.png",
      "format" : "image/png"
    }
  }, {
    "@id" : "https://iiif.ub.uni-leipzig.de/static/collections/Drucke18/collection.json",
    "@type" : "sc:Collection",
    "label" : "Drucke des 18. Jahrhunderts",
    "attribution" : "Provided by Leipzig University Library",
    "logo" : {
      "@id" : "https://iiif.ub.uni-leipzig.de/ubl-logo.png",
      "format" : "image/png"
    }
  }, {
    "@id" : "https://iiif.ub.uni-leipzig.de/static/collections/NeuzeitHandschriften/collection.json",
    "@type" : "sc:Collection",
    "label" : "Neuzeitliche Handschriften",
    "attribution" : "Provided by Leipzig University Library",
    "logo" : {
      "@id" : "https://iiif.ub.uni-leipzig.de/ubl-logo.png",
      "format" : "image/png"
    }
  } ],
  "attribution" : "Provided by Leipzig University Library",
  "logo" : {
    "@id" : "https://iiif.ub.uni-leipzig.de/ubl-logo.png",
    "format" : "image/png"
  }
}

Unter­ge­ord­ne­te Samm­lun­gen sind im JSON ver­knüpft und kön­nen ent­spre­chend nach­ver­folgt werden:

https://iiif.ub.uni-leipzig.de/static/collections/Buchhandschriften/collection.json

{
  "@context" : "http://iiif.io/api/presentation/2/context.json",
  "@id" : "https://iiif.ub.uni-leipzig.de/static/collections/Buchhandschriften/collection.json",
  "@type" : "sc:Collection",
  "label" : "Buchhandschriften",
  "manifests" : [ {
    "@type" : "sc:Manifest",
    "@id" : "https://iiif.ub.uni-leipzig.de/0000003244/manifest.json",
    "label" : "Leipzig, Universitätsbibliothek Leipzig, Fragm. lat. 53"
  }, {
    "@type" : "sc:Manifest",
    "@id" : "https://iiif.ub.uni-leipzig.de/0000003909/manifest.json",
    "label" : "Leipzig, Universitätsbibliothek Leipzig, Fragm. lat. 424"
  }, {
    "@type" : "sc:Manifest",
    "@id" : "https://iiif.ub.uni-leipzig.de/0000004134/manifest.json",
    "label" : "Leipzig, Universitätsbibliothek Leipzig, Ms 671"
  }, {
    "@type" : "sc:Manifest",
    "@id" : "https://iiif.ub.uni-leipzig.de/0000004357/manifest.json",
    "label" : "Leipzig, Universitätsbibliothek Leipzig, Ms 1529"
  }, {
    "@type" : "sc:Manifest",
    "@id" : "https://iiif.ub.uni-leipzig.de/0000003895/manifest.json",
    "label" : "Leipzig, Universitätsbibliothek Leipzig, Fragm. lat. 400"
  }, {
    "@type" : "sc:Manifest",
    "@id" : "https://iiif.ub.uni-leipzig.de/0000003630/manifest.json",
    "label" : "Leipzig, Universitätsbibliothek Leipzig, Fragm. lat. 335"
  }, {
    "@type" : "sc:Manifest",
    "@id" : "https://iiif.ub.uni-leipzig.de/0000004473/manifest.json",
    "label" : "Leipzig, Universitätsbibliothek Leipzig, Fragm. Civ. Lips. 1"
  }, {
    "@type" : "sc:Manifest",
    "@id" : "https://iiif.ub.uni-leipzig.de/0000003163/manifest.json",
    "label" : "Leipzig, Universitätsbibliothek Leipzig, Fragm. lat. 21"
  }, {
    "@type" : "sc:Manifest",
    "@id" : "https://iiif.ub.uni-leipzig.de/0000002958/manifest.json",
    "label" : "Leipzig, Universitätsbibliothek Leipzig, Ms 96"
  }, {
    "@type" : "sc:Manifest",
    "@id" : "https://iiif.ub.uni-leipzig.de/0000005430/manifest.json",
    "label" : "Leipzig, Universitätsbibliothek Leipzig, Rep. II 120 (Leihgabe Leipziger Stadtbibliothek)"
  }, {
    "@type" : "sc:Manifest",
    "@id" : "https://iiif.ub.uni-leipzig.de/0000003262/manifest.json",
    "label" : "Leipzig, Universitätsbibliothek Leipzig, Fragm. lat. 56"
  }, {
    "@type" : "sc:Manifest",
    "@id" : "https://iiif.ub.uni-leipzig.de/0000004611/manifest.json",
    "label" : "Leipzig, Universitätsbibliothek Leipzig, Ms 1311"
  }, {
    "@type" : "sc:Manifest",
    "@id" : "https://iiif.ub.uni-leipzig.de/0000004626/manifest.json",
    "label" : "Leipzig, Universitätsbibliothek Leipzig, Ms 1574"
  }, {
    "@type" : "sc:Manifest",
    "@id" : "https://iiif.ub.uni-leipzig.de/0000001780/manifest.json",
    "label" : "Leipzig, Universitätsbibliothek Leipzig, Ms 150"
  }, {
    "@type" : "sc:Manifest",
    "@id" : "https://iiif.ub.uni-leipzig.de/0000004574/manifest.json",
    "label" : "Leipzig, Universitätsbibliothek Leipzig, Ms 1313"
  }, {
    "@type" : "sc:Manifest",
    "@id" : "https://iiif.ub.uni-leipzig.de/0000003670/manifest.json",
    "label" : "Leipzig, Universitätsbibliothek Leipzig, Fragm. lat. 339"
  }, {
    "@type" : "sc:Manifest",
    "@id" : "https://iiif.ub.uni-leipzig.de/0000004470/manifest.json",
    "label" : "Leipzig, Universitätsbibliothek Leipzig, Ms 1033"
  }, {
    "@type" : "sc:Manifest",
    "@id" : "https://iiif.ub.uni-leipzig.de/0000004604/manifest.json",
    "label" : "Leipzig, Universitätsbibliothek Leipzig, Ms 412"
  }]}

Manifeste

Coll­ec­tions der unters­ten Ebe­ne ver­wei­sen auf die Mani­fes­te der ihnen zuge­ord­ne­ten biblio­gra­phi­schen Ein­hei­ten. Dies kön­nen eben­falls per HTTPS abge­ru­fen werden.

https://iiif.ub.uni-leipzig.de/0000004604/manifest.json


Images

In den Mani­fes­ten fin­den sich Ver­wei­se auf die Schnitt­stel­len der IIIF Image API:

https://iiif.ub.uni-leipzig.de/iiif/j2k/0000/0046/0000004604/00000084.jpx

Die IIIF Image API eig­net sich aus­ge­zeich­net, digi­ta­le Bild­in­hal­te direkt in ande­re Anwen­dun­gen zu inte­grie­ren. Fast alle Digi­ta­li­sa­te der UBL wer­den unter offe­nen Lizen­zen zur Ver­fü­gung gestellt und kön­nen somit in wis­sen­schaft­li­chen, künst­le­ri­schen und auch kom­mer­zi­el­len Pro­jek­ten ver­wen­det werden.

Durch das Anhän­gen der Zei­chen­ket­te „info.json” sind die Infor­ma­tio­nen zum jewei­li­gen Digi­ta­li­sat ent­spre­chend der IIIF Image API zu erhalten.

https://iiif.ub.uni-leipzig.de/iiif/j2k/0000/0046/0000004604/00000084.jpx/info.json

{
  "@context" : "http://iiif.io/api/image/2/context.json",
  "@id" : "https://iiif.ub.uni-leipzig.de/fcgi-bin/iipsrv.fcgi?iiif=/j2k/0000/0046/0000004604/00000084.jpx",
  "protocol" : "http://iiif.io/api/image",
  "width" : 3840,
  "height" : 5760,
  "tiles" : [
     { "width" : 256, "height" : 256, "scaleFactors" : [ 1, 2, 4, 8, 16, 32 ] }
  ],
  "profile" : [
     "http://iiif.io/api/image/2/level1.json",
     { "formats" : [ "jpg" ],
       "qualities" : [ "native","color","gray" ],
       "supports" : ["regionByPct","sizeByForcedWh","sizeByWh","sizeAboveFull","rotationBy90s","mirroring","gray"] }
  ]
}

Ent­spre­chend der API-Spe­zi­fi­ka­ti­on kann nun auf die eigent­li­chen Bild­da­ten zuge­grif­fen wer­den. Das gesam­te Bild in maxi­ma­ler Auf­lö­sung und Qua­li­tät erhält man durch Anhän­gen der Zei­chen­ket­te /full/full/0/default.jpeg:

https://iiif.ub.uni-leipzig.de/iiif/j2k/0000/0046/0000004604/00000084.jpx/full/full/0/default.jpg

Die Bild­da­ten kön­nen vom Ser­ver jedoch auch ska­liert aus­ge­lie­fert wer­den, hier ein Bei­spiel, ska­liert auf 300 Pixel Höhe.

https://iiif.ub.uni-leipzig.de/iiif/j2k/0000/0046/0000004604/00000084.jpx/full/,300/0/default.jpg

Vollbild, auf 300 Pixel Höhe skaliert

Statt des Gesamt­bil­des kann der IIIF Ser­ver auch Bild­aus­schnit­te lie­fern. Hier bei­spiels­wei­se ein Bild­aus­schnitt mit Koor­di­na­ten x=1050, y=500, w=900, h=900, ska­liert auf 200 Pixel Breite.

https://iiif.ub.uni-leipzig.de/iiif/j2k/0000/0046/0000004604/00000084.jpx/1050,500,900,900/200,/0/default.jpg

Bildausschnitt x=1050, y=500, w=900, h=900, skaliert auf 600 Pixel Breite

Der Bild­aus­schnitt kann auch in rotier­ter Form (90 Grad im Uhrzeigersinn)…

https://iiif.ub.uni-leipzig.de/iiif/j2k/0000/0046/0000004604/00000084.jpx/1050,500,900,900/200,/90/default.jpg

Bildausschnitt x=1050, y=500, w=900, h=900, skaliert auf 600 Pixel Breite

… und in Grau­stu­fen aus­ge­lie­fert werden.

https://iiif.ub.uni-leipzig.de/iiif/j2k/0000/0046/0000004604/00000084.jpx/1050,500,900,900/200,/90/grey.jpg

Der gleiche Ausschnitt, Ausgabe in Graustufen

Detail­lier­te­re Infor­ma­tio­nen rund um die IIIF APIs erhal­ten Sie auf der Web­site https://iiif.io.

Haben Sie Fra­gen zur Nut­zung unse­rer APIs oder möch­ten sie selbst IIIF APIs imple­men­tie­ren, so kon­tak­tie­ren Sie uns gern.

Weiterführende Informationen

Wel­che Ange­bo­te die UBL End­nut­zern auf der Basis der IIIF APIs anbie­tet, haben wir in einem sepa­ra­ten Bei­trag zusammengefasst.

Vie­le wei­ter­füh­ren­de Infor­ma­tio­nen zu den IIIF API Stan­dards fin­den sich auf der Web­site https://iiif.io

Eine Lis­te von bei­spiel­haf­ten Anwen­dun­gen, Frame­works und der­glei­chen wird hier gepflegt: https://github.com/IIIF/awesome-iiif

Eine Aus­wahl ande­rer IIIF Coll­ec­tions fin­den sich bspw. hier: https://github.com/ryanfb/iiif-universe/blob/gh-pages/iiif-universe.json