locked
Visible 360 deg seam, Image pyramids requirements? RRS feed

  • Question

  • Hi all,

    I've written a small python script to tile images of arbitrary size (using the VIPS library) into tiles for the Google Earth PhotoOverlay. I'd like to reuse these tiles for HDView, but I'm getting display errors  as the 360 - 0 deg seam of spherical panoramas. It looks like some pixels on the right side of the rightmost tiles are missing, only the leftmost 128 pixels of that tile are used. When I increase the width attribute in the xml file, suddenly the leftmost 192 pixels are used, but I need just the 184 leftmost pixels of that tile.

    The tiles (512 by 512 pixels) have been created according to the specification at
    http://code.google.com/apis/kml/documentation/photos.html#gigapixelPhotos
    I can see some differences to the tiles hdmake creates:
    • Level 0 contains only one tile, whereas level 0 of hdmake output seems to contain two tiles. I used the {L} specification to skip the level 0, so that shouldn't be a problem.
    • The left and bottommost tiles are not cropped at the right/bottom border, if the size is not the full tile size.
    Is there a way I can use these tiles with HDView as well, or would I have to create new tiles to support HDView? I tried using the subRect parameter but that didn't make any difference.

    ciao
      Pablo
    --
    http://hugin.sf.net
    Friday, October 19, 2007 1:39 PM

All replies

  • Hello,

     

    I think we are compatible with some KML 2.2 Image Pyramids but I haven't tried this myself yet.

     

    A few caveats.

     

    - We only support 256x256 tiles.

    - If a level of the pyramid has a total width/height that isn't divisible by 256 then the right-most/bottom-most tile should not be the full 256.  For example if a level is 500 wide the left most tiles will be 256 wide and the right most tiles are 244 wide.

    - For 360 panos the total width must be exactly divisible by 256. hdmake enforces this by scaling up the widht of 360 panos to the next mutliple of 256.

     

    Given an input image of certain dimensions and the above caveats, there really is only one way to tile up the images.  So, if your tiler is producing a different number of tiles, or tiles with different dimensions than hdmake, then it is most likely not going to work with hdview.  That said, there is some flexibility in the number scheme/directory structure of the tiles, so that doesn't necessarily have to be identical to the hdmake output.

     

    If you need additional help debugging, I'd be happy to look at an example tile-set & xml manifest if you post one to a server.

     

    -Matt

       

     

     

     

    Friday, October 19, 2007 5:19 PM
  • Hi Matt,

    Actually, the 512x512 tiles displayed without any obvious problems (not sure if they were downsampled though:-)
    Ok, I'll produce the images with a width divisible by 256 then.Thanks for the clarifications!

    ciao
      Pablo
    Friday, October 19, 2007 10:54 PM
  • I'm not too surprised.  The code in HD View is meant to support arbitrary tile sizes, but we haven't tested it extensively so I don't want to claim this as a feature.  For now only 256x256 is supported.

     

     

    Friday, October 19, 2007 11:24 PM