Skip to content

Commit b8a30c6

Browse files
committed
deepzoom-tile: Move image handling out of DeepZoomStaticTiler
1 parent fabbd41 commit b8a30c6

File tree

1 file changed

+25
-9
lines changed

1 file changed

+25
-9
lines changed

examples/deepzoom/deepzoom-tile.py

Lines changed: 25 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -50,22 +50,17 @@ def run(self):
5050
self._queue.task_done()
5151

5252

53-
class DeepZoomStaticTiler(object):
54-
def __init__(self, slidepath, basename, format, tile_size, overlap,
55-
workers):
53+
class DeepZoomImageTiler(object):
54+
def __init__(self, dz, basename, format, queue):
55+
self._dz = dz
5656
self._basename = basename
5757
self._format = format
58+
self._queue = queue
5859
self._processed = 0
59-
self._queue = JoinableQueue(2 * workers)
60-
self._workers = workers
61-
for _i in range(workers):
62-
TileWorker(self._queue, slidepath, tile_size, overlap).start()
63-
self._dz = DeepZoomGenerator(open_slide(slidepath), tile_size, overlap)
6460

6561
def run(self):
6662
self._write_tiles()
6763
self._write_dzi()
68-
self._shutdown()
6964

7065
def _write_tiles(self):
7166
for level in xrange(self._dz.level_count):
@@ -93,6 +88,27 @@ def _write_dzi(self):
9388
with open('%s.dzi' % self._basename, 'w') as fh:
9489
fh.write(self._dz.get_dzi(self._format))
9590

91+
92+
class DeepZoomStaticTiler(object):
93+
def __init__(self, slidepath, basename, format, tile_size, overlap,
94+
workers):
95+
self._slide = open_slide(slidepath)
96+
self._basename = basename
97+
self._format = format
98+
self._tile_size = tile_size
99+
self._overlap = overlap
100+
self._queue = JoinableQueue(2 * workers)
101+
self._workers = workers
102+
for _i in range(workers):
103+
TileWorker(self._queue, slidepath, tile_size, overlap).start()
104+
105+
def run(self):
106+
dz = DeepZoomGenerator(self._slide, self._tile_size, self._overlap)
107+
tiler = DeepZoomImageTiler(dz, self._basename, self._format,
108+
self._queue)
109+
tiler.run()
110+
self._shutdown()
111+
96112
def _shutdown(self):
97113
for _i in range(self._workers):
98114
self._queue.put(None)

0 commit comments

Comments
 (0)