コード例 #1
0
ファイル: engine.py プロジェクト: danginsburg/nipype
 def _get_outputs(self):
     outputdict = TraitedSpec()
     for node in self._graph.nodes():
         outputdict.add_trait(node.name, traits.Instance(TraitedSpec))
         if isinstance(node, Workflow):
             setattr(outputdict, node.name, node.outputs)
         else:
             outputs = TraitedSpec()
             for key, _ in node.outputs.items():
                 outputs.add_trait(key, traits.Any(node=node))
                 setattr(outputs, key, None)
             setattr(outputdict, node.name, outputs)
     return outputdict
コード例 #2
0
ファイル: engine.py プロジェクト: danginsburg/nipype
 def _get_inputs(self):
     inputdict = TraitedSpec()
     for node in self._graph.nodes():
         inputdict.add_trait(node.name, traits.Instance(TraitedSpec))
         if isinstance(node, Workflow):
             setattr(inputdict, node.name, node.inputs)
         else:
             taken_inputs = []
             for _, _, d in self._graph.in_edges_iter(nbunch=node, data=True):
                 for cd in d['connect']:
                     taken_inputs.append(cd[1])
             unconnectedinputs = TraitedSpec()
             for key, trait in node.inputs.items():
                 if key not in taken_inputs:
                     unconnectedinputs.add_trait(key, traits.Trait(trait, node=node))
                     value = getattr(node.inputs, key)
                     setattr(unconnectedinputs, key, value)
             setattr(inputdict, node.name, unconnectedinputs)
             getattr(inputdict, node.name).on_trait_change(self._set_input)
     return inputdict