Skip to content

Commit fc7a3a3

Browse files
STY: Apply ruff/pyupgrade rule UP032
UP032 Use f-string instead of `format` call
1 parent c97e210 commit fc7a3a3

37 files changed

+122
-338
lines changed

nipype/algorithms/confounds.py

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -608,13 +608,8 @@ def _run_interface(self, runtime):
608608

609609
if len(imgseries.shape) != 4:
610610
raise ValueError(
611-
"{} expected a 4-D nifti file. Input {} has "
612-
"{} dimensions (shape {})".format(
613-
self._header,
614-
self.inputs.realigned_file,
615-
len(imgseries.shape),
616-
imgseries.shape,
617-
)
611+
f"{self._header} expected a 4-D nifti file. Input {self.inputs.realigned_file} has "
612+
f"{len(imgseries.shape)} dimensions (shape {imgseries.shape})"
618613
)
619614

620615
if len(mask_images) == 0:
@@ -648,8 +643,8 @@ def _run_interface(self, runtime):
648643

649644
if TR == 0:
650645
raise ValueError(
651-
"{} cannot detect repetition time from image - "
652-
"Set the repetition_time input".format(self._header)
646+
f"{self._header} cannot detect repetition time from image - "
647+
"Set the repetition_time input"
653648
)
654649

655650
if isdefined(self.inputs.variance_threshold):
@@ -753,8 +748,8 @@ def _run_interface(self, runtime):
753748
f.write("\t".join(["component"] + list(metadata.keys())) + "\n")
754749
for i in zip(components_names, *metadata.values()):
755750
f.write(
756-
"{0[0]}\t{0[1]}\t{0[2]:.10f}\t"
757-
"{0[3]:.10f}\t{0[4]:.10f}\t{0[5]}\n".format(i)
751+
f"{i[0]}\t{i[1]}\t{i[2]:.10f}\t"
752+
f"{i[3]:.10f}\t{i[4]:.10f}\t{i[5]}\n"
758753
)
759754

760755
return runtime
@@ -1398,9 +1393,7 @@ def compute_noise_components(
13981393
if imgseries.shape[:3] != mask.shape:
13991394
raise ValueError(
14001395
"Inputs for CompCor, timeseries and mask, do not have "
1401-
"matching spatial dimensions ({} and {}, respectively)".format(
1402-
imgseries.shape[:3], mask.shape
1403-
)
1396+
f"matching spatial dimensions ({imgseries.shape[:3]} and {mask.shape}, respectively)"
14041397
)
14051398

14061399
voxel_timecourses = imgseries[mask, :]

nipype/caching/memory.py

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -86,12 +86,7 @@ def __call__(self, **kwargs):
8686
return out
8787

8888
def __repr__(self):
89-
return "{}({}.{}), base_dir={})".format(
90-
self.__class__.__name__,
91-
self.interface.__module__,
92-
self.interface.__name__,
93-
self.base_dir,
94-
)
89+
return f"{self.__class__.__name__}({self.interface.__module__}.{self.interface.__name__}), base_dir={self.base_dir})"
9590

9691

9792
###############################################################################

nipype/interfaces/ants/registration.py

Lines changed: 10 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -204,11 +204,7 @@ def _transformation_constructor(self):
204204
return "".join(retval)
205205

206206
def _regularization_constructor(self):
207-
return "--regularization {}[{},{}]".format(
208-
self.inputs.regularization,
209-
self.inputs.regularization_gradient_field_sigma,
210-
self.inputs.regularization_deformation_field_sigma,
211-
)
207+
return f"--regularization {self.inputs.regularization}[{self.inputs.regularization_gradient_field_sigma},{self.inputs.regularization_deformation_field_sigma}]"
212208

213209
def _affine_gradient_descent_option_constructor(self):
214210
values = self.inputs.affine_gradient_descent_option
@@ -1242,10 +1238,7 @@ def _format_winsorize_image_intensities(self):
12421238
)
12431239
)
12441240
self._quantilesDone = True
1245-
return "--winsorize-image-intensities [ {}, {} ]".format(
1246-
self.inputs.winsorize_lower_quantile,
1247-
self.inputs.winsorize_upper_quantile,
1248-
)
1241+
return f"--winsorize-image-intensities [ {self.inputs.winsorize_lower_quantile}, {self.inputs.winsorize_upper_quantile} ]"
12491242

12501243
def _get_initial_transform_filenames(self):
12511244
n_transforms = len(self.inputs.initial_moving_transform)
@@ -1269,10 +1262,7 @@ def _get_initial_transform_filenames(self):
12691262
def _format_arg(self, opt, spec, val):
12701263
if opt == "fixed_image_mask":
12711264
if isdefined(self.inputs.moving_image_mask):
1272-
return "--masks [ {}, {} ]".format(
1273-
self.inputs.fixed_image_mask,
1274-
self.inputs.moving_image_mask,
1275-
)
1265+
return f"--masks [ {self.inputs.fixed_image_mask}, {self.inputs.moving_image_mask} ]"
12761266
else:
12771267
return "--masks %s" % self.inputs.fixed_image_mask
12781268
elif opt == "transforms":
@@ -1309,16 +1299,9 @@ def _format_arg(self, opt, spec, val):
13091299
out_filename = self._get_outputfilenames(inverse=False)
13101300
inv_out_filename = self._get_outputfilenames(inverse=True)
13111301
if out_filename and inv_out_filename:
1312-
return "--output [ {}, {}, {} ]".format(
1313-
self.inputs.output_transform_prefix,
1314-
out_filename,
1315-
inv_out_filename,
1316-
)
1302+
return f"--output [ {self.inputs.output_transform_prefix}, {out_filename}, {inv_out_filename} ]"
13171303
elif out_filename:
1318-
return "--output [ {}, {} ]".format(
1319-
self.inputs.output_transform_prefix,
1320-
out_filename,
1321-
)
1304+
return f"--output [ {self.inputs.output_transform_prefix}, {out_filename} ]"
13221305
else:
13231306
return "--output %s" % self.inputs.output_transform_prefix
13241307
elif opt == "winsorize_upper_quantile" or opt == "winsorize_lower_quantile":
@@ -1590,29 +1573,16 @@ class MeasureImageSimilarity(ANTSCommand):
15901573

15911574
def _metric_constructor(self):
15921575
retval = (
1593-
'--metric {metric}["{fixed_image}","{moving_image}",{metric_weight},'
1594-
"{radius_or_number_of_bins},{sampling_strategy},{sampling_percentage}]".format(
1595-
metric=self.inputs.metric,
1596-
fixed_image=self.inputs.fixed_image,
1597-
moving_image=self.inputs.moving_image,
1598-
metric_weight=self.inputs.metric_weight,
1599-
radius_or_number_of_bins=self.inputs.radius_or_number_of_bins,
1600-
sampling_strategy=self.inputs.sampling_strategy,
1601-
sampling_percentage=self.inputs.sampling_percentage,
1602-
)
1576+
f'--metric {self.inputs.metric}["{self.inputs.fixed_image}","{self.inputs.moving_image}",{self.inputs.metric_weight},'
1577+
f"{self.inputs.radius_or_number_of_bins},{self.inputs.sampling_strategy},{self.inputs.sampling_percentage}]"
16031578
)
16041579
return retval
16051580

16061581
def _mask_constructor(self):
16071582
if self.inputs.moving_image_mask:
1608-
retval = '--masks ["{fixed_image_mask}","{moving_image_mask}"]'.format(
1609-
fixed_image_mask=self.inputs.fixed_image_mask,
1610-
moving_image_mask=self.inputs.moving_image_mask,
1611-
)
1583+
retval = f'--masks ["{self.inputs.fixed_image_mask}","{self.inputs.moving_image_mask}"]'
16121584
else:
1613-
retval = '--masks "{fixed_image_mask}"'.format(
1614-
fixed_image_mask=self.inputs.fixed_image_mask
1615-
)
1585+
retval = f'--masks "{self.inputs.fixed_image_mask}"'
16161586
return retval
16171587

16181588
def _format_arg(self, opt, spec, val):
@@ -1871,9 +1841,7 @@ def _list_outputs(self):
18711841
f"00_{self.inputs.output_prefix}_AffineTransform.mat"
18721842
)
18731843
outputs["displacement_field"] = os.path.abspath(
1874-
"01_{}_DisplacementFieldTransform.nii.gz".format(
1875-
self.inputs.output_prefix
1876-
)
1844+
f"01_{self.inputs.output_prefix}_DisplacementFieldTransform.nii.gz"
18771845
)
18781846
if self.inputs.process == "assemble":
18791847
outputs["out_file"] = os.path.abspath(self.inputs.out_file)

nipype/interfaces/base/core.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -849,8 +849,8 @@ def _filename_from_source(self, name, chain=None):
849849

850850
if not isinstance(ns, (str, bytes)):
851851
raise ValueError(
852-
"name_source of '{}' trait should be an input trait "
853-
"name, but a type {} object was found".format(name, type(ns))
852+
f"name_source of '{name}' trait should be an input trait "
853+
f"name, but a type {type(ns)} object was found"
854854
)
855855

856856
if isdefined(getattr(self.inputs, ns)):

nipype/interfaces/base/specs.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -141,10 +141,7 @@ def _deprecated_warn(self, obj, name, old, new):
141141
raise TraitError(msg)
142142
else:
143143
if trait_spec.new_name:
144-
msg += "Unsetting old value {}; setting new value {}.".format(
145-
name,
146-
trait_spec.new_name,
147-
)
144+
msg += f"Unsetting old value {name}; setting new value {trait_spec.new_name}."
148145
warn(msg)
149146
if trait_spec.new_name:
150147
self.trait_set(

nipype/interfaces/base/tests/test_resource_monitor.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,9 @@ class UseResources(CommandLine):
5555

5656
@pytest.mark.skip(reason="inconsistent readings")
5757
@pytest.mark.skipif(os.getenv("CI_SKIP_TEST", False), reason="disabled in CI tests")
58-
@pytest.mark.parametrize(("mem_gb", "n_procs"), [(0.5, 3), (2.2, 8), (0.8, 4), (1.5, 1)])
58+
@pytest.mark.parametrize(
59+
("mem_gb", "n_procs"), [(0.5, 3), (2.2, 8), (0.8, 4), (1.5, 1)]
60+
)
5961
def test_cmdline_profiling(tmpdir, mem_gb, n_procs, use_resource_monitor):
6062
"""
6163
Test runtime profiler correctly records workflow RAM/CPUs consumption
@@ -80,7 +82,9 @@ def test_cmdline_profiling(tmpdir, mem_gb, n_procs, use_resource_monitor):
8082
@pytest.mark.skipif(
8183
True, reason="test disabled temporarily, until function profiling works"
8284
)
83-
@pytest.mark.parametrize(("mem_gb", "n_procs"), [(0.5, 3), (2.2, 8), (0.8, 4), (1.5, 1)])
85+
@pytest.mark.parametrize(
86+
("mem_gb", "n_procs"), [(0.5, 3), (2.2, 8), (0.8, 4), (1.5, 1)]
87+
)
8488
def test_function_profiling(tmpdir, mem_gb, n_procs, use_resource_monitor):
8589
"""
8690
Test runtime profiler correctly records workflow RAM/CPUs consumption

nipype/interfaces/cmtk/parcellation.py

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -315,15 +315,10 @@ def create_annot_label(subject_id, subjects_dir, fs_dir, parcellation_name):
315315
)
316316
runCmd(mri_cmd, log)
317317
runCmd("mris_volmask %s" % subject_id, log)
318-
mri_cmd = 'mri_convert -i "{}/mri/ribbon.mgz" -o "{}/mri/ribbon.nii.gz"'.format(
319-
op.join(subjects_dir, subject_id),
320-
op.join(subjects_dir, subject_id),
321-
)
318+
subject_path = op.join(subjects_dir, subject_id)
319+
mri_cmd = f'mri_convert -i "{subject_path}/mri/ribbon.mgz" -o "{subject_path}/mri/ribbon.nii.gz"'
322320
runCmd(mri_cmd, log)
323-
mri_cmd = 'mri_convert -i "{}/mri/aseg.mgz" -o "{}/mri/aseg.nii.gz"'.format(
324-
op.join(subjects_dir, subject_id),
325-
op.join(subjects_dir, subject_id),
326-
)
321+
mri_cmd = f'mri_convert -i "{subject_path}/mri/aseg.mgz" -o "{subject_path}/mri/aseg.nii.gz"'
327322
runCmd(mri_cmd, log)
328323

329324
iflogger.info("[ DONE ]")

nipype/interfaces/dtitk/base.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,10 @@ def __init__(self, *args, **kwargs):
4242
rename_idx = classes.index("DTITKRenameMixin")
4343
new_name = classes[rename_idx + 1]
4444
warnings.warn(
45-
"The {} interface has been renamed to {}\n"
45+
f"The {dep_name} interface has been renamed to {new_name}\n"
4646
"Please see the documentation for DTI-TK "
4747
"interfaces, as some inputs have been "
48-
"added or renamed for clarity."
49-
"".format(dep_name, new_name),
48+
"added or renamed for clarity.",
5049
DeprecationWarning,
5150
)
5251
super().__init__(*args, **kwargs)

nipype/interfaces/freesurfer/preprocess.py

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -729,10 +729,7 @@ def cmdline(self):
729729
outdir = self._get_outdir()
730730
cmd = []
731731
if not os.path.exists(outdir):
732-
cmdstr = "{} -c \"import os; os.makedirs('{}')\"".format(
733-
op.basename(sys.executable),
734-
outdir,
735-
)
732+
cmdstr = f"{op.basename(sys.executable)} -c \"import os; os.makedirs('{outdir}')\""
736733
cmd.extend([cmdstr])
737734
infofile = os.path.join(outdir, "shortinfo.txt")
738735
if not os.path.exists(infofile):
@@ -741,12 +738,7 @@ def cmdline(self):
741738
files = self._get_filelist(outdir)
742739
for infile, outfile in files:
743740
if not os.path.exists(outfile):
744-
single_cmd = "{}{} {} {}".format(
745-
self._cmd_prefix,
746-
self.cmd,
747-
infile,
748-
os.path.join(outdir, outfile),
749-
)
741+
single_cmd = f"{self._cmd_prefix}{self.cmd} {infile} {os.path.join(outdir, outfile)}"
750742
cmd.extend([single_cmd])
751743
return "; ".join(cmd)
752744

nipype/interfaces/freesurfer/tests/test_preprocess.py

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -65,11 +65,7 @@ def test_fitmsparams(create_files_in_directory):
6565
# .inputs based parameters setting
6666
fit.inputs.in_files = filelist
6767
fit.inputs.out_dir = outdir
68-
assert fit.cmdline == "mri_ms_fitparms {} {} {}".format(
69-
filelist[0],
70-
filelist[1],
71-
outdir,
72-
)
68+
assert fit.cmdline == f"mri_ms_fitparms {filelist[0]} {filelist[1]} {outdir}"
7369

7470
# constructor based parameter setting
7571
fit2 = freesurfer.FitMSParams(
@@ -184,9 +180,7 @@ def test_bbregister(create_files_in_directory):
184180
base, _ = os.path.splitext(base)
185181

186182
assert bbr.cmdline == (
187-
"bbregister --t2 --init-fsl "
188-
"--reg {base}_bbreg_fsaverage.dat "
189-
"--mov {full} --s fsaverage".format(full=filelist[0], base=base)
183+
f"bbregister --t2 --init-fsl --reg {base}_bbreg_fsaverage.dat --mov {filelist[0]} --s fsaverage"
190184
)
191185

192186

0 commit comments

Comments
 (0)