Skip to content

Commit b647ff9

Browse files
authored
Forbid usage of the deprecated parameter 'dtype' for the Dataset API (#246)
* assert that the parameter dtype is not used * reformat code
1 parent c83f2fd commit b647ff9

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

tests/test_dataset.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1525,3 +1525,14 @@ def test_search_dataset_also_for_long_layer_name():
15251525
mag.read(offset=(10, 10, 10), size=(10, 10, 10)), np.expand_dims(write_data, 0)
15261526
)
15271527
layer.delete_mag("2")
1528+
1529+
1530+
def test_outdated_dtype_parameter():
1531+
delete_dir("./testoutput/outdated_dtype")
1532+
1533+
ds = WKDataset.create("./testoutput/outdated_dtype", scale=(1, 1, 1))
1534+
with pytest.raises(ValueError):
1535+
ds.get_or_add_layer("color", Layer.COLOR_TYPE, dtype=np.uint8, num_channels=1)
1536+
1537+
with pytest.raises(ValueError):
1538+
ds.add_layer("color", Layer.COLOR_TYPE, dtype=np.uint8, num_channels=1)

wkcuber/api/Dataset.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
import os
99
import re
1010

11+
from wkcuber.utils import logger
12+
1113
from wkcuber.api.Properties.DatasetProperties import (
1214
WKProperties,
1315
TiffProperties,
@@ -134,6 +136,10 @@ def add_layer(
134136
num_channels=None,
135137
**kwargs,
136138
):
139+
if "dtype" in kwargs:
140+
raise ValueError(
141+
f"Called Dataset.add_layer with 'dtype'={kwargs['dtype']}. This parameter is deprecated. Use 'dtype_per_layer' or 'dtype_per_channel' instead."
142+
)
137143
if num_channels is None:
138144
num_channels = 1
139145

@@ -193,6 +199,10 @@ def get_or_add_layer(
193199
num_channels=None,
194200
**kwargs,
195201
) -> Layer:
202+
if "dtype" in kwargs:
203+
raise ValueError(
204+
f"Called Dataset.get_or_add_layer with 'dtype'={kwargs['dtype']}. This parameter is deprecated. Use 'dtype_per_layer' or 'dtype_per_channel' instead."
205+
)
196206
if layer_name in self.layers.keys():
197207
assert self.properties.data_layers[layer_name].category == category, (
198208
f"Cannot get_or_add_layer: The layer '{layer_name}' already exists, but the categories do not match. "

0 commit comments

Comments
 (0)