From 9cba432b53758dbb2a03322d9e17b8619c6e521e Mon Sep 17 00:00:00 2001 From: mathiasg Date: Mon, 7 Nov 2016 14:04:32 -0500 Subject: [PATCH 1/8] fix: grab only iterables for join node --- nipype/pipeline/engine/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nipype/pipeline/engine/utils.py b/nipype/pipeline/engine/utils.py index 29098e0ebf..320cbf40fa 100644 --- a/nipype/pipeline/engine/utils.py +++ b/nipype/pipeline/engine/utils.py @@ -796,7 +796,7 @@ def make_field_func(*pair): expansions = defaultdict(list) for node in graph_in.nodes_iter(): for src_id, edge_data in list(old_edge_dict.items()): - if node._id.startswith(src_id): + if node._id.startswith(src_id + '.'): expansions[src_id].append(node) for in_id, in_nodes in list(expansions.items()): logger.debug("The join node %s input %s was expanded" From 261760c9ed0e0e4033fb048c624b1bc5f44e0d51 Mon Sep 17 00:00:00 2001 From: mathiasg Date: Mon, 7 Nov 2016 14:10:42 -0500 Subject: [PATCH 2/8] test: adding full join node name --- nipype/pipeline/engine/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nipype/pipeline/engine/utils.py b/nipype/pipeline/engine/utils.py index 320cbf40fa..a2d5465999 100644 --- a/nipype/pipeline/engine/utils.py +++ b/nipype/pipeline/engine/utils.py @@ -711,7 +711,7 @@ def generate_expanded_graph(graph_in): in_edges = jedge_dict[jnode] = {} edges2remove = [] for src, dest, data in graph_in.in_edges_iter(jnode, True): - in_edges[src._id] = data + in_edges[src.fullname] = data edges2remove.append((src, dest)) for src, dest in edges2remove: From dd653fe2c7ff06e3e04aceb930072dffc5b6f4f1 Mon Sep 17 00:00:00 2001 From: mathiasg Date: Mon, 7 Nov 2016 14:26:22 -0500 Subject: [PATCH 3/8] fix: check hierarchy --- nipype/pipeline/engine/utils.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/nipype/pipeline/engine/utils.py b/nipype/pipeline/engine/utils.py index a2d5465999..f9da454858 100644 --- a/nipype/pipeline/engine/utils.py +++ b/nipype/pipeline/engine/utils.py @@ -711,7 +711,7 @@ def generate_expanded_graph(graph_in): in_edges = jedge_dict[jnode] = {} edges2remove = [] for src, dest, data in graph_in.in_edges_iter(jnode, True): - in_edges[src.fullname] = data + in_edges[src._id] = data edges2remove.append((src, dest)) for src, dest in edges2remove: @@ -796,7 +796,8 @@ def make_field_func(*pair): expansions = defaultdict(list) for node in graph_in.nodes_iter(): for src_id, edge_data in list(old_edge_dict.items()): - if node._id.startswith(src_id + '.'): + if node._id.startswith(src_id) and + jnode._hierarchy in node._hierarchy: expansions[src_id].append(node) for in_id, in_nodes in list(expansions.items()): logger.debug("The join node %s input %s was expanded" From 18f987cfebd52c1c4dce352acfa5e755fc2e50ef Mon Sep 17 00:00:00 2001 From: mathiasg Date: Mon, 7 Nov 2016 14:31:59 -0500 Subject: [PATCH 4/8] fix: formatting --- nipype/pipeline/engine/utils.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nipype/pipeline/engine/utils.py b/nipype/pipeline/engine/utils.py index f9da454858..b314b506a6 100644 --- a/nipype/pipeline/engine/utils.py +++ b/nipype/pipeline/engine/utils.py @@ -796,8 +796,8 @@ def make_field_func(*pair): expansions = defaultdict(list) for node in graph_in.nodes_iter(): for src_id, edge_data in list(old_edge_dict.items()): - if node._id.startswith(src_id) and - jnode._hierarchy in node._hierarchy: + if (node._id.startswith(src_id) and + jnode._hierarchy in node._hierarchy): expansions[src_id].append(node) for in_id, in_nodes in list(expansions.items()): logger.debug("The join node %s input %s was expanded" From 90e22874278a8ffe95d22b9a58f1cae3b5fae5c7 Mon Sep 17 00:00:00 2001 From: mathiasg Date: Mon, 7 Nov 2016 16:00:34 -0500 Subject: [PATCH 5/8] fix: match exact node name --- nipype/pipeline/engine/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nipype/pipeline/engine/utils.py b/nipype/pipeline/engine/utils.py index b314b506a6..71d0543719 100644 --- a/nipype/pipeline/engine/utils.py +++ b/nipype/pipeline/engine/utils.py @@ -796,7 +796,7 @@ def make_field_func(*pair): expansions = defaultdict(list) for node in graph_in.nodes_iter(): for src_id, edge_data in list(old_edge_dict.items()): - if (node._id.startswith(src_id) and + if (node._id == src_id and jnode._hierarchy in node._hierarchy): expansions[src_id].append(node) for in_id, in_nodes in list(expansions.items()): From 4457e2c811e11ca93ea3a85b9aeb1a21f7eec9d8 Mon Sep 17 00:00:00 2001 From: mathiasg Date: Mon, 7 Nov 2016 16:37:12 -0500 Subject: [PATCH 6/8] test: revert to startswith --- nipype/pipeline/engine/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nipype/pipeline/engine/utils.py b/nipype/pipeline/engine/utils.py index 71d0543719..8b18465634 100644 --- a/nipype/pipeline/engine/utils.py +++ b/nipype/pipeline/engine/utils.py @@ -796,7 +796,7 @@ def make_field_func(*pair): expansions = defaultdict(list) for node in graph_in.nodes_iter(): for src_id, edge_data in list(old_edge_dict.items()): - if (node._id == src_id and + if (node._id.startswith(src_id + '.') and jnode._hierarchy in node._hierarchy): expansions[src_id].append(node) for in_id, in_nodes in list(expansions.items()): From 9dcfe97be3db0aa1be68caff60dbbfc35048819a Mon Sep 17 00:00:00 2001 From: mathiasg Date: Wed, 9 Nov 2016 16:40:48 -0500 Subject: [PATCH 7/8] fix: removed hierarchy --- nipype/pipeline/engine/utils.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/nipype/pipeline/engine/utils.py b/nipype/pipeline/engine/utils.py index 8b18465634..762e3f0dee 100644 --- a/nipype/pipeline/engine/utils.py +++ b/nipype/pipeline/engine/utils.py @@ -796,8 +796,7 @@ def make_field_func(*pair): expansions = defaultdict(list) for node in graph_in.nodes_iter(): for src_id, edge_data in list(old_edge_dict.items()): - if (node._id.startswith(src_id + '.') and - jnode._hierarchy in node._hierarchy): + if (node._id.startswith(src_id + '.aI'): expansions[src_id].append(node) for in_id, in_nodes in list(expansions.items()): logger.debug("The join node %s input %s was expanded" From cc67d9a7efe00c26bd419cc1d72f9fdaca115519 Mon Sep 17 00:00:00 2001 From: mathiasg Date: Wed, 9 Nov 2016 16:50:04 -0500 Subject: [PATCH 8/8] fix: removed aI --- nipype/pipeline/engine/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nipype/pipeline/engine/utils.py b/nipype/pipeline/engine/utils.py index 762e3f0dee..09b4a4d1f0 100644 --- a/nipype/pipeline/engine/utils.py +++ b/nipype/pipeline/engine/utils.py @@ -796,7 +796,7 @@ def make_field_func(*pair): expansions = defaultdict(list) for node in graph_in.nodes_iter(): for src_id, edge_data in list(old_edge_dict.items()): - if (node._id.startswith(src_id + '.aI'): + if (node._id.startswith(src_id + '.')): expansions[src_id].append(node) for in_id, in_nodes in list(expansions.items()): logger.debug("The join node %s input %s was expanded"