Skip to content

Commit 0e64c95

Browse files
authored
Allow full Vec3Int as input for get_buffered_slice_writer (#438)
1 parent b46a2f2 commit 0e64c95

File tree

2 files changed

+12
-9
lines changed

2 files changed

+12
-9
lines changed

webknossos/webknossos/dataset/_utils/buffered_slice_writer.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import numpy as np
99
import psutil
1010

11-
from webknossos.geometry import Vec3Int
11+
from webknossos.geometry import Vec3Int, Vec3IntLike
1212

1313
if TYPE_CHECKING:
1414
from webknossos.dataset import View
@@ -32,7 +32,7 @@ class BufferedSliceWriter(object):
3232
def __init__(
3333
self,
3434
view: "View",
35-
offset: Vec3Int,
35+
offset: Vec3IntLike,
3636
# buffer_size specifies, how many slices should be aggregated until they are flushed.
3737
buffer_size: int = 32,
3838
dimension: int = 2, # z
@@ -48,7 +48,7 @@ def __init__(
4848
self.view = view
4949
self.buffer_size = buffer_size
5050
self.dtype = self.view.get_dtype()
51-
self.offset = offset
51+
self.offset = Vec3Int(offset)
5252
self.dimension = dimension
5353

5454
assert 0 <= dimension <= 2

webknossos/webknossos/dataset/view.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -273,7 +273,10 @@ def get_view(
273273
)
274274

275275
def get_buffered_slice_writer(
276-
self, offset: Vec3Int = None, buffer_size: int = 32, dimension: int = 2 # z
276+
self,
277+
offset: Vec3IntLike = Vec3Int(0, 0, 0),
278+
buffer_size: int = 32,
279+
dimension: int = 2, # z
277280
) -> "BufferedSliceWriter":
278281
"""
279282
The BufferedSliceWriter buffers multiple slices before they are written to disk.
@@ -299,15 +302,15 @@ def get_buffered_slice_writer(
299302

300303
return BufferedSliceWriter(
301304
view=self,
302-
offset=offset if offset is not None else Vec3Int(0, 0, 0),
305+
offset=Vec3Int(offset),
303306
buffer_size=buffer_size,
304307
dimension=dimension,
305308
)
306309

307310
def get_buffered_slice_reader(
308311
self,
309-
offset: Vec3Int = None,
310-
size: Vec3Int = None,
312+
offset: Vec3IntLike = Vec3Int(0, 0, 0),
313+
size: Optional[Vec3IntLike] = None,
311314
buffer_size: int = 32,
312315
dimension: int = 2, # z
313316
) -> "BufferedSliceReader":
@@ -333,8 +336,8 @@ def get_buffered_slice_reader(
333336

334337
return BufferedSliceReader(
335338
view=self,
336-
offset=offset if offset is not None else Vec3Int(0, 0, 0),
337-
size=size if size is not None else self.size,
339+
offset=Vec3Int(offset),
340+
size=Vec3Int(size) if size is not None else self.size,
338341
buffer_size=buffer_size,
339342
dimension=dimension,
340343
)

0 commit comments

Comments
 (0)