Slide Puzzle Python Code Examples

A Python module that allows to solve the 15-puzzle. The 15-puzzle is a sliding puzzle that consists of a frame of numbered square tiles in random order with one tile missing. The puzzle also exists in other sizes, particularly the smaller 8-puzzle. N-Puzzle example Within the field of Artificial Intelligence the sliding puzzle problem is a great way to explore the effectiveness of different searching algorithms. Consisting of a superficial border with symboled tiles in a random order and one tile missing, the objective is to rearrange the puzzle in the least amount of moves to a goal.

  1. Slide Puzzle Python Code Examples Using
  2. Slide Puzzle Python Code Examples For Beginners
  3. Python Example Code Pdf
  4. Basic Python Code Examples
  5. Python Powerpoint Slides
  6. Python Code Examples Math
  7. Python Coding Puzzles

OpenSlide Python is a Python interface to the OpenSlide library.

OpenSlide is a C library that provides a simple interface for readingwhole-slide images, also known as virtual slides, which are high-resolutionimages used in digital pathology. These images can occupy tens of gigabyteswhen uncompressed, and so cannot be easily read using standard tools orlibraries, which are designed for images that can be comfortablyuncompressed into RAM. Whole-slide images are typically multi-resolution;OpenSlide allows reading a small amount of image data at the resolutionclosest to a desired zoom level.

OpenSlide can read virtual slides in several formats:

  • Aperio (.svs, .tif)

  • Hamamatsu (.ndpi, .vms, .vmu)

  • Leica (.scn)

  • MIRAX (.mrxs)

  • Philips (.tiff)

  • Sakura (.svslide)

  • Trestle (.tif)

  • Ventana (.bif, .tif)

  • Generic tiled TIFF (.tif)

OpenSlide Python is released under the terms of the GNU Lesser GeneralPublic License, version 2.1.

Basic usage¶

OpenSlide objects¶

class openslide.OpenSlide(filename)

An open whole-slide image.

If any operation on the object fails, OpenSlideError is raised.OpenSlide has latching error semantics: once OpenSlideError israised, all future operations on the OpenSlide, other thanclose(), will also raise OpenSlideError.

close() is called automatically when the object is deleted.The object may be used as a context manager, in which case it will beclosed upon exiting the context.

Parameters

filename (str) – the file to open

Raises
  • OpenSlideUnsupportedFormatError – if the file is not recognized byOpenSlide

  • OpenSlideError – if the file is recognized but an error occurred

classmethod detect_format(filename)

Return a string describing the format vendor of the specified file.This string is also accessible via the PROPERTY_NAME_VENDORproperty.

If the file is not recognized, return None.

Parameters

filename (str) – the file to examine

level_count

The number of levels in the slide. Levels are numbered from 0(highest resolution) to level_count-1 (lowest resolution).

dimensions

A (width,height) tuple for level 0 of the slide.

level_dimensions

A list of (width,height) tuples, one for each level of the slide.level_dimensions[k] are the dimensions of level k.

level_downsamples

A list of downsample factors for each level of the slide.level_downsamples[k] is the downsample factor of level k.

properties

Metadata about the slide, in the form of aMapping from OpenSlide property name toproperty value. Property values are always strings. OpenSlideprovides some standard properties, plusadditional properties that vary by slide format.

associated_images

Images, such as label or macro images, which are associated with thisslide. This is a Mapping from imagename to RGBA Image.

Unlike in the C interface, these images are not premultiplied.

read_region(location, level, size)

Return an RGBA Image containing thecontents of the specified region.

Unlike in the C interface, the image data is not premultiplied.

Parameters
  • location (tuple) – (x,y) tuple giving the top left pixel inthe level 0 reference frame

  • level (int) – the level number

  • size (tuple) – (width,height) tuple giving the region size

get_best_level_for_downsample(downsample)

Return the best level for displaying the given downsample.

Parameters

downsample (float) – the desired downsample factor

get_thumbnail(size)

Slide Puzzle Python Code Examples Using

Return an Image containing an RGB thumbnailof the slide.

Parameters

size (tuple) – the maximum size of the thumbnail as a(width,height) tuple

close()

Close the OpenSlide object.

Standard properties¶

Code

The openslide module provides attributes containing the names ofsome commonly-used OpenSlide properties.

openslide.PROPERTY_NAME_COMMENT

The name of the property containing a slide’s comment, if any.

openslide.PROPERTY_NAME_VENDOR

The name of the property containing an identification of the vendor.

Puzzle
openslide.PROPERTY_NAME_QUICKHASH1

The name of the property containing the “quickhash-1” sum.

openslide.PROPERTY_NAME_BACKGROUND_COLOR

The name of the property containing a slide’s background color, if any.It is represented as an RGB hex triplet.

openslide.PROPERTY_NAME_OBJECTIVE_POWER

The name of the property containing a slide’s objective power, if known.

openslide.PROPERTY_NAME_MPP_X

The name of the property containing the number of microns per pixel inthe X dimension of level 0, if known.

openslide.PROPERTY_NAME_MPP_Y

The name of the property containing the number of microns per pixel inthe Y dimension of level 0, if known.

openslide.PROPERTY_NAME_BOUNDS_X

The name of the property containing the X coordinate of the rectanglebounding the non-empty region of the slide, if available.

openslide.PROPERTY_NAME_BOUNDS_Y

The name of the property containing the Y coordinate of the rectanglebounding the non-empty region of the slide, if available.

openslide.PROPERTY_NAME_BOUNDS_WIDTH

The name of the property containing the width of the rectangle boundingthe non-empty region of the slide, if available.

openslide.PROPERTY_NAME_BOUNDS_HEIGHT

The name of the property containing the height of the rectangle boundingthe non-empty region of the slide, if available.

Exceptions¶

exception openslide.OpenSlideError

An error produced by the OpenSlide library.

Once OpenSlideError has been raised by a particularOpenSlide, all future operations on that OpenSlide(other than close()) will also raiseOpenSlideError.

exception openslide.OpenSlideUnsupportedFormatError

OpenSlide does not support the requested file. Subclass ofOpenSlideError.

Wrapping a PIL Image¶

class openslide.ImageSlide(file)

A wrapper around an Image object thatprovides an OpenSlide-compatible API.

Parameters

file – a filename or Image object

Raises

IOError – if the file cannot be opened

Slide Puzzle Python Code Examples For Beginners

openslide.open_slide(filename)

Return an OpenSlide for whole-slide images and anImageSlide for other types of images.

Parameters

filename (str) – the file to open

Raises
  • OpenSlideError – if the file is recognized by OpenSlide but anerror occurred

  • IOError – if the file is not recognized at all

Deep Zoom support¶

OpenSlide Python provides functionality for generating individualDeep Zoom tiles from slide objects. This is useful for displayingwhole-slide images in a web browser without converting the entire slide toDeep Zoom or a similar format.

class openslide.deepzoom.DeepZoomGenerator(osr, tile_size=254, overlap=1, limit_bounds=False)

A Deep Zoom generator that wraps anOpenSlide orImageSlide object.

Parameters
  • osr – the slide object

  • tile_size (int) – the width and height of a single tile. For bestviewer performance, tile_size+2*overlap should be a power of two.

  • overlap (int) – the number of extra pixels to add to each interior edgeof a tile

  • limit_bounds (bool) – True to render only the non-empty slideregion

level_count

The number of Deep Zoom levels in the image.

tile_count

The total number of Deep Zoom tiles in the image.

level_tiles

A list of (tiles_x,tiles_y) tuples for each Deep Zoom level.level_tiles[k] are the tile counts of level k.

level_dimensions

A list of (pixels_x,pixels_y) tuples for each Deep Zoom level.level_dimensions[k] are the dimensions of level k.

get_dzi(format)

Return a string containing the XML metadata for the Deep Zoom .dzifile.

Parameters

format (str) – the delivery format of the individual tiles(png or jpeg)

get_tile(level, address)

Return an RGB Image for a tile.

Parameters
  • level (int) – the Deep Zoom level

  • address (tuple) – the address of the tile within the level as a(column,row) tuple

get_tile_coordinates(level, address)

Return the OpenSlide.read_region() arguments corresponding to thespecified tile.

Most applications should use get_tile() instead.

Parameters
  • level (int) – the Deep Zoom level

  • address (tuple) – the address of the tile within the level as a(column,row) tuple

get_tile_dimensions(level, address)

Return a (pixels_x,pixels_y) tuple for the specified tile.

Parameters
  • level (int) – the Deep Zoom level

  • address (tuple) – the address of the tile within the level as a(column,row) tuple

Example programs¶

Python Example Code Pdf

Several Deep Zoom examples are included with OpenSlide Python:

deepzoom_server.py

A basic server for a single slide. It serves a web page with a zoomableslide viewer, a list of slide properties, and the ability to viewassociated images.

deepzoom_multiserver.py

Basic Python Code Examples

A basic server for a directory tree of slides. It serves an index pagewhich links to zoomable slide viewers for all slides in the tree.

Python Powerpoint Slides

deepzoom_tile.py

Python Code Examples Math

A program to generate and store a complete Deep Zoom directory tree for aslide. It can optionally store an HTML page with a zoomable slide viewer,a list of slide properties, and the ability to view associated images.

Python Coding Puzzles

This program is intended as an example. If you need to generate Deep Zoomtrees for production applications, consider using VIPS instead.