Skip to content

Commit 10ed182

Browse files
committed
RF: Remove deprecated nibabel get_* methods
Nibabel deprecated the use of img.get_header() and img.get_affine() functions in favor of img.header and img.affine in 2.0.0, and img.get_shape() was deprecated in nibabel 1.2.0. Nipype has a nibabel >= 2.0.1 requirement, so these changes are safe.
1 parent 5e1161f commit 10ed182

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+168
-181
lines changed

doc/devel/python_interface_devel.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ do is to define inputs, outputs, _run_interface() (not run()), and _list_outputs
4141
thresholded_map = np.zeros(data.shape)
4242
thresholded_map[active_map] = data[active_map]
4343

44-
new_img = nb.Nifti1Image(thresholded_map, img.get_affine(), img.get_header())
44+
new_img = nb.Nifti1Image(thresholded_map, img.affine, img.header)
4545
_, base, _ = split_filename(fname)
4646
nb.save(new_img, base + '_thresholded.nii')
4747

examples/dmri_camino_dti.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ def get_vox_dims(volume):
3939
if isinstance(volume, list):
4040
volume = volume[0]
4141
nii = nb.load(volume)
42-
hdr = nii.get_header()
42+
hdr = nii.header
4343
voxdims = hdr.get_zooms()
4444
return [float(voxdims[0]), float(voxdims[1]), float(voxdims[2])]
4545

@@ -49,15 +49,15 @@ def get_data_dims(volume):
4949
if isinstance(volume, list):
5050
volume = volume[0]
5151
nii = nb.load(volume)
52-
hdr = nii.get_header()
52+
hdr = nii.header
5353
datadims = hdr.get_data_shape()
5454
return [int(datadims[0]), int(datadims[1]), int(datadims[2])]
5555

5656

5757
def get_affine(volume):
5858
import nibabel as nb
5959
nii = nb.load(volume)
60-
return nii.get_affine()
60+
return nii.affine
6161

6262
subject_list = ['subj1']
6363
fsl.FSLCommand.set_default_output_type('NIFTI')

examples/dmri_connectivity.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ def get_vox_dims(volume):
7777
if isinstance(volume, list):
7878
volume = volume[0]
7979
nii = nb.load(volume)
80-
hdr = nii.get_header()
80+
hdr = nii.header
8181
voxdims = hdr.get_zooms()
8282
return [float(voxdims[0]), float(voxdims[1]), float(voxdims[2])]
8383

@@ -87,15 +87,15 @@ def get_data_dims(volume):
8787
if isinstance(volume, list):
8888
volume = volume[0]
8989
nii = nb.load(volume)
90-
hdr = nii.get_header()
90+
hdr = nii.header
9191
datadims = hdr.get_data_shape()
9292
return [int(datadims[0]), int(datadims[1]), int(datadims[2])]
9393

9494

9595
def get_affine(volume):
9696
import nibabel as nb
9797
nii = nb.load(volume)
98-
return nii.get_affine()
98+
return nii.affine
9999

100100

101101
def select_aparc(list_of_files):

examples/fmri_ants_openfmri.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,8 @@ def median(in_files):
8080
average = data
8181
else:
8282
average = average + data
83-
median_img = nb.Nifti1Image(average / float(idx + 1),
84-
img.get_affine(), img.get_header())
83+
median_img = nb.Nifti1Image(average / float(idx + 1), img.affine,
84+
img.header)
8585
filename = os.path.join(os.getcwd(), 'median.nii.gz')
8686
median_img.to_filename(filename)
8787
return filename

examples/fmri_fsl.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ def getmiddlevolume(func):
108108
funcfile = func
109109
if isinstance(func, list):
110110
funcfile = func[0]
111-
_, _, _, timepoints = load(funcfile).get_shape()
111+
_, _, _, timepoints = load(funcfile).shape
112112
return int(timepoints / 2) - 1
113113

114114
preproc.connect(inputnode, ('func', getmiddlevolume), extract_ref, 't_min')

examples/fmri_spm_auditory.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ def get_vox_dims(volume):
123123
if isinstance(volume, list):
124124
volume = volume[0]
125125
nii = nb.load(volume)
126-
hdr = nii.get_header()
126+
hdr = nii.header
127127
voxdims = hdr.get_zooms()
128128
return [float(voxdims[0]), float(voxdims[1]), float(voxdims[2])]
129129

examples/fmri_spm_face.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ def get_vox_dims(volume):
117117
if isinstance(volume, list):
118118
volume = volume[0]
119119
nii = nb.load(volume)
120-
hdr = nii.get_header()
120+
hdr = nii.header
121121
voxdims = hdr.get_zooms()
122122
return [float(voxdims[0]), float(voxdims[1]), float(voxdims[2])]
123123

examples/rsfmri_vol_surface_preprocessing.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -125,8 +125,8 @@ def median(in_files):
125125
average = data
126126
else:
127127
average = average + data
128-
median_img = nb.Nifti1Image(average / float(idx + 1),
129-
img.get_affine(), img.get_header())
128+
median_img = nb.Nifti1Image(average / float(idx + 1), img.affine,
129+
img.header)
130130
filename = os.path.join(os.getcwd(), 'median.nii.gz')
131131
median_img.to_filename(filename)
132132
return filename
@@ -165,8 +165,7 @@ def bandpass_filter(files, lowpass_freq, highpass_freq, fs):
165165
filtered_data = data
166166
else:
167167
filtered_data = np.real(np.fft.ifftn(np.fft.fftn(data) * F))
168-
img_out = nb.Nifti1Image(filtered_data, img.get_affine(),
169-
img.get_header())
168+
img_out = nb.Nifti1Image(filtered_data, img.affine, img.header)
170169
img_out.to_filename(out_file)
171170
out_files.append(out_file)
172171
return list_to_filename(out_files)

examples/rsfmri_vol_surface_preprocessing_nipy.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -119,8 +119,8 @@ def median(in_files):
119119
average = data
120120
else:
121121
average = average + data
122-
median_img = nb.Nifti1Image(average / float(idx + 1),
123-
img.get_affine(), img.get_header())
122+
median_img = nb.Nifti1Image(average / float(idx + 1), img.affine,
123+
img.header)
124124
filename = os.path.join(os.getcwd(), 'median.nii.gz')
125125
median_img.to_filename(filename)
126126
return filename
@@ -156,8 +156,7 @@ def bandpass_filter(files, lowpass_freq, highpass_freq, fs):
156156
filtered_data = data
157157
else:
158158
filtered_data = np.real(np.fft.ifftn(np.fft.fftn(data) * F))
159-
img_out = nb.Nifti1Image(filtered_data, img.get_affine(),
160-
img.get_header())
159+
img_out = nb.Nifti1Image(filtered_data, img.affine, img.header)
161160
img_out.to_filename(out_file)
162161
out_files.append(out_file)
163162
return list_to_filename(out_files)

nipype/algorithms/icc.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -49,19 +49,19 @@ def _run_interface(self, runtime):
4949
icc[x], subject_var[x], session_var[x], session_F[x], _, _ = ICC_rep_anova(Y)
5050

5151
nim = nb.load(self.inputs.subjects_sessions[0][0])
52-
new_data = np.zeros(nim.get_shape())
52+
new_data = np.zeros(nim.shape)
5353
new_data[maskdata] = icc.reshape(-1,)
54-
new_img = nb.Nifti1Image(new_data, nim.get_affine(), nim.get_header())
54+
new_img = nb.Nifti1Image(new_data, nim.affine, nim.header)
5555
nb.save(new_img, 'icc_map.nii')
5656

57-
new_data = np.zeros(nim.get_shape())
57+
new_data = np.zeros(nim.shape)
5858
new_data[maskdata] = session_var.reshape(-1,)
59-
new_img = nb.Nifti1Image(new_data, nim.get_affine(), nim.get_header())
59+
new_img = nb.Nifti1Image(new_data, nim.affine, nim.header)
6060
nb.save(new_img, 'session_var_map.nii')
6161

62-
new_data = np.zeros(nim.get_shape())
62+
new_data = np.zeros(nim.shape)
6363
new_data[maskdata] = subject_var.reshape(-1,)
64-
new_img = nb.Nifti1Image(new_data, nim.get_affine(), nim.get_header())
64+
new_img = nb.Nifti1Image(new_data, nim.affine, nim.header)
6565
nb.save(new_img, 'subject_var_map.nii')
6666

6767
return runtime

nipype/algorithms/mesh.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -111,13 +111,12 @@ def _run_interface(self, runtime):
111111
points = np.array(mesh.points)
112112
warp_dims = nb.funcs.four_to_three(nb.load(self.inputs.warp))
113113

114-
affine = warp_dims[0].get_affine()
115-
voxsize = warp_dims[0].get_header().get_zooms()
114+
affine = warp_dims[0].affine
115+
voxsize = warp_dims[0].header.get_zooms()
116116
vox2ras = affine[0:3, 0:3]
117117
ras2vox = np.linalg.inv(vox2ras)
118118
origin = affine[0:3, 3]
119-
voxpoints = np.array([np.dot(ras2vox,
120-
(p - origin)) for p in points])
119+
voxpoints = np.array([np.dot(ras2vox, (p - origin)) for p in points])
121120

122121
warps = []
123122
for axis in warp_dims:

nipype/algorithms/metrics.py

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -92,9 +92,9 @@ def _eucl_min(self, nii1, nii2):
9292
origdata2 = nii2.get_data().astype(np.bool)
9393
border2 = self._find_border(origdata2)
9494

95-
set1_coordinates = self._get_coordinates(border1, nii1.get_affine())
95+
set1_coordinates = self._get_coordinates(border1, nii1.affine)
9696

97-
set2_coordinates = self._get_coordinates(border2, nii2.get_affine())
97+
set2_coordinates = self._get_coordinates(border2, nii2.affine)
9898

9999
dist_matrix = cdist(set1_coordinates.T, set2_coordinates.T)
100100
(point1, point2) = np.unravel_index(
@@ -108,7 +108,7 @@ def _eucl_cog(self, nii1, nii2):
108108
origdata1 = nii1.get_data().astype(np.bool)
109109
cog_t = np.array(center_of_mass(origdata1)).reshape(-1, 1)
110110
cog_t = np.vstack((cog_t, np.array([1])))
111-
cog_t_coor = np.dot(nii1.get_affine(), cog_t)[:3, :]
111+
cog_t_coor = np.dot(nii1.affine, cog_t)[:3, :]
112112

113113
origdata2 = nii2.get_data().astype(np.bool)
114114
(labeled_data, n_labels) = label(origdata2)
@@ -119,7 +119,7 @@ def _eucl_cog(self, nii1, nii2):
119119
cogs[:3, i] = np.array(center_of_mass(origdata2,
120120
labeled_data, i + 1))
121121

122-
cogs_coor = np.dot(nii2.get_affine(), cogs)[:3, :]
122+
cogs_coor = np.dot(nii2.affine, cogs)[:3, :]
123123

124124
dist_matrix = cdist(cog_t_coor.T, cogs_coor.T)
125125

@@ -131,8 +131,8 @@ def _eucl_mean(self, nii1, nii2, weighted=False):
131131

132132
origdata2 = nii2.get_data().astype(np.bool)
133133

134-
set1_coordinates = self._get_coordinates(border1, nii1.get_affine())
135-
set2_coordinates = self._get_coordinates(origdata2, nii2.get_affine())
134+
set1_coordinates = self._get_coordinates(border1, nii1.affine)
135+
set2_coordinates = self._get_coordinates(origdata2, nii2.affine)
136136

137137
dist_matrix = cdist(set1_coordinates.T, set2_coordinates.T)
138138
min_dist_matrix = np.amin(dist_matrix, axis=0)
@@ -172,8 +172,8 @@ def _eucl_max(self, nii1, nii2):
172172
border1 = self._find_border(origdata1)
173173
border2 = self._find_border(origdata2)
174174

175-
set1_coordinates = self._get_coordinates(border1, nii1.get_affine())
176-
set2_coordinates = self._get_coordinates(border2, nii2.get_affine())
175+
set1_coordinates = self._get_coordinates(border1, nii1.affine)
176+
set2_coordinates = self._get_coordinates(border2, nii2.affine)
177177
distances = cdist(set1_coordinates.T, set2_coordinates.T)
178178
mins = np.concatenate(
179179
(np.amin(distances, axis=0), np.amin(distances, axis=1)))
@@ -283,7 +283,7 @@ def _run_interface(self, runtime):
283283
scale = 1.0
284284

285285
if self.inputs.vol_units == 'mm':
286-
voxvol = nii1.get_header().get_zooms()
286+
voxvol = nii1.header.get_zooms()
287287
for i in range(nii1.get_data().ndim - 1):
288288
scale = scale * voxvol[i]
289289

@@ -330,8 +330,8 @@ def _run_interface(self, runtime):
330330
both_data = np.zeros(data1.shape)
331331
both_data[(data1 - data2) != 0] = 1
332332

333-
nb.save(nb.Nifti1Image(both_data, nii1.get_affine(),
334-
nii1.get_header()), self.inputs.out_file)
333+
nb.save(nb.Nifti1Image(both_data, nii1.affine, nii1.header),
334+
self.inputs.out_file)
335335

336336
self._labels = labels
337337
self._ove_rois = results
@@ -452,8 +452,9 @@ def _run_interface(self, runtime):
452452
ch[msk == 0] = 0
453453
diff += w * ch
454454

455-
nb.save(nb.Nifti1Image(diff, nb.load(self.inputs.in_ref[0]).get_affine(),
456-
nb.load(self.inputs.in_ref[0]).get_header()), self.inputs.out_file)
455+
nb.save(nb.Nifti1Image(diff, nb.load(self.inputs.in_ref[0]).affine,
456+
nb.load(self.inputs.in_ref[0]).header),
457+
self.inputs.out_file)
457458

458459
return runtime
459460

@@ -549,7 +550,7 @@ def _run_interface(self, runtime):
549550

550551
errmap = errvectorexp.reshape(mapshape)
551552

552-
hdr = nii_ref.get_header().copy()
553+
hdr = nii_ref.header.copy()
553554
hdr.set_data_dtype(np.float32)
554555
hdr['data_type'] = 16
555556
hdr.set_data_shape(mapshape)
@@ -563,7 +564,7 @@ def _run_interface(self, runtime):
563564
else:
564565
self._out_file = self.inputs.out_map
565566

566-
nb.Nifti1Image(errmap.astype(np.float32), nii_ref.get_affine(),
567+
nb.Nifti1Image(errmap.astype(np.float32), nii_ref.affine,
567568
hdr).to_filename(self._out_file)
568569

569570
return runtime

0 commit comments

Comments
 (0)