From 8f2d4747bf32793b8e4da26a869e2b803000e7d4 Mon Sep 17 00:00:00 2001 From: Ian Gilman Date: Thu, 16 Nov 2017 11:15:28 -0800 Subject: [PATCH] Updated The DZI File Format (markdown) --- The-DZI-File-Format.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/The-DZI-File-Format.md b/The-DZI-File-Format.md index b02de62..42ab647 100644 --- a/The-DZI-File-Format.md +++ b/The-DZI-File-Format.md @@ -1,15 +1,42 @@ For a general overview, see https://msdn.microsoft.com/en-us/library/cc645077(VS.95).aspx. +## The Tile Pyramid + When creating a DZI image, you specify a size, format, and overlap. The [conversion tool](http://openseadragon.github.io/examples/creating-zooming-images/) then goes through the image, breaking it into tiles. It starts with the full resolution image, and starts creating tiles from the upper left corner, with the first tile being 0_0, the next in the top row being 1_0, etc. The first tile on the next row is 0_1, etc. This becomes the highest-numbered layer. The tool then scales the image down to half width, rounding odd-sized image sizes up, and runs through and tiles it again, using the same numbering system. This becomes the next level. The tool continues scaling down by half and outputting new levels until the image is down to approximately 1px wide. This is the lowest level, and it's designated level 0. The next level above it is level 1, etc. +## Overlap + Tile overlap (if any) is added in addition to the normal tile size. Note that tile overlaps are on both sides of the join, so a one pixel overlap (for example) means tiles 0_0 and 1_0 have two columns of pixels in common. The tile size is usually chosen so that non-edge tiles are a power of two along the side. With overlap one and tile size 254, tile 0_0 will be 255x255, but all non-edge tiles will be 256x256. Tiles are written even if they contribute no new pixels to the image. With overlap one, for example, you can have a two-pixel edge tile which simply repeats pixels in the previous tile. +## Folder Structure + Metadata about the file is stored in an XML file using either the .dzi or .xml file extension, e.g. example.dzi. The tiles are stored in a folder next to it, named e.g. example_files. The tile of the lowest level in this example would be `example_files/0/0_0.jpg`. + +## Reference + +From @gasi: + +* http://www.gasi.ch/blog/inside-deep-zoom-1 +* http://www.gasi.ch/blog/inside-deep-zoom-2 +* http://www.gasi.ch/blog/inside-deep-zoom-3 + +From @benvanik (Also see: http://benvanik.tumblr.com/tagged/zooming): + +* http://benvanik.tumblr.com/post/13883153608/high-res-zooming-images-are-easy +* http://benvanik.tumblr.com/post/13931208153/deepzoomseadragon-and-image-pyramids +* http://benvanik.tumblr.com/post/13941606764/tile-sizes +* http://benvanik.tumblr.com/post/13978156533/tile-overlap +* http://benvanik.tumblr.com/post/14027494017/temporal-blending-animation-is-an-art +* http://benvanik.tumblr.com/post/14079110659/spatial-blending-keeping-it-smooth +* http://benvanik.tumblr.com/post/14127398599/spatial-blending-softening-the-edges +* http://benvanik.tumblr.com/post/14176690650/clipping-and-lod-in-2d +* http://benvanik.tumblr.com/post/14222411302/drawing-an-image-pyramid +* http://benvanik.tumblr.com/post/14225281899/simple-image-pyramid-demo-in-500-lines-of \ No newline at end of file