Hi everyone,
I use the susan_smooth workflow, on 8 functional task runs per subject. Now I want to examine the effects of different smoothing kernels, which I define as follows:
from nipype.workflows.fmri.fsl import create_susan_smooth
susan = create_susan_smooth()
susan.inputs.inputnode.fwhm = [4,6,8]
This works fine and I get 8 (runs) x 3 (fwhm levels) = 24 files as a result of the smoothing node.
Now I want to merge all 8 runs smoothed by each of the corresponding smoothing fwhm levels.
I assumed that a JoinNode
would be the way to do it, maybe similar to this:
from nipype.interfaces.fsl import Merge
merge = pe.JoinNode(interface=Merge(), name='merge', joinfield=['in_files'], joinsource='???????')
However, it simply does not work and I suspect that it has to do with how the joinsource
argument is defined. I tried joinsource='susan'
, joinsource='susan.smooth.fwhm'
, joinsource='susan.smooth'
but nothing seems to work. Could it be that the JoinNode
only works if one iterable
is defined per node? Because in the susan_smooth
workflow the smooth
node is defined as:
smooth = pe.MapNode(
interface=fsl.SUSAN(),
iterfield=['in_file', 'brightness_threshold', 'usans', 'fwhm'], name='smooth')
So the JoinNode
does not know which iterables to join?
I know this seems like a simple problem to solve, but I am stuck on this.
Thanks in advance for your help!