Skip to content

Commit 7fe10e6

Browse files
committed
FIX: Allow tr=0 in mghformat
1 parent bb8c6fa commit 7fe10e6

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

nibabel/freesurfer/mghformat.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -276,10 +276,12 @@ def set_zooms(self, zooms):
276276
ndims = self._ndims()
277277
if len(zooms) > ndims:
278278
raise HeaderDataError('Expecting %d zoom values' % ndims)
279-
if np.any(zooms <= 0):
280-
raise HeaderDataError('zooms must be positive')
279+
if np.any(zooms[:3] <= 0):
280+
raise HeaderDataError('zooms[:3] must be positive')
281281
hdr['delta'] = zooms[:3]
282282
if len(zooms) == 4:
283+
if zooms[3] < 0:
284+
raise HeaderDataError('zooms[3] must be non-negative')
283285
hdr['tr'] = zooms[3]
284286

285287
def get_data_shape(self):

nibabel/freesurfer/tests/test_mghformat.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,8 @@ def test_set_zooms():
159159
(1, 1, 1, 1, 5)):
160160
with assert_raises(HeaderDataError):
161161
h.set_zooms(zooms)
162+
# smoke test for tr=0
163+
h.set_zooms((1, 1, 1, 0))
162164

163165

164166
def bad_dtype_mgh():

0 commit comments

Comments
 (0)