go-iiif

go-iiif is a fork of the iiif package that moves all of the processing logic for the IIIF Image API in to discrete Go packages and defines source, derivative and graphics details in a JSON config file. There is an additional caching layer for both source images and derivatives.

This is an example of a Leaflet-IIIF slippymap provider used in conjunction with a series of tiled images generated using the iiif-tile-seed utility. The tiles were generated like this:

./bin/iiif-tile-seed \
    -config config.json \
    -endpoint https://thisisaaronland.github.io/go-iiif/tiles \
    -scale-factors 8,4,2,1 184512_5f7f47e5b3c66207_x.jpg \
    -refresh

[184512_5f7f47e5b3c66207_x.jpg] time to process 340 tiles: 1m33.924948772s
    

Processing times for images is very much dependent on the hardware you are using. Please consult the performance and load testing section of the official documentation if you're curious about that sort of thing.

go-iiif also provides a IIIF Image API 2.1 compliant HTTP server. All of the details are available at:

https://github.com/go-iiif/go-iiif

Also, if you click the handy 📷 button underneath the slippymap it will create a static image of whatever is currently in the viewport.