Kitware / SlideAtlas-Server

https://slide-atlas.org
Apache License 2.0
7 stars 3 forks source link

Correct thumbnails for pyramidal tiff files #80

Closed dhandeo closed 9 years ago

dhandeo commented 9 years ago

Current thumbnail requests fail when macro images or label images are not embedded in the tiff file in ptiff_image_store.

Thumbnail generation should fall back to image pyramid when macro images or label images are not available. Now ptiff image store should be further abstracted into the origin of pyramidal tiff files i.e Phillips / Zeiss / Slideatlas

2015-02-03 13:51:59,849 ERROR: Exception on /thumb [GET] [in /var/www/wsgi/python_env/local/lib/python2.7/site-packages/flask/app.py:1423]
Traceback (most recent call last):
  File "/var/www/wsgi/python_env/local/lib/python2.7/site-packages/flask/app.py", line 1817, in wsgi_app
    response = self.full_dispatch_request()
  File "/var/www/wsgi/python_env/local/lib/python2.7/site-packages/flask/app.py", line 1477, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/var/www/wsgi/python_env/local/lib/python2.7/site-packages/flask_restful/__init__.py", line 258, in error_router
    return original_handler(e)
  File "/var/www/wsgi/python_env/local/lib/python2.7/site-packages/flask/app.py", line 1381, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/var/www/wsgi/python_env/local/lib/python2.7/site-packages/flask/app.py", line 1475, in full_dispatch_request
    rv = self.dispatch_request()
  File "/var/www/wsgi/python_env/local/lib/python2.7/site-packages/flask/app.py", line 1461, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/var/www/wsgi/SlideAtlas-Server/slideatlas/views/tile.py", line 90, in thumb_query
    return thumb(image_store, image)
  File "/var/www/wsgi/SlideAtlas-Server/slideatlas/views/tile.py", line 73, in thumb
    tile_data = image_store.get_thumb(image)
  File "/var/www/wsgi/SlideAtlas-Server/slideatlas/models/image_store/ptiff_image_store.py", line 126, in get_thumb
    label_image = PImage.open(StringIO.StringIO(base64.b64decode(reader.get_embedded_image('label'))))
  File "/var/www/wsgi/SlideAtlas-Server/slideatlas/ptiffstore/tiff_reader.py", line 160, in get_embedded_image
    return self.embedded_images[imagetype]
AttributeError: TileReader instance has no attribute 'embedded_images'
dhandeo commented 9 years ago

Tile based thumbnail support when the pyramid is full in f25d5d4