Skip to content

Commit dbe3946

Browse files
committed
Fix writing typo, add writing tests
1 parent 267304c commit dbe3946

File tree

2 files changed

+13
-9
lines changed

2 files changed

+13
-9
lines changed

nibabel/nifti1.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -411,14 +411,14 @@ def _is_little_endian(self):
411411
return True
412412

413413
def _unmangle(self,value):
414-
io=BytesIO(value)
415-
ds=read_dataset(io,self._is_implicit_VR,self._is_little_endian)
414+
raw_io=BytesIO(value)
415+
ds=read_dataset(raw_io,self._is_implicit_VR,self._is_little_endian)
416416
return ds
417417

418-
def _mangle(self,value):
419-
io=BytesIO()
420-
dio=DicomFileLike(io)
421-
dio.is_implicit_VR = self._is_implict_VR
418+
def _mangle(self):
419+
raw_io=BytesIO()
420+
dio=DicomFileLike(raw_io)
421+
dio.is_implicit_VR = self._is_implicit_VR
422422
dio.is_little_endian = self._is_little_endian
423423
ds_len=write_dataset(dio,self._content)
424424
dio.seek(0)
@@ -427,7 +427,7 @@ def _mangle(self,value):
427427
def get_sizeondisk(self):
428428
"""Return the size of the extension in the NIfTI file.
429429
"""
430-
return len(self._mangle(self._content))
430+
return len(self._mangle())
431431

432432
try:
433433
from dicom.filereader import read_dataset

nibabel/tests/test_nifti1.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1095,16 +1095,20 @@ def test_nifti_dicom_extension():
10951095
assert_equal(len(dcmext.get_content().values()), 1)
10961096

10971097
# create a single dicom tag (Patien ID, [0010,0020]) with Implicit VR
1098-
dcmext = Nifti1DicomExtension(2,
1099-
struct.pack('<HHL4s',0x10,0x20,4,'NiPy'.encode('utf-8')))
1098+
dcmbytes = struct.pack('<HHL4s',0x10,0x20,4,'NiPy'.encode('utf-8'))
1099+
dcmext = Nifti1DicomExtension(2,dcmbytes)
11001100
assert_equal(dcmext.get_content().PatientID, 'NiPy')
11011101
assert_equal(len(dcmext.get_content().values()), 1)
1102+
assert_equal(dcmext.get_sizeondisk(), len(dcmbytes))
1103+
assert_equal(dcmext._mangle(),dcmbytes)
11021104

11031105
# dicom extension access from nifti extensions
11041106
assert_equal(exts_container.count('dicom'),0)
11051107
exts_container.append(dcmext)
11061108
assert_equal(exts_container.count('dicom'), 1)
11071109
assert_equal(exts_container.get_codes(), [6, 6, 2])
1110+
assert_equal(dcmext.get_sizeondisk(), len(dcmbytes))
1111+
assert_equal(dcmext._mangle(),dcmbytes)
11081112
# assert_equal((exts_container.get_sizeondisk()) % 16, 0)
11091113

11101114
class TestNifti1General(object):

0 commit comments

Comments
 (0)