Except that I have two outputs instead of four. Anyhow, my two outputs that comes from node A should go to fsl’s BET node and then to a DAtasink Node I wanna write it like this:
I’ve ran into this a few times as well, and it happens when I have similar inputs that I want to run through the same pipeline.
If Node A gives two distinct outputs, then I would probably want to keep them separate throughout the rest of the pipeline so I can keep track of those outputs separately.
I’m assuming out_file1 and out_file2 from node A are both lists of images.
Hi @jdkent! Thank you for taking your time and helping me.
Yes you’re right, out_file1 and out_file2 is a list of images and I do see the point of having tho distinct nodes to keep track of what’s going on.
Though, with your example code I don’t really see the point of using MapNode since it’s not iterated and you create a second node (BET_2). Isn’t this the same as using to BET-nodes with the same settings?
Assuming out_file1 is a list of images, MapNode will iterate over each of the files listed in out_file1 and treat each one as an input to the BET_1 node.
yes, you are correct that creating two BET nodes with the same settings is the same as cloning a BET node, but the benefit of cloning is that if you decided to change the settings of the BET nodes, you would only have to change the code in one place instead of two.
To directly answer your question, you should create a merge node that combines out_file1 and out_file2 of node A, and then passes the output list to the BET MapNode.