@@ -623,12 +623,10 @@ def _run_interface(self, runtime):
623
623
skip_vols = self .inputs .ignore_initial_volumes
624
624
if skip_vols :
625
625
imgseries = imgseries .__class__ (
626
- imgseries .get_data ()[..., skip_vols :],
627
- imgseries .affine ,
628
- imgseries .header ,
626
+ imgseries .dataobj [..., skip_vols :], imgseries .affine , imgseries .header
629
627
)
630
628
631
- mask_images = self ._process_masks (mask_images , imgseries .get_data () )
629
+ mask_images = self ._process_masks (mask_images , imgseries .dataobj )
632
630
633
631
TR = 0
634
632
if self .inputs .pre_filter == "cosine" :
@@ -664,7 +662,7 @@ def _run_interface(self, runtime):
664
662
)
665
663
666
664
components , filter_basis , metadata = compute_noise_components (
667
- imgseries .get_data ( ),
665
+ imgseries .get_fdata ( dtype = np . float32 ),
668
666
mask_images ,
669
667
components_criterion ,
670
668
self .inputs .pre_filter ,
@@ -837,8 +835,9 @@ def __init__(self, *args, **kwargs):
837
835
def _process_masks (self , mask_images , timeseries = None ):
838
836
out_images = []
839
837
self ._mask_files = []
838
+ timeseries = np .asanyarray (timeseries )
840
839
for i , img in enumerate (mask_images ):
841
- mask = img . get_data ( ).astype (np .bool )
840
+ mask = np . asanyarray ( img . dataobj ).astype (np .bool )
842
841
imgseries = timeseries [mask , :]
843
842
imgseries = regress_poly (2 , imgseries )[0 ]
844
843
tSTD = _compute_tSTD (imgseries , 0 , axis = - 1 )
@@ -924,7 +923,11 @@ def _run_interface(self, runtime):
924
923
nb .load (filename , mmap = NUMPY_MMAP ) for filename in self .inputs .in_file
925
924
]
926
925
data = np .concatenate (
927
- [vol .get_data ().reshape (vol .shape [:3 ] + (- 1 ,)) for vol in vollist ], axis = 3
926
+ [
927
+ vol .get_fdata (dtype = np .float32 ).reshape (vol .shape [:3 ] + (- 1 ,))
928
+ for vol in vollist
929
+ ],
930
+ axis = 3 ,
928
931
)
929
932
data = np .nan_to_num (data )
930
933
@@ -985,7 +988,7 @@ class NonSteadyStateDetector(BaseInterface):
985
988
def _run_interface (self , runtime ):
986
989
in_nii = nb .load (self .inputs .in_file )
987
990
global_signal = (
988
- in_nii .get_data () [:, :, :, :50 ].mean (axis = 0 ).mean (axis = 0 ).mean (axis = 0 )
991
+ in_nii .dataobj [:, :, :, :50 ].mean (axis = 0 ).mean (axis = 0 ).mean (axis = 0 )
989
992
)
990
993
991
994
self ._results = {"n_volumes_to_discard" : is_outlier (global_signal )}
@@ -1032,8 +1035,8 @@ def compute_dvars(
1032
1035
from nitime .algorithms import AR_est_YW
1033
1036
import warnings
1034
1037
1035
- func = nb .load (in_file , mmap = NUMPY_MMAP ).get_data (). astype ( np .float32 )
1036
- mask = nb .load (in_mask , mmap = NUMPY_MMAP ).get_data ( ).astype (np .uint8 )
1038
+ func = nb .load (in_file , mmap = NUMPY_MMAP ).get_fdata ( dtype = np .float32 )
1039
+ mask = np . asanyarray ( nb .load (in_mask , mmap = NUMPY_MMAP ).dataobj ).astype (np .uint8 )
1037
1040
1038
1041
if len (func .shape ) != 4 :
1039
1042
raise RuntimeError ("Input fMRI dataset should be 4-dimensional" )
@@ -1280,8 +1283,8 @@ def combine_mask_files(mask_files, mask_method=None, mask_index=None):
1280
1283
for filename in mask_files :
1281
1284
img = nb .load (filename , mmap = NUMPY_MMAP )
1282
1285
if mask is None :
1283
- mask = img .get_data () > 0
1284
- np .logical_or (mask , img .get_data () > 0 , mask )
1286
+ mask = img .get_fdata () > 0
1287
+ np .logical_or (mask , img .get_fdata () > 0 , mask )
1285
1288
img = nb .Nifti1Image (mask , img .affine , header = img .header )
1286
1289
return [img ]
1287
1290
@@ -1290,8 +1293,8 @@ def combine_mask_files(mask_files, mask_method=None, mask_index=None):
1290
1293
for filename in mask_files :
1291
1294
img = nb .load (filename , mmap = NUMPY_MMAP )
1292
1295
if mask is None :
1293
- mask = img .get_data () > 0
1294
- np .logical_and (mask , img .get_data () > 0 , mask )
1296
+ mask = img .get_fdata () > 0
1297
+ np .logical_and (mask , img .get_fdata () > 0 , mask )
1295
1298
img = nb .Nifti1Image (mask , img .affine , header = img .header )
1296
1299
return [img ]
1297
1300
@@ -1374,7 +1377,7 @@ def compute_noise_components(
1374
1377
md_retained = []
1375
1378
1376
1379
for name , img in zip (mask_names , mask_images ):
1377
- mask = nb .squeeze_image (img ).get_data ( ).astype (np .bool )
1380
+ mask = np . asanyarray ( nb .squeeze_image (img ).dataobj ).astype (np .bool )
1378
1381
if imgseries .shape [:3 ] != mask .shape :
1379
1382
raise ValueError (
1380
1383
"Inputs for CompCor, timeseries and mask, do not have "
0 commit comments