Download ct_binary_coronary_segmentation/scripts/meta.py from kbressem/ct-heart-segmentation: direct link, hf CLI and curl.
- Browser
- Download file 1.28 kB
-
https://huggingface.co/kbressem/ct-heart-segmentation/resolve/main/ct_binary_coronary_segmentation/scripts/meta.py
- Command line
-
hf download hf://kbressem/ct-heart-segmentation/ct_binary_coronary_segmentation/scripts/meta.py
-
curl -L -o meta.py https://huggingface.co/kbressem/ct-heart-segmentation/resolve/main/ct_binary_coronary_segmentation/scripts/meta.py
1.28 kB
| """Metadata utilities for the binary coronary segmentation bundle.""" | |
| from typing import Dict, Hashable, Mapping, Union | |
| from monai.config.type_definitions import KeysCollection | |
| from monai.data.meta_tensor import MetaTensor | |
| from monai.transforms import MapTransform | |
| class CopyMetadatad(MapTransform): | |
| """ | |
| Copy MetaData from one MetaTensor to another. | |
| Args: | |
| keys: The keys that correspond to the MetaTensors to update. | |
| reference_key: The key that corresponds to the MetaTensor providing the metadict. | |
| allow_missing_keys: Whether to allow missing keys. | |
| """ | |
| def __init__( | |
| self, | |
| keys: KeysCollection, | |
| reference_key: KeysCollection, | |
| allow_missing_keys: bool = False, | |
| ) -> None: | |
| super().__init__(keys, allow_missing_keys) | |
| self.reference_key = reference_key | |
| def __call__(self, data: Mapping) -> Dict[Hashable, Union[Dict, MetaTensor]]: | |
| d = dict(data) | |
| ref = d[self.reference_key] | |
| for key in self.key_iterator(d): | |
| if isinstance(d[key], MetaTensor): | |
| d[key].meta = ref.meta.copy() | |
| if hasattr(ref, "applied_operations"): | |
| d[key].applied_operations = ref.applied_operations.copy() | |
| return d | |