diff --git a/nibabel/brikhead.py b/nibabel/brikhead.py index deba85bb58..1a12abfbca 100644 --- a/nibabel/brikhead.py +++ b/nibabel/brikhead.py @@ -295,8 +295,8 @@ def __init__(self, info): -------- >>> fname = os.path.join(datadir, 'example4d+orig.HEAD') >>> header = AFNIHeader(parse_AFNI_header(fname)) - >>> header.get_data_dtype() - dtype('int16') + >>> header.get_data_dtype().str + '>> header.get_zooms() (3.0, 3.0, 3.0, 3.0) >>> header.get_data_shape() diff --git a/nibabel/streamlines/trk.py b/nibabel/streamlines/trk.py index 7ff80dc59f..805b44edcf 100644 --- a/nibabel/streamlines/trk.py +++ b/nibabel/streamlines/trk.py @@ -13,7 +13,7 @@ from nibabel.openers import Opener from nibabel.py3k import asstr -from nibabel.volumeutils import (native_code, swapped_code) +from nibabel.volumeutils import (native_code, swapped_code, endian_codes) from nibabel.orientations import (aff2axcodes, axcodes2ornt) from .array_sequence import create_arraysequences_from_generator @@ -266,10 +266,14 @@ def is_correct_format(cls, fileobj): return magic_number == cls.MAGIC_NUMBER @classmethod - def _default_structarr(cls): + def _default_structarr(cls, endianness=None): """ Return an empty compliant TRK header as numpy structured array """ - st_arr = np.zeros((), dtype=header_2_dtype) + dt = header_2_dtype + if endianness is not None: + endianness = endian_codes[endianness] + dt = dt.newbyteorder(endianness) + st_arr = np.zeros((), dtype=dt) # Default values st_arr[Field.MAGIC_NUMBER] = cls.MAGIC_NUMBER @@ -283,10 +287,10 @@ def _default_structarr(cls): return st_arr @classmethod - def create_empty_header(cls): + def create_empty_header(cls, endianness=None): """ Return an empty compliant TRK header as dict """ - st_arr = cls._default_structarr() + st_arr = cls._default_structarr(endianness) return dict(zip(st_arr.dtype.names, st_arr.tolist())) @classmethod @@ -396,7 +400,7 @@ def save(self, fileobj): of the TRK header data). """ # Enforce little-endian byte order for header - header = self._default_structarr().newbyteorder('<') + header = self._default_structarr(endianness='little') # Override hdr's fields by those contained in `header`. for k, v in self.header.items():