Skip to content

Commit aa1984e

Browse files
STY: Apply ruff/Perflint rule PERF401
PERF401 Use a list comprehension to create a transformed list
1 parent 4d1352a commit aa1984e

File tree

20 files changed

+114
-139
lines changed

20 files changed

+114
-139
lines changed

nipype/algorithms/confounds.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1289,11 +1289,8 @@ def combine_mask_files(mask_files, mask_method=None, mask_index=None):
12891289
raise ValueError(
12901290
f"mask_index {mask_index} must be less than number of mask files {len(mask_files)}"
12911291
)
1292-
masks = []
12931292
if mask_method == "none":
1294-
for filename in mask_files:
1295-
masks.append(nb.load(filename))
1296-
return masks
1293+
return [nb.load(filename) for filename in mask_files]
12971294

12981295
if mask_method == "union":
12991296
mask = None

nipype/algorithms/misc.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -548,11 +548,9 @@ def maketypelist(rowheadings, shape, extraheadingBool, extraheading):
548548
if rowheadings:
549549
typelist.append(("heading", "a40"))
550550
if len(shape) > 1:
551-
for idx in range(1, (min(shape) + 1)):
552-
typelist.append((str(idx), float))
551+
typelist.extend((str(idx), float) for idx in range(1, (min(shape) + 1)))
553552
else:
554-
for idx in range(1, (shape[0] + 1)):
555-
typelist.append((str(idx), float))
553+
typelist.extend((str(idx), float) for idx in range(1, (shape[0] + 1)))
556554
if extraheadingBool:
557555
typelist.append((extraheading, "a40"))
558556
iflogger.info(typelist)
@@ -713,8 +711,7 @@ def _run_interface(self, runtime):
713711
mx = shape[0]
714712
else:
715713
mx = 1
716-
for idx in range(0, mx):
717-
extrafieldlist.append(self.inputs.extra_field)
714+
extrafieldlist.extend(self.inputs.extra_field for idx in range(0, mx))
718715
iflogger.info(len(extrafieldlist))
719716
output[extraheading] = extrafieldlist
720717
iflogger.info(output)

nipype/algorithms/modelgen.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -473,15 +473,15 @@ def _generate_design(self, infolist=None):
473473
"""Generate design specification for a typical fmri paradigm"""
474474
realignment_parameters = []
475475
if isdefined(self.inputs.realignment_parameters):
476-
for parfile in self.inputs.realignment_parameters:
477-
realignment_parameters.append(
478-
np.apply_along_axis(
479-
func1d=normalize_mc_params,
480-
axis=1,
481-
arr=np.loadtxt(parfile),
482-
source=self.inputs.parameter_source,
483-
)
476+
realignment_parameters.extend(
477+
np.apply_along_axis(
478+
func1d=normalize_mc_params,
479+
axis=1,
480+
arr=np.loadtxt(parfile),
481+
source=self.inputs.parameter_source,
484482
)
483+
for parfile in self.inputs.realignment_parameters
484+
)
485485
outliers = []
486486
if isdefined(self.inputs.outlier_files):
487487
for filename in self.inputs.outlier_files:

nipype/interfaces/ants/registration.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -190,10 +190,11 @@ def _transformation_constructor(self):
190190
delta_time = self.inputs.delta_time
191191
symmetry_type = self.inputs.symmetry_type
192192
retval = ["--transformation-model %s" % model]
193-
parameters = []
194-
for elem in (step_length, time_step, delta_time, symmetry_type):
195-
if elem is not traits.Undefined:
196-
parameters.append("%#.2g" % elem)
193+
parameters = [
194+
"%#.2g" % elem
195+
for elem in (step_length, time_step, delta_time, symmetry_type)
196+
if elem is not traits.Undefined
197+
]
197198
if len(parameters) > 0:
198199
if len(parameters) > 1:
199200
parameters = ",".join(parameters)
@@ -1136,8 +1137,7 @@ def _format_registration(self):
11361137
retval = []
11371138
for ii in range(len(self.inputs.transforms)):
11381139
retval.append("--transform %s" % (self._format_transform(ii)))
1139-
for metric in self._format_metric(ii):
1140-
retval.append("--metric %s" % metric)
1140+
retval.extend("--metric %s" % metric for metric in self._format_metric(ii))
11411141
retval.append("--convergence %s" % self._format_convergence(ii))
11421142
if isdefined(self.inputs.sigma_units):
11431143
retval.append(

nipype/interfaces/ants/segmentation.py

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -805,16 +805,15 @@ def _list_outputs(self):
805805
os.getcwd(),
806806
self.inputs.out_prefix + "BrainSegmentation0N4." + self.inputs.image_suffix,
807807
)
808-
posteriors = []
809-
for i in range(len(self.inputs.segmentation_priors)):
810-
posteriors.append(
811-
os.path.join(
812-
os.getcwd(),
813-
self.inputs.out_prefix
814-
+ "BrainSegmentationPosteriors%02d." % (i + 1)
815-
+ self.inputs.image_suffix,
816-
)
808+
posteriors = [
809+
os.path.join(
810+
os.getcwd(),
811+
self.inputs.out_prefix
812+
+ "BrainSegmentationPosteriors%02d." % (i + 1)
813+
+ self.inputs.image_suffix,
817814
)
815+
for i in range(len(self.inputs.segmentation_priors))
816+
]
818817
outputs["BrainSegmentationPosteriors"] = posteriors
819818
outputs["CorticalThickness"] = os.path.join(
820819
os.getcwd(),
@@ -1480,15 +1479,13 @@ class JointFusion(ANTSCommand):
14801479

14811480
def _format_arg(self, opt, spec, val):
14821481
if opt == "exclusion_image_label":
1483-
retval = []
1484-
for ii in range(len(self.inputs.exclusion_image_label)):
1485-
retval.append(
1486-
"-e {}[{}]".format(
1487-
self.inputs.exclusion_image_label[ii],
1488-
self.inputs.exclusion_image[ii],
1489-
)
1482+
return " ".join(
1483+
"-e {}[{}]".format(
1484+
self.inputs.exclusion_image_label[ii],
1485+
self.inputs.exclusion_image[ii],
14901486
)
1491-
return " ".join(retval)
1487+
for ii in range(len(self.inputs.exclusion_image_label))
1488+
)
14921489
if opt == "patch_radius":
14931490
return f"-p {self._format_xarray(val)}"
14941491
if opt == "search_radius":

nipype/interfaces/base/core.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1047,10 +1047,11 @@ def __init__(self, check_import=True, *args, **kwargs):
10471047
if check_import:
10481048
import pkgutil
10491049

1050-
failed_imports = []
1051-
for pkg in (self._pkg,) + tuple(self.imports):
1052-
if pkgutil.find_loader(pkg) is None:
1053-
failed_imports.append(pkg)
1050+
failed_imports = [
1051+
pkg
1052+
for pkg in (self._pkg,) + tuple(self.imports)
1053+
if pkgutil.find_loader(pkg) is None
1054+
]
10541055
if failed_imports:
10551056
iflogger.warning(
10561057
"Unable to import %s; %s interface may fail to run",

nipype/interfaces/cmtk/cmtk.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -328,9 +328,11 @@ def cmat(
328328
else:
329329
final_fibers_indices = final_fibers_idx
330330

331-
for idx in final_fibers_indices:
331+
finalfiberlength.extend(
332332
# compute length of fiber
333-
finalfiberlength.append(length(fib[idx][0]))
333+
length(fib[idx][0])
334+
for idx in final_fibers_indices
335+
)
334336

335337
# convert to array
336338
final_fiberlength_array = np.array(finalfiberlength)
@@ -463,9 +465,7 @@ def cmat(
463465
def save_fibers(oldhdr, oldfib, fname, indices):
464466
"""Stores a new trackvis file fname using only given indices"""
465467
hdrnew = oldhdr.copy()
466-
outstreams = []
467-
for i in indices:
468-
outstreams.append(oldfib[i])
468+
outstreams = [oldfib[i] for i in indices]
469469
n_fib_out = len(outstreams)
470470
hdrnew["n_count"] = n_fib_out
471471
iflogger.info("Writing final non-orphan fibers as %s", fname)

nipype/interfaces/dipy/simulate.py

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -221,20 +221,17 @@ def _run_interface(self, runtime):
221221
mevals = [sf_evals] * nsticks + [[ba_evals[d]] * 3 for d in range(nballs)]
222222

223223
b0 = b0_im.get_fdata()[msk > 0]
224-
args = []
225-
for i in range(nvox):
226-
args.append(
227-
{
228-
"fractions": fracs[i, ...].tolist(),
229-
"sticks": [
230-
tuple(dirs[i, j : j + 3]) for j in range(nsticks + nballs)
231-
],
232-
"gradients": gtab,
233-
"mevals": mevals,
234-
"S0": b0[i],
235-
"snr": self.inputs.snr,
236-
}
237-
)
224+
args = [
225+
{
226+
"fractions": fracs[i, ...].tolist(),
227+
"sticks": [tuple(dirs[i, j : j + 3]) for j in range(nsticks + nballs)],
228+
"gradients": gtab,
229+
"mevals": mevals,
230+
"S0": b0[i],
231+
"snr": self.inputs.snr,
232+
}
233+
for i in range(nvox)
234+
]
238235

239236
n_proc = self.inputs.n_proc
240237
if n_proc == 0:

nipype/interfaces/freesurfer/preprocess.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -593,10 +593,10 @@ def _list_outputs(self):
593593
raise Exception(
594594
"Not taking frame manipulations into account- please warn the developers"
595595
)
596-
outfiles = []
597596
outfile = self._get_outfilename()
598-
for i in range(tp):
599-
outfiles.append(fname_presuffix(outfile, suffix="%03d" % (i + 1)))
597+
outfiles = [
598+
fname_presuffix(outfile, suffix="%03d" % (i + 1)) for i in range(tp)
599+
]
600600
outfile = outfiles
601601
outputs["out_file"] = outfile
602602
return outputs

nipype/interfaces/fsl/fix.py

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -105,11 +105,11 @@ class TrainingSetCreator(BaseInterface):
105105
_always_run = True
106106

107107
def _run_interface(self, runtime):
108-
mel_icas = []
109-
for item in self.inputs.mel_icas_in:
110-
if os.path.exists(os.path.join(item, "hand_labels_noise.txt")):
111-
mel_icas.append(item)
112-
108+
mel_icas = [
109+
item
110+
for item in self.inputs.mel_icas_in
111+
if os.path.exists(os.path.join(item, "hand_labels_noise.txt"))
112+
]
113113
if len(mel_icas) == 0:
114114
raise Exception(
115115
"%s did not find any hand_labels_noise.txt files in the following directories: %s"
@@ -119,10 +119,11 @@ def _run_interface(self, runtime):
119119
return runtime
120120

121121
def _list_outputs(self):
122-
mel_icas = []
123-
for item in self.inputs.mel_icas_in:
124-
if os.path.exists(os.path.join(item, "hand_labels_noise.txt")):
125-
mel_icas.append(item)
122+
mel_icas = [
123+
item
124+
for item in self.inputs.mel_icas_in
125+
if os.path.exists(os.path.join(item, "hand_labels_noise.txt"))
126+
]
126127
outputs = self._outputs().get()
127128
outputs["mel_icas_out"] = mel_icas
128129
return outputs

0 commit comments

Comments
 (0)