2. Wat is IIIF?
• International > internationale community
• Image > beelden
• Interoperability > uitwisselbaarheid
• Framework > kader
(triple-eye-eff)
3. Waar gaat IIIF over?
uitwisselen en presenteren van individuele
beelden
IIIF Image API
uitwisselen en presenteren van gedigitaliseerde
objecten
IIIF Presentation API
toegang tot gedigitaliseerde objecten /
afschermen
IIIF Authentication API
zoeken binnen een gedigitaliseerd object (bv.
krant)
IIIF Content Search API
IIF-bronnen vindbaar maken voor machines (bv.
portaalwebsites)
IIIF Change Discovery
API
4. Waarom IIIF?
• aanleiding: universiteiten > manuscripten die verspreid bewaard
worden
• inzoomen
• beelden opgesloten in systeem <> eenvoudig beelden delen
• persistente link naar beelden > beelden niet kwijt nadat toepassing
offline gehaald wordt
• originele objecten samenvoegen (bv. manuscripten waar de pagina’s
uit gescheurd zijn)
25. IIIF projecten
• IIIF1 & IIIF2 project VKC > bouw IIIF-infrastructuur VKC + koppeling met
Datahub en meemoo
• MMMONK > 734 Middeleeuwse monastieke manuscripten digitaliseren,
ontsluiten en samenbrengen in virtuele bibliotheek
• Collectie van de Gentenaar > digitale collectie aanleggen over het
verleden van Gent
• IIIF Fridays & collegagroep IIIF > ervaringen uitwisselen binnen Vlaamse
CE-gemeenschap: https://collegagroepiiif.org/
26. IIIF image endpoint bij meemoo
Bart Debunne
Frontispice pour les “Sept
péchés principaux”
James Ensor
1904
27. De meemoo image endpoint
• Opgezet in kader van VKC-II project (WP2)
• IIPImage 1.2 image server
• API 3.0 (2.1 ook mogelijk)
• Fully Level 2 compliant
• jpeg2000 met Kakadu
• jpg + png output
• omgevingen voor test, acceptatie en productie
https://images.meemoo.be/iiif
in bèta
28. De meemoo image endpoint
Configuratiedetails
• icc profile embedding
• jpeg quality 90 (best)
• maximum grootte (CVT) = 5000px
• upscaling is toegestaan
• kakadu read-mode = fast
• tile caching met memcached
29. Testomgeving ✔
Volledig functioneel, zelfde URL als productie maar met -tst suffix in het
subdomein.
Identifier voor manifest:
http://images-tst.meemoo.be/iiif/<meemooid>.jp2
bovenstaande base url resolved automatisch naar:
https://<iiif-base-url>/info.json
33. Beelden beschikbaar maken
Archiefbestanden zijn geöptimaliseerd voor archivering...
• hoge resolutie
• geen compressie
• rasterbestand
• groot zowel in fysieke omvang als in bytes
• ze staan op tape
… en niet voor ontsluiting
34. Aandachtspunt: opslag
Archiefbestanden zijn bij uitstek hogeresolutiebestanden.
De afmeting (breedte/hoogte) is variabel maar loopt op tot tienduizenden
pixels.
Grote bestanden betekenen een in verhouding grotere kost voor opslag
en hebben een impact op performantie, vb. response en laadtijd
(bandbreedte) en verwerking (CPU, RAM).
Doel: beelden aanbieden met geen tot minimaal verlies aan detail en
kwaliteit met een voor efficiënte opslag en transport geöptimaliseerd
formaat.
35. ik kan afzonderlijke
neusharen tellen
ik zie een neus?
Hogere resolutie
Groter bestand
sweet spot
Lagere resolutie
Kleiner bestand
Resolutie* vs bestandsgrootte
* resolutie als combinatie van bxh en ppi
36. Beelden beschikbaar maken
Optimalisatie voor ontsluiting
• jpeg2000 (jp2) als bestandsformaat
• performante lossless encoding/decoding via Kakadu (Bodleian lossless)
• randinformatie zoals kleurkaarten, randen, kaders worden eerst weggesneden
• standaardresolutie van 300ppi
• beperking in grootte (pixels) via herschalen
37. Beelden beschikbaar maken
Image processing workflow:
• exporteer origineel uit archief adhv meemoo external_id (andere ids mogelijk)
• haal metadata op uit MAM (REST API)
• detecteer en verwijder kleurenkaart indien aanwezig
• herschaal afbeelding
• zet colorspace om naar sRGB (indien ander icc profiel)
• comprimeer zonder verlies als jp2 met Kakadu (kdu_compress)
• voeg metadata tags van origineel toe (xmp, iptc)
• sla op in media folder tbv image server
40. Herschalen
Analyse in kader van VKC-II project:
Vraag om grootte te beperken tot een kortste zijde van 5000px, eventueel
in verhouding tot de fysieke afmetingen van een werk?
Er is geen waarneembare correlatie tussen de fysieke afmeting van
beelden en de resolutie in pixels.
De resolutie clustert rond een mediaan van 6050 pixels, met het gros tussen
4000 en 8000 pixels, afnemend in aantal boven 10.000px tot enkele
zeldzame pieken boven 20.000px (max. 25k).
41. Herschalen
Getrapt herschalen
Op basis van de analyse is een voorstel gedaan dat een betere balans
tussen opslagcapaciteit, performantie en kwaliteit waarborgt.
● Afbeeldingen tot 5.000px breedte ongemoeid laten
● Van 5.001-10.000px 50% herschalen
● Maximum breedte 10.000px
42. Herschalen
Opslagruimte - 205 beelden
De totale omvang van de afgeleide beelden is respectievelijk 15,5% en
13% van de originele archiefbestanden.
Het verschil tussen herschalen en niet herschalen levert een besparing van
ongeveer 20% op aan opslagcapaciteit. Ca. 1 GB minder per 200 beelden.
Archiefmaster TIFF 37,92 GB
Afgeleide JPEG2000 - niet herschaald 5,95 GB
Afgeleide JPEG2000 - getrapt herschaald 4,92 GB
44. Herschalen
Conclusie
Getrapt herschalen levert een gemiddelde besparing in opslag op van 20% tov statisch.
Voor grote bestanden komt dit met een matig en progressief kwaliteitsverlies,
waarneembaar bij de diepere zoomniveau’s als een “verzachting” van de details in het
beeld.
Voor materiaal gelijkaardig qua resolutie aan de referentieset is de resulterende kwaliteit
echter aanvaardbaar. Indien nog grotere beelden worden aangeboden dienen de
drempelwaardes voor het herschalen echter herbekeken te worden.
Het lineair herschalen tot een grens van 5000px, zou een grotere degradatie van de
kwaliteit betekenen voor beelden boven en is dus niet wenselijk.
46. Roadmap: eerst
Automatisering van het beschikbaar maken:
• Nu nog manuele trigger, maar in productie automatisch, bijvoorbeeld
met een watch folder.
• Images worden dan via FTP getransfereerd naar watch folder en
verwerkt.
• Push naar een watch folder op basis van een attribuut in het MAM.
• Attribuut toe te kennen op basis van licentie, eventueel icm
provenance en license metadata.
• Grondigere validatie van de afgeleide bestanden.
• Werken met parametriseerbare profielen in workflow.