I'm trying to understand how OpenSeadragon decides upon tile dimensions within a pyramidal .tiff image in order to generate the first layer of tiles. I can't see the correlation between the various sizes defined in the info.json that OpenSeadragon requests (which uses the IIIF Image API), and the tile dimensions.
When I click inside the OpenSeadragon viewer, multiple image requests are sent in order to request high resolution tiles, but the dimensions vary dramatically from image to image, and between click locations within the viewer.
Is it possible to force OpenSeadragon to use the sizes defined in info.json? From what I can see, it isn't.
I've tried looking through the IFFF Image API docs, the OpenSeadragon docs, and the OpenSeadragon.js file, but it's rather hard to follow the flow of execution fully within that.
Here is what the relevant part of the info.json looks like:
"width": 6555,
"height": 6995,
"sizes": [
{
"width": 102,
"height": 109
},
{
"width": 205,
"height": 219
},
{
"width": 410,
"height": 437
},
{
"width": 819,
"height": 874
},
{
"width": 1639,
"height": 1749
},
{
"width": 3278,
"height": 3498
}
],
"tiles": [
{
"width": 6555,
"height": 1664,
"scaleFactors": [
1,
2,
4,
8,
16,
32,
64
]
}
],
"profile": [
"http://iiif.io/api/image/2/level2.json",
{
"formats": [
"tif",
"jpg",
"gif",
"png"
],
"maxArea": 400000000,
"qualities": [
"bitonal",
"default",
"gray",
"color"
],
"supports": [
"sizeByW",
"regionByPx",
"sizeByWhListed",
"cors",
"regionSquare",
"sizeByDistortedWh",
"sizeAboveFull",
"canonicalLinkHeader",
"sizeByConfinedWh",
"sizeByPct",
"jsonldMediaType",
"regionByPct",
"sizeByH",
"rotationArbitrary",
"baseUriRedirect",
"rotationBy90s",
"profileLinkHeader",
"sizeByForcedWh",
"sizeByWh",
"mirroring"
]
}
]
}