Skip to content

Commit 26a6f7b

Browse files
authored
Merge pull request #855 from ANTsX/itk_nifti_transforms
ENH: Read ITK metadata from image on disk ENH: Allow user more control over nifti xform
2 parents 3f962d8 + 7c99db6 commit 26a6f7b

File tree

8 files changed

+876
-3
lines changed

8 files changed

+876
-3
lines changed

ants/core/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
make_image,
77
from_numpy,
88
from_numpy_like,
9-
new_image_like)
9+
new_image_like,
10+
read_image_metadata)
1011
from .ants_image import (ANTsImage,
1112
copy_image_info,
1213
set_origin,

ants/core/ants_image_io.py

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@
1111
"make_image",
1212
"from_numpy",
1313
"from_numpy_like",
14-
"new_image_like"
14+
"new_image_like",
15+
"read_image_metadata",
1516
]
1617

1718
import os
@@ -531,4 +532,25 @@ def new_image_like(image, data):
531532
has_components=image.has_components)
532533

533534
def from_numpy_like(data, image):
534-
return new_image_like(image, data)
535+
return new_image_like(image, data)
536+
537+
def read_image_metadata(filename):
538+
"""
539+
Read metadata dictionary from image file. This uses ITK ImageIO to efficiently read the metadata without reading the pixel
540+
data.
541+
542+
Arguments
543+
---------
544+
filename : string
545+
name of image file from which metadata will be read.
546+
547+
Returns
548+
-------
549+
dict
550+
"""
551+
if not os.path.exists(filename):
552+
raise Exception("filename does not exist")
553+
554+
libfn = get_lib_fn("readImageMetadata")
555+
retval = libfn(filename)
556+
return retval

ants/utils/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,5 @@
1515
from .sitk_to_ants import from_sitk, to_sitk
1616
from .convergence_monitoring import convergence_monitoring
1717
from .polar_decomposition import polar_decomposition
18+
from .nifti_utils import (deshear_nifti_sform, get_nifti_sform_shear, get_nifti_qform_spatial_info, get_nifti_sform_spatial_info,
19+
get_nifti_spatial_transform_from_metadata, set_nifti_spatial_transform_from_metadata)

0 commit comments

Comments
 (0)