@@ -50,22 +50,17 @@ def run(self):
50
50
self ._queue .task_done ()
51
51
52
52
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
56
56
self ._basename = basename
57
57
self ._format = format
58
+ self ._queue = queue
58
59
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 )
64
60
65
61
def run (self ):
66
62
self ._write_tiles ()
67
63
self ._write_dzi ()
68
- self ._shutdown ()
69
64
70
65
def _write_tiles (self ):
71
66
for level in xrange (self ._dz .level_count ):
@@ -93,6 +88,27 @@ def _write_dzi(self):
93
88
with open ('%s.dzi' % self ._basename , 'w' ) as fh :
94
89
fh .write (self ._dz .get_dzi (self ._format ))
95
90
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
+
96
112
def _shutdown (self ):
97
113
for _i in range (self ._workers ):
98
114
self ._queue .put (None )
0 commit comments