Skip to content

Commit 07af08f

Browse files
authored
Merge pull request #3260 from HippocampusGirl/workflow-flatgraph-performance
[ENH] Optimize workflow.run performance
2 parents a42b40b + d5a88de commit 07af08f

File tree

1 file changed

+2
-16
lines changed

1 file changed

+2
-16
lines changed

nipype/pipeline/engine/workflows.py

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -834,20 +834,6 @@ def _check_is_already_connected(workflow, node, attrname):
834834

835835
return True
836836

837-
def _get_parameter_node(self, parameter, subtype="in"):
838-
"""Returns the underlying node corresponding to an input or
839-
output parameter
840-
"""
841-
if subtype == "in":
842-
subobject = self.inputs
843-
else:
844-
subobject = self.outputs
845-
attrlist = parameter.split(".")
846-
cur_out = subobject
847-
for attr in attrlist[:-1]:
848-
cur_out = getattr(cur_out, attr)
849-
return cur_out.traits()[attrlist[-1]].node
850-
851837
def _check_outputs(self, parameter):
852838
return self._has_attr(parameter, subtype="out")
853839

@@ -976,7 +962,7 @@ def _generate_flatgraph(self):
976962
logger.debug("in: connections-> %s", str(d["connect"]))
977963
for cd in deepcopy(d["connect"]):
978964
logger.debug("in: %s", str(cd))
979-
dstnode = node._get_parameter_node(cd[1], subtype="in")
965+
dstnode = node.get_node(cd[1].rsplit(".", 1)[0])
980966
srcnode = u
981967
srcout = cd[0]
982968
dstin = cd[1].split(".")[-1]
@@ -996,7 +982,7 @@ def _generate_flatgraph(self):
996982
parameter = cd[0][0]
997983
else:
998984
parameter = cd[0]
999-
srcnode = node._get_parameter_node(parameter, subtype="out")
985+
srcnode = node.get_node(parameter.rsplit(".", 1)[0])
1000986
if isinstance(cd[0], tuple):
1001987
srcout = list(cd[0])
1002988
srcout[0] = parameter.split(".")[-1]

0 commit comments

Comments
 (0)