Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from openslide import OpenSlide, OpenSlideUnsupportedFormatError, OpenSlideError
- from openslide.deepzoom import DeepZoomGenerator
- class SlideImage(object):
- def __init__(self, filename):
- self.filename = filename
- try:
- self.osr = OpenSlide(self.filename)
- except OpenSlideUnsupportedFormatError:
- print 'Format of file {0} is not supported by openslide'.format(self.filename)
- raise
- except OpenSlideError:
- print 'Unknown Openslide error'
- raise
- self.zoom = DeepZoomGenerator(self.osr, tile_size=254, limit_bounds=True)
- print 'Tiles in image: {0}'.format(self.zoom.tile_count)
- print 'Tile levels: {0}'.format(self.zoom.level_count)
- print 'Tile dimensions: {0}'.format(self.zoom.level_dimensions)
- def get_image_size(self):
- """
- Get the size of the image.
- Same as the size of the image at level 0.
- """
- return self.osr.dimensions
- def get_tile(self, z, coord):
- """
- Get a tile at zoom level z, and coordinates coord (tuple containing (x, y)).
- The tile is returned as an RGB PIL.Image.Image object.
- """
- image = self.zoom.get_tile(z, coord)
- return image
- if __name__ == "__main__":
- # Path to image as argument, extension can be .tif, .tiff, .vms and more.
- osr = SlideImage("/somedir/someimage.vms")
- osr.get_tile(11, (0, 0)).show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement