Edit this page

NA-MIC Project Weeks

Back to Projects List


Key Investigators

Project Description

Back in Project week 36, the SlicerPipelines extension was developed to allow GUI creation of simple modules, known as pipelines, in 3D Slicer. An initial set of pipelines were added which could be composed to make new functionality.

This implementation had a number of limitations, most prominent being a pipeline could only have a single MRML node as input and a single MRML node as output.

This project aims to address the limitations of the current PipelineCreator module by allowing multiple input, multiple output of pipelines, as well allowing cross step connections.


  1. Allow multiple inputs to a pipeline (MRML node or other objects).
  2. Allow multiple outputs from a pipeline.
  3. Make current non-pipeline modules easier to put into the pipeline system.

Approach and Plan

  1. Refactor the current way pipelines are described to be simpler.
  2. Use pieces from the parameterNodeWrapper to simplify implementation.
    1. The parameterPacks can be used to allow structured output of a pipeline (which is analogous to multiple output)
  3. Make a minimum usable GUI for creation of new pipelines via composition of existing pipelines.

Progress and Next Steps

  1. Collaborate on user interfaces.
  2. Impelement PipelineCreator logic for making a new pipeline with multiple input nodes.
  3. Work on user interface implementation.


Notional pipeline creator UI

Notional pipeline creator UI

Autogenerated pipeline UI for test pipeline

Autogenerated pipeline UI

Background and References