New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Request of tile sizes that are not part of the scaleFactors #2379
Comments
Small update: This issue is not specific to Image API 2.1.1. It can also be reproduced if using Image API 3.0.0, with the following
|
I'm not so familiar with IIIF. @glenrobson @azaroth42 @ruven @ahankinson @tomcrane Any thoughts? |
@jodogne what image server are you using? |
@ahankinson This is Orthanc, which has just released IIIF support for whole-slide imaging (telepathology) and teleradiology. If this is of interest to you, here the link to a URL to an IIIF manifest that is dynamically generated by our demo server: https://wsi.orthanc-server.com/orthanc/wsi/iiif/series/645ce678-fc6c0544-2ce7fcc0-0c3f2ba6-2e4b63b5/manifest.json This manifest can notably opened as a resource by the online demo of Mirador, which internally uses OpenSeadragon. Note that the tiles are generated on-the-fly from DICOM images. |
Running that image through the IIIF Image API validator throws a bunch of errors: https://iiif.io/api/image/validator/ Notably, this image request asking for an image 614 x 652 returns an image that is 1348 x 938: So maybe something is wrong with the server itself? |
Thanks for your investigation! As this is the first release of IIIF on our side, we were expecting some discrepancies with respect to the IIIF standard. We'll have a look at the validator. That being said, the original question is not related to Orthanc, and I feel like there is also some investigation to be done in OSD. |
Hi @jodogne, great to see DICOM images with IIIF! Have you changed the image server available at: https://wsi.orthanc-server.com/orthanc/wsi/iiif/tiles/? I've tested it in OSD 3.1.1 and OSD 4.0.0 and it looks to be working great now. From your description in the first comment it seems that OSD was assuming a scaleFactor of 2 in the list of scaleFactors even though you hadn't specified it in the list. I can see from the orthanc-server.com you now have the following scaleFactors:
which is a more common structure including the powers of 2 without any gaps. I suspect this has solved the issue you were having with OSD but let me know if you do need scaleFactors of 4 and 1 only and I can do some testing. |
Hi @glenrobson, thanks for your positive feedback, and sorry for the delay (I was on family vacations)! |
Are gaps like these supported in the IIIF standard but not OSD? Or would it be a matter of updating both? |
From my understanding, nothing in the IIIF Image API 3.0 standard prevents gaps from occurring in |
I think it's a gap in the spec, only because a search of the API issues doesn't return any discussion about gaps in the scale factors. Reading between the lines, I think this probably means that it wasn't discussed by the editors. (There are other discussions about non-integer scale factors, non-power-of-two scale factors, and the like). Would be good to add an issue to clarify this in the spec. |
It was discussed and decided to have any set of integers, not just ordered factors of two. So it's intentionally perfectly valid to have an arbitrary set of positive integers for supported scale factors. |
@azaroth42 Good to know! So yeah, it seems it would be good for OSD to support any kind of scale factor that's valid in IIIF. I'm actually not sure what would be involved in that, but if somebody's interested in pursuing it I can help figure it out. |
The Image API Specs say:
What's not clear to me from this is whether the given scale factors are required to be provided, or only hints at efficient delivery. In other words, if you have scale factors of 1, 2, and 8, does it mean that scale factor 4 is completely unavailable, and that the server will refuse to serve it, or it's just not a pre-defined scale factor? It's "...the service can efficiently deliver images..." that's hanging me up; It doesn't say "...the service must deliver images..." |
It depends on the conformance level of the server. A level 0 won't deliver anything as the SF4 tiles wouldn't exist, but a level 2 will generate them as needed, just not as efficiently. So we were intentionally vague to allow both implementations to conform to the specification. See: https://iiif.io/api/image/3.0/compliance/#32-size |
Hello,
Thanks for your great work on OSD! I face an issue with a very basic tiled image, whose
info.json
reads as follows:As can be seen, this image offers two tile sizes: 2048x2048 and 512x512, expressed in coordinates of the original image. However, if I zoom on the top-left part of the image using OSD, I observe that the browser is making requests such as:
This is surprising to me, as this seems to correspond to a 1024x1024 tile, which is not part of my
scaleFactors
, so my server answers with a 404 error. I have observed this behavior both with both OSD 3.1 and OSD 4.0. On OSD 4.1, things can go worse, as it sometimes emits requests with negative sizes when I zoom on the bottom-right part of the image:Is this a consequence of a bad use of OSD on my side? Thanks in advance for your support!
Kind Regards,
Sébastien-
The text was updated successfully, but these errors were encountered: