Skip to content

Commit 455a8cb

Browse files
committed
Merge remote-tracking branch 'krishs/master' into main-master
* krishs/master: BF: fixed 3 bugs
2 parents 4472f09 + 8271af2 commit 455a8cb

File tree

2 files changed

+10
-14
lines changed

2 files changed

+10
-14
lines changed

nibabel/freesurfer/mghformat.py

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -129,22 +129,11 @@ def __str__(self):
129129

130130
def __getitem__(self, item):
131131
''' Return values from header data
132-
133-
Examples
134-
--------
135-
>>> hdr = MGHHeader()
136-
>>> hdr['type'] == 1
137-
True
138132
'''
139133
return self._header_data[item]
140134

141135
def __setitem__(self, item, value):
142136
''' Set values in header data
143-
144-
Examples
145-
--------
146-
>>> hdr = MGHHeader()
147-
>>> hdr['type'] = 1
148137
'''
149138
self._header_data[item] = value
150139

@@ -488,7 +477,9 @@ def to_file_map(self, file_map=None):
488477
self._write_header(mghf, hdr)
489478
self._write_data(mghf, data, hdr)
490479
self._write_footer(mghf, hdr)
491-
mghf.close()
480+
# if the file_map points to a filename, close it
481+
if file_map['image'].fileobj is None: # was filename
482+
mghf.close()
492483
self._header = hdr
493484
self.file_map = file_map
494485

nibabel/tests/test_files_interface.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
import numpy as np
1414

15-
from .. import class_map, Nifti1Image, Nifti1Pair
15+
from .. import class_map, Nifti1Image, Nifti1Pair, MGHImage
1616
from ..py3k import BytesIO
1717
from ..fileholders import FileHolderError
1818

@@ -32,7 +32,12 @@ def test_files_images():
3232
assert_equal(value.filename, None)
3333
assert_equal(value.fileobj, None)
3434
assert_equal(value.pos, 0)
35-
img = klass(arr, aff)
35+
# MGHImage accepts only a few datatypes
36+
# so we force a type change to float32
37+
if klass == MGHImage:
38+
img = klass(arr.astype(np.float32), aff)
39+
else:
40+
img = klass(arr, aff)
3641
for key, value in img.file_map.items():
3742
assert_equal(value.filename, None)
3843
assert_equal(value.fileobj, None)

0 commit comments

Comments
 (0)