File tree Expand file tree Collapse file tree 3 files changed +19
-4
lines changed Expand file tree Collapse file tree 3 files changed +19
-4
lines changed Original file line number Diff line number Diff line change @@ -704,6 +704,12 @@ def __array__(self):
704704 frame_mapping [i ][0 ])
705705 return data
706706
707+ def get_scaled (self , dtype = None ):
708+ data = self .__array__ ()
709+ if dtype is not None and np .dtype (dtype ) > data .dtype :
710+ data = data .astype (dtype )
711+ return data
712+
707713 def __getitem__ (self , sliceobj ):
708714 """ Return slice `sliceobj` from ECAT data, optimizing if possible
709715 """
Original file line number Diff line number Diff line change @@ -261,13 +261,22 @@ def ndim(self):
261261 def is_proxy (self ):
262262 return True
263263
264+ def _get_scaled (self , dtype , slicer ):
265+ data = self .minc_file .get_scaled_data (slicer )
266+ if dtype is not None and np .dtype (dtype ) > data .dtype :
267+ data = data .astype (dtype )
268+ return data
269+
270+ def get_scaled (self , dtype = None ):
271+ return self ._get_scaled (dtype = dtype , slicer = ())
272+
264273 def __array__ (self ):
265274 ''' Read of data from file '''
266- return self .minc_file . get_scaled_data ( )
275+ return self ._get_scaled ( dtype = None , slicer = () )
267276
268277 def __getitem__ (self , sliceobj ):
269278 """ Read slice `sliceobj` of data from file """
270- return self .minc_file . get_scaled_data ( sliceobj )
279+ return self ._get_scaled ( dtype = None , slicer = sliceobj )
271280
272281
273282class MincHeader (SpatialHeader ):
Original file line number Diff line number Diff line change @@ -195,8 +195,8 @@ class DataLike(object):
195195 # Minimal class implementing 'data' API
196196 shape = (3 ,)
197197
198- def __array__ (self ):
199- return np .arange (3 , dtype = np . int16 )
198+ def __array__ (self , dtype = 'int16' ):
199+ return np .arange (3 , dtype = dtype )
200200
201201
202202class TestSpatialImage (TestCase ):
You can’t perform that action at this time.
0 commit comments