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.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')
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!