def copy_relevant_metadata(new_image: sitk.Image, old_image: sitk.Image, necessary_keys: list = None): if necessary_keys is None: necessary_keys = ['Unit'] for key in necessary_keys: try: new_image.SetMetaData(key, old_image.GetMetaData(key)) except: warnings.warn('The {0} key does not exist'.format(key))
def add_additional_mh_headers_to_sitk_image(sitk_image: SimpleITK.Image, headers: Mapping[str, Union[str, None]]): cleaned_headers = validate_and_clean_additional_mh_headers(headers) for header in ADDITIONAL_HEADERS: if header in cleaned_headers: value = cleaned_headers[header] if isinstance(value, (list, tuple)): value = " ".join([str(v) for v in value]) else: value = str(value) sitk_image.SetMetaData(header, value)