|
1 | 1 | import logging |
2 | | -from dataclasses import asdict, dataclass |
| 2 | +from dataclasses import dataclass |
3 | 3 | from math import prod |
4 | 4 | from typing import Any, List, Tuple, Union |
5 | 5 |
|
|
8 | 8 | import numpy as np |
9 | 9 | import skimage.transform |
10 | 10 | import zarr |
11 | | -from ngff_zarr.zarr_metadata import Axis, Dataset, Metadata, Scale, Translation |
| 11 | +from ome_zarr_models.v04.axes import Axis |
| 12 | +from ome_zarr_models.v04.coordinate_transformations import ( |
| 13 | + VectorScale, |
| 14 | + VectorTranslation, |
| 15 | +) |
| 16 | +from ome_zarr_models.v04.multiscales import Dataset, Multiscale |
12 | 17 | from zarr.storage import DirectoryStore, FSStore, default_compressor |
13 | 18 |
|
14 | 19 | from bioio import BioImage |
@@ -646,19 +651,23 @@ def generate_metadata( |
646 | 651 | # TODO handle optional translations e.g. xy stage position, |
647 | 652 | # start time etc |
648 | 653 | translation.append(0.0) |
649 | | - coordinateTransformations = [Scale(scale), Translation(translation)] |
| 654 | + coordinateTransformations = ( |
| 655 | + VectorScale(type="scale", scale=scale), |
| 656 | + VectorTranslation(type="translation", translation=translation), |
| 657 | + ) |
650 | 658 | dataset = Dataset( |
651 | 659 | path=path, coordinateTransformations=coordinateTransformations |
652 | 660 | ) |
653 | 661 | datasets.append(dataset) |
654 | | - metadata = Metadata( |
| 662 | + metadata = Multiscale( |
| 663 | + version=OME_NGFF_VERSION, |
655 | 664 | axes=axes, |
656 | 665 | datasets=datasets, |
657 | 666 | name="/", |
658 | 667 | coordinateTransformations=None, |
659 | 668 | ) |
660 | 669 |
|
661 | | - metadata_dict = asdict(metadata) |
| 670 | + metadata_dict = metadata.model_dump() |
662 | 671 | metadata_dict = _pop_metadata_optionals(metadata_dict) |
663 | 672 |
|
664 | 673 | # get the total shape as dict: |
|
0 commit comments