zimeon / iiif

IIIF Image API reference implementation and Python library
GNU General Public License v3.0
55 stars 15 forks source link

Static tiles for images less than tile size don't include full size #18

Closed zimeon closed 8 years ago

zimeon commented 8 years ago

Issue pointed out by @jgreidy. Example to repeat with a 200x129 image:

simeon@RottenApple iiif>rm -rf /tmp/200x129
simeon@RottenApple iiif>file testimages/200x129.png
testimages/200x129.png: PNG image data, 200 x 129, 8-bit/color RGB, non-interlaced
simeon@RottenApple iiif>iiif_static.py --dst=/tmp testimages/200x129.png 
/tmp / 200x129/full/100,/0/default.jpg
/tmp / 200x129/full/50,/0/default.jpg
/tmp / 200x129/full/25,/0/default.jpg
/tmp / 200x129/full/13,/0/default.jpg
/tmp / 200x129/full/6,/0/default.jpg
/tmp / 200x129/full/3,/0/default.jpg
/tmp / 200x129/full/2,/0/default.jpg
/tmp / 200x129/full/1,/0/default.jpg - zero size, skipped
zimeon commented 8 years ago

Addressed by 8240132

zimeon commented 8 years ago

Have tested with v1.0.1 and the images generated work with OpenSeadragon 2.0.0 (IIIF Image API 2.x) and OpenSeadragon 1.2.1 (if generated with IIIF Image API 1.1). OSD requests tiles /full/100,/ and /full/200,/ and displays the image. It doesn't provide and zoom in or out, but does pan (although that is pointless).

Example generation:

(py3)simeon@RottenApple iiif>./iiif_static.py --dst /tmp/iiif testimages/200x129.png --include-osd --write-html /tmp/iiif
iiif_static.py: source file: testimages/200x129.png
iiif.static: Output directory /tmp/iiif/200x129 already exists, adding/updating files
iiif.static: /tmp/iiif / 200x129/full/200,/0/default.jpg
iiif.static: /tmp/iiif / 200x129/full/200,129 -> 200x129/full/200,
iiif.static: /tmp/iiif / 200x129/full/100,/0/default.jpg
iiif.static: /tmp/iiif / 200x129/full/100,65 -> 200x129/full/100,
iiif.static: /tmp/iiif / 200x129/full/50,/0/default.jpg
iiif.static: /tmp/iiif / 200x129/full/50,32 -> 200x129/full/50,
iiif.static: /tmp/iiif / 200x129/full/25,/0/default.jpg
iiif.static: /tmp/iiif / 200x129/full/25,16 -> 200x129/full/25,
iiif.static: /tmp/iiif / 200x129/full/13,/0/default.jpg
iiif.static: /tmp/iiif / 200x129/full/13,8 -> 200x129/full/13,
iiif.static: /tmp/iiif / 200x129/full/6,/0/default.jpg
iiif.static: /tmp/iiif / 200x129/full/6,4 -> 200x129/full/6,
iiif.static: /tmp/iiif / 200x129/full/3,/0/default.jpg
iiif.static: /tmp/iiif / 200x129/full/3,2 -> 200x129/full/3,
iiif.static: /tmp/iiif / 200x129/full/2,/0/default.jpg
iiif.static: /tmp/iiif / 200x129/full/2,1 -> 200x129/full/2,
iiif.static: /tmp/iiif / 200x129/full/1,/0/default.jpg
iiif.static: /tmp/iiif / 200x129/full/1,1 -> 200x129/full/1,
iiif.static: /tmp/iiif / 200x129/info.json
iiif.static: Writing HTML to /tmp/iiif
iiif.static: /tmp/iiif / 200x129.html
iiif.static: /tmp/iiif / openseadragon200/openseadragon.min.js

and then running server from /tmp/iiiif and accessing one sees in the log:

127.0.0.1 - - [25/May/2016 16:41:43] "GET /200x129.html HTTP/1.1" 200 -
127.0.0.1 - - [25/May/2016 16:41:43] "GET /openseadragon200/openseadragon.min.js HTTP/1.1" 200 -
127.0.0.1 - - [25/May/2016 16:41:43] "GET /openseadragon200/images/zoomin_rest.png HTTP/1.1" 200 -
127.0.0.1 - - [25/May/2016 16:41:43] "GET /openseadragon200/images/zoomin_grouphover.png HTTP/1.1" 200 -
127.0.0.1 - - [25/May/2016 16:41:43] "GET /openseadragon200/images/zoomin_hover.png HTTP/1.1" 200 -
127.0.0.1 - - [25/May/2016 16:41:43] "GET /openseadragon200/images/zoomin_pressed.png HTTP/1.1" 200 -
127.0.0.1 - - [25/May/2016 16:41:43] "GET /openseadragon200/images/zoomout_rest.png HTTP/1.1" 200 -
127.0.0.1 - - [25/May/2016 16:41:43] "GET /openseadragon200/images/zoomout_grouphover.png HTTP/1.1" 200 -
127.0.0.1 - - [25/May/2016 16:41:43] "GET /openseadragon200/images/zoomout_hover.png HTTP/1.1" 200 -
127.0.0.1 - - [25/May/2016 16:41:43] "GET /openseadragon200/images/zoomout_pressed.png HTTP/1.1" 200 -
127.0.0.1 - - [25/May/2016 16:41:43] "GET /openseadragon200/images/home_rest.png HTTP/1.1" 200 -
127.0.0.1 - - [25/May/2016 16:41:43] "GET /openseadragon200/images/home_grouphover.png HTTP/1.1" 200 -
127.0.0.1 - - [25/May/2016 16:41:43] "GET /openseadragon200/images/home_hover.png HTTP/1.1" 200 -
127.0.0.1 - - [25/May/2016 16:41:43] "GET /openseadragon200/images/home_pressed.png HTTP/1.1" 200 -
127.0.0.1 - - [25/May/2016 16:41:43] "GET /openseadragon200/images/fullpage_rest.png HTTP/1.1" 200 -
127.0.0.1 - - [25/May/2016 16:41:43] "GET /openseadragon200/images/fullpage_grouphover.png HTTP/1.1" 200 -
127.0.0.1 - - [25/May/2016 16:41:43] "GET /openseadragon200/images/fullpage_hover.png HTTP/1.1" 200 -
127.0.0.1 - - [25/May/2016 16:41:43] "GET /openseadragon200/images/fullpage_pressed.png HTTP/1.1" 200 -
127.0.0.1 - - [25/May/2016 16:41:43] "GET /200x129/info.json HTTP/1.1" 200 -
127.0.0.1 - - [25/May/2016 16:41:43] "GET /200x129/full/100,/0/default.jpg HTTP/1.1" 200 -
127.0.0.1 - - [25/May/2016 16:41:43] "GET /200x129/full/200,/0/default.jpg HTTP/1.1" 200 -