webknossos-libs
webknossos-libs copied to clipboard
fyi: datasets created with version v0.14.25 are not backward compatible with v0.14.24
I cannot read datasets created with version 0.14.25 onward with version 0.14.24.
Error message:
>>> import webknossos as wk
>>> wk.Dataset.open('my_newer_dataset')
+ Exception Group Traceback (most recent call last):
| File "<stdin>", line 1, in <module>
| File "$HOME/src/webknossos-libs-test/webknossos/webknossos/dataset/dataset.py", line 386, in open
| return cls(dataset_path, voxel_size=_UNSPECIFIED_SCALE_FROM_OPEN, exist_ok=True)
| File "$HOME/src/webknossos-libs-test/webknossos/webknossos/dataset/dataset.py", line 322, in __init__
| self._properties: DatasetProperties = self._load_properties()
| File "$HOME/src/webknossos-libs-test/webknossos/webknossos/dataset/dataset.py", line 1845, in _load_properties
| return dataset_converter.structure(data, DatasetProperties)
| File "$HOME/.cache/pypoetry/virtualenvs/webknossos-lsrBp02S-py3.10/lib/python3.10/site-packages/cattrs/converters.py", line 334, in structure
| return self._structure_func.dispatch(cl)(obj, cl)
| File "<cattrs generated structure webknossos.dataset.properties.DatasetProperties>", line 25, in structure_DatasetProperties
| if errors: raise __c_cve('While structuring ' + 'DatasetProperties', errors, __cl)
| cattrs.errors.ClassValidationError: While structuring DatasetProperties (1 sub-exception)
+-+---------------- 1 ----------------
| Exception Group Traceback (most recent call last):
| File "<cattrs generated structure webknossos.dataset.properties.DatasetProperties>", line 10, in structure_DatasetProperties
| res['scale'] = __c_structure_scale(o['scale'], __c_type_scale)
| File "$HOME/.cache/pypoetry/virtualenvs/webknossos-lsrBp02S-py3.10/lib/python3.10/site-packages/cattrs/converters.py", line 721, in _structure_tuple
| raise IterableValidationError(
| cattrs.errors.IterableValidationError: While structuring typing.Tuple[float, float, float] (3 sub-exceptions)
| Structuring class DatasetProperties @ attribute scale
+-+---------------- 1 ----------------
| Traceback (most recent call last):
| File "$HOME/.cache/pypoetry/virtualenvs/webknossos-lsrBp02S-py3.10/lib/python3.10/site-packages/cattrs/converters.py", line 705, in _structure_tuple
| res.append(conv(e, t))
| File "$HOME/.cache/pypoetry/virtualenvs/webknossos-lsrBp02S-py3.10/lib/python3.10/site-packages/cattrs/converters.py", line 440, in _structure_call
| return cl(obj)
| ValueError: could not convert string to float: 'factor'
| Structuring typing.Tuple[float, float, float] @ index 0
+---------------- 2 ----------------
| Traceback (most recent call last):
| File "$HOME/.cache/pypoetry/virtualenvs/webknossos-lsrBp02S-py3.10/lib/python3.10/site-packages/cattrs/converters.py", line 705, in _structure_tuple
| res.append(conv(e, t))
| File "$HOME/.cache/pypoetry/virtualenvs/webknossos-lsrBp02S-py3.10/lib/python3.10/site-packages/cattrs/converters.py", line 440, in _structure_call
| return cl(obj)
| ValueError: could not convert string to float: 'unit'
| Structuring typing.Tuple[float, float, float] @ index 1
+---------------- 3 ----------------
| ValueError: Not enough values in {'factor': [9.8, 9.8, 30.0], 'unit': 'nanometer'} to structure as typing.Tuple[float, float, float]
| Structuring typing.Tuple[float, float, float]
+------------------------------------
I will update my environments to the newer versions now, I just want to make you aware of the breaking change.
Best wishes, Eric