Skip to content

Commit 3c6dd9e

Browse files
authored
Merge pull request #741 from nipreps/enh/robust-avg-output-realigned
FIX: Missing outputs in ``RobustAverage``
2 parents 959bed7 + 5c93649 commit 3c6dd9e

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

niworkflows/interfaces/images.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,7 @@ class _RobustAverageInputSpec(BaseInterfaceInputSpec):
225225
nonnegative = traits.Bool(
226226
True, usedefault=True, desc="whether the output should be clipped below zero"
227227
)
228+
num_threads = traits.Int(desc="number of threads")
228229

229230

230231
class _RobustAverageOutputSpec(TraitedSpec):
@@ -234,6 +235,7 @@ class _RobustAverageOutputSpec(TraitedSpec):
234235
traits.Float, desc="the ratio to the grand mean or global signal drift"
235236
)
236237
out_hmc = OutputMultiObject(File(exists=True), desc="head-motion correction matrices")
238+
out_hmc_volumes = OutputMultiObject(File(exists=True), desc="head-motion correction volumes")
237239

238240

239241
class RobustAverage(SimpleInterface):
@@ -319,13 +321,18 @@ def _run_interface(self, runtime):
319321
if self.inputs.mc_method == "AFNI":
320322
from nipype.interfaces.afni import Volreg
321323

322-
res = Volreg(
324+
volreg = Volreg(
323325
in_file=self._results["out_volumes"],
324-
args="-Fourier -twopass",
326+
interp="Fourier",
327+
args="-twopass",
325328
zpad=4,
326329
outputtype="NIFTI_GZ",
327-
).run()
328-
# self._results["out_hmc"] = res.outputs.oned_matrix_save
330+
)
331+
if isdefined(self.inputs.num_threads):
332+
volreg.inputs.num_threads = self.inputs.num_threads
333+
334+
res = volreg.run()
335+
self._results["out_hmc"] = res.outputs.oned_matrix_save
329336

330337
elif self.inputs.mc_method == "FSL":
331338
from nipype.interfaces.fsl import MCFLIRT
@@ -338,6 +345,7 @@ def _run_interface(self, runtime):
338345
self._results["out_hmc"] = res.outputs.mat_file
339346

340347
if self.inputs.mc_method:
348+
self._results["out_hmc_volumes"] = res.outputs.out_file
341349
data = nb.load(res.outputs.out_file).get_fdata(dtype="float32")
342350

343351
data = np.clip(

0 commit comments

Comments
 (0)