Skip to content

Commit 1ddaa78

Browse files
author
cindeem
committed
NF tests for EcatSubHeader
1 parent 7e26851 commit 1ddaa78

File tree

2 files changed

+19
-8
lines changed

2 files changed

+19
-8
lines changed

nibabel/ecat.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -510,7 +510,7 @@ def get_zooms(self,frame=0):
510510
return (x_zoom, y_zoom, z_zoom, 1)
511511

512512

513-
def get_data_dtype(self, frame):
513+
def _get_data_dtype(self, frame):
514514
dt = self.subheaders[frame]['data_type']
515515
if dt == 5:
516516
return np.dtype('float')
@@ -519,17 +519,17 @@ def get_data_dtype(self, frame):
519519
else:
520520
return None
521521

522-
def get_frame_offset(self, frame=0):
522+
def _get_frame_offset(self, frame=0):
523523
mlist = self._mlist._mlist
524524
offset = mlist[frame][1] * 512
525525
return int(offset)
526526

527527
def raw_data_from_fileobj(self, frame=0):
528-
dtype = self.get_data_dtype(frame)
528+
dtype = self._get_data_dtype(frame)
529529
if not self._header.endianness is native_code:
530530
dtype=dtype.newbyteorder(self._header.endianness)
531531
shape = self.get_shape(frame)
532-
offset = self.get_frame_offset(frame)
532+
offset = self._get_frame_offset(frame)
533533
fid_obj = self.fileobj
534534
raw_data = array_from_file(shape, dtype, fid_obj, offset=offset)
535535
## put data into neurologic orientation
@@ -663,7 +663,7 @@ def get_frame(self,frame):
663663

664664
def get_data_dtype(self,frame):
665665
subhdr = self._subheader
666-
dt = subhdr.get_data_dtype(frame)
666+
dt = subhdr._get_data_dtype(frame)
667667
return dt
668668

669669
def get_shape(self):

nibabel/tests/test_ecat.py

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ class TestEcatSubHeader(ParametricTestCase):
9494
hdr = header_class.from_fileobj(fid)
9595
mlist = mlist_class(fid, hdr)
9696
subhdr = subhdr_class(hdr, mlist, fid)
97-
fid.close()
97+
9898

9999
def test_subheader_size(self):
100100
yield assert_equal(self.subhdr_class._subhdrdtype.itemsize, 242)
@@ -105,5 +105,16 @@ def test_subheader(self):
105105
yield assert_equal(self.subhdr.get_nframes(),
106106
len(self.subhdr.subheaders))
107107
yield assert_equal(self.subhdr._check_affines(), True)
108-
yield assert_array_equal(np.diag(self.subhdr.get_frame_affine()),
109-
np.array([ 2.20241979, 2.20241979, 3.125, 1.]))
108+
yield assert_array_almost_equal(np.diag(self.subhdr.get_frame_affine()),
109+
np.array([ 2.20241979, 2.20241979, 3.125, 1.]))
110+
yield assert_equal(self.subhdr.get_zooms()[0], 2.20241978764534)
111+
yield assert_equal(self.subhdr.get_zooms()[2], 3.125)
112+
yield assert_equal(self.subhdr._get_data_dtype(0),np.dtype('ushort'))
113+
yield assert_equal(self.subhdr._get_frame_offset(), 1536)
114+
dat = self.subhdr.raw_data_from_fileobj()
115+
yield assert_equal(dat.shape, self.subhdr.get_shape())
116+
scale_factor = self.subhdr.subheaders[0]['scale_factor']
117+
ecat_calib_factor = self.hdr['ecat_calibration_factor']
118+
scaled_dat = self.subhdr.data_from_fileobj()
119+
yield assert_array_equal(dat * scale_factor * ecat_calib_factor,
120+
scaled_dat)

0 commit comments

Comments
 (0)