https://github.com/kitwaremedical/slicerpipelines
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.
https://github.com/kitwaremedical/slicerpipelines
3d-slicer-extension
Last synced: about 1 year ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/kitwaremedical/slicerpipelines
- Owner: KitwareMedical
- License: apache-2.0
- Created: 2021-10-15T12:41:10.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-04-23T16:16:05.000Z (about 2 years ago)
- Last Synced: 2025-04-10T10:41:01.930Z (about 1 year ago)
- Topics: 3d-slicer-extension
- Language: Python
- Homepage:
- Size: 1.02 MB
- Stars: 5
- Watchers: 12
- Forks: 7
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
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.
## 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](PipelineCreator) | Allows for the creation of pipelines via a GUI interface. |
| [PipelineCaseIterator](PipelineCaseIterator) | Allows for automated running of a pipeline over data in a csv file via a GUI interface |
| [PipelineModules](PipelineModules) | Support the registration of "wrappers" providing the steps used in the creation of pipelines by the `PipelineCreator` module. |
_:warning: 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`.
3. You need to **repeat** this process until the pipeline has all the steps in your workflow.
4. Once all the steps have been appropriately captured in your pipeline interface, you can **fill in the remaining fields** like name and output directory.
5. Press **Test Pipeline** to make sure the pipeline is valid.
6. Press **Generate Pipeline** and the pipeline will be created.
:bulb: 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 depicting a pipelines composed of three `SegmentEditor` steps `Thresholding`, `Smoothing` and `Island`._ | _Popup dialog for adding a pipeline step in the PipelineCreator module._ |
|  |
|--|
| _`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.
- https://slicer.readthedocs.io/en/latest/
- https://salt.slicer.org/
- https://slicer.readthedocs.io/en/latest/user_guide/extensions_manager.html
## License
This software is licensed under the terms of the [Apache Licence Version 2.0](LICENSE).