Skip to content

WIP: Interfaced Workflows and GraftWorkflow #882

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 50 commits into from

Conversation

oesteban
Copy link
Contributor

These workflows provide automatic input/output nodes generation, with some other utilities such as fast connection (avoiding to specify the connecting fields).

GraftWorkflow is intended to create evaluation workflows, where all the inputs are the same but several different methods are to be compared, stacking the outputs in lists.

download

Two additional interfaces have been coded: CollateInterface and MultipleSelectInterface. These interfaces multiplex/demultiplex outputs/inputs respectively.

  • InterfacedWorkflow class
  • GraftWorkflow class
  • CollateInterface and MultipleSelectInterface (mux/demuxer)
  • doctests
  • regression tests
  • open new experimental modules within distribution
  • documentation, on the same vein of iterables, mapnodes, etc

EDIT [Dec 31, 2015]:
After commenting with @chrisfilo, we have added the following features/requirements for this PR:

  • Making InterfacedWorkflows a true blackbox (like Nodes are):
    • Do not expose (in/out)putports of internal nodes as inputs/outputs
    • Do not allow inserting sub-workflows with connections to external nodes.

Once we get these InterfacedWorkflows to work, we will then focus on #1299.

@coveralls
Copy link

Coverage Status

Coverage increased (+0.06%) when pulling 49853ac on oesteban:enh/GraftWorkflow into 87b0279 on nipy:master.

It doesn't derive from IdentityInterface anymore (caused node removal
in workflows).

Also applied improved dynamictraited interfaces checking in workflows.
@coveralls
Copy link

Coverage Status

Coverage increased (+0.06%) when pulling 79d1024 on oesteban:enh/GraftWorkflow into 87b0279 on nipy:master.

@coveralls
Copy link

Coverage Status

Coverage increased (+0.06%) when pulling 967d5b8 on oesteban:enh/GraftWorkflow into 87b0279 on nipy:master.

@coveralls
Copy link

Coverage Status

Coverage increased (+0.06%) when pulling f7fe305 on oesteban:enh/GraftWorkflow into 87b0279 on nipy:master.

@coveralls
Copy link

Coverage Status

Coverage increased (+0.09%) to 70.55% when pulling bdb50ce on oesteban:enh/GraftWorkflow into b315a96 on nipy:master.

@coveralls
Copy link

Coverage Status

Coverage increased (+0.06%) to 70.53% when pulling b8415b4 on oesteban:enh/GraftWorkflow into b315a96 on nipy:master.

@oesteban
Copy link
Contributor Author

Edited general description of this PR

@djarecka
Copy link
Collaborator

@oesteban - are you still working on this pr?

@oesteban
Copy link
Contributor Author

I'll reopen if I find the time to finish up.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants