Skip to content

Pipelines are an extension for 3DSlicer that will offer the ability to create simple modules (aka pipelines) via a GUI interface with no coding knowledge needed.

License

Notifications You must be signed in to change notification settings

KitwareMedical/SlicerPipelines

Repository files navigation

SlicerPipelines

SlicerPipelines is an extension for 3D Slicer for creating and executing simple modules (aka pipelines) via a GUI interface with no coding knowledge needed.

SlicerPipelines Logo

Overview

The SlicerPipelines extension allows to create and execute simple linear workflows using the PipelineCreator and the PipelineCaseIterator modules.

The design and implementation of this extension was initially motivated to simplify the creation of shape analysis workflow specific to the SlicerSALT community.

Features

  • Simple: Create and execute pipelines with a few clicks.
  • Composable: Pipelines are themselves modules available as "steps" to create new pipelines.
  • Extensible: Regular Slicer module modules, python functions, or executable can be registered as pipeline steps.

Modules

Name Description
PipelineCreator Allows for the creation of pipelines via a GUI interface.
PipelineCaseIterator Allows for automated running of a pipeline over data in a csv file via a GUI interface
PipelineModules Support the registration of "wrappers" providing the steps used in the creation of pipelines by the PipelineCreator module.

⚠️ This extension is under active development. Its content, API and behavior may change at any time.

Quick Start

Creating a pipeline using the Pipeline Creator module

  1. To add steps to your pipeline, press the Add Step button in the Pipeline Creator. This will show a window where you can select the item you want to add.
  2. Pick the item you want, it will be added as a step to your pipeline.
  3. For each parameter you decide wether you want its value to be fixed to a given value, refer to an output of a previous step, or be set by the user at runtime. You can add parameters to be set by the user by pressing the + button in Step 0 - Inputs.
  4. You need to repeat this process until the pipeline has all the steps in your workflow.
  5. Once all the steps have been appropriately captured in your pipeline interface, you can fill in the remaining fields like name and output directory.
  6. Press Test Pipeline to make sure the pipeline is valid.
  7. Press Generate Pipeline and the pipeline will be created.

💡 You should be able to find your new pipeline in the modules dropdown under a Pipeline Modules folder, as well as in the Add Step pop up of the Pipeline Creator, so you can use the new module as a piece in a future pipeline.

Running a pipeline using the Pipeline Case Iterator module

  1. Select the pipeline you want to run in the Pipeline Case Iterator module.
  2. Select the csv file containing the cases you want to run the pipeline on. If this is the first time you are running the pipeline, you can use the Template Parameter File button to create a stub csv file, for types that are nodes an path to the file should be given.
  3. Select the output directory where you want the results to be saved. The output directory will contain all the results of the pipeline, as well as a .csv file with the appropriate input and output parameters for each row.
  4. Optionally select an output extension for the files generated by the pipeline. A prefix and suffix and an timestamp can also be added to the output files.
  5. Press Run to run the pipeline on all the cases in the csv file.

Screenshots

PipelineCreator - overview PipelineCreator - step adding step
PipelineCreator depicting a pipelines composed of three SegmentEditor steps Thresholding, Smoothing and Island. Popup dialog for adding a pipeline step in the PipelineCreator module.
PipelineCaseIterator - overview
PipelineCaseIterator showing the progress toward the execution of a pipeline over 27 cases.

Resources

To learn more about Slicer, SlicerSALT, and Slicer extensions, check out the following resources.

License

This software is licensed under the terms of the Apache Licence Version 2.0.

About

Pipelines are an extension for 3DSlicer that will offer the ability to create simple modules (aka pipelines) via a GUI interface with no coding knowledge needed.

Topics

Resources

License

Stars

Watchers

Forks