# Running a Module in Parallel

**URL:** <https://discourse.slicer.org/t/running-a-module-in-parallel/12641>\
**Category:** Development\
**Tags:** segmentation, dicom, python, module\
**Created:** [July 20, 2020, 2:12pm UTC](https://discourse.slicer.org/t/running-a-module-in-parallel/12641 "2020-07-20T14:12:34Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![pieper](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/pieper/32/8_2.png) [@pieper](https://discourse.slicer.org/u/pieper)\
**Post date:** [July 20, 2020, 3:57pm UTC](https://discourse.slicer.org/t/running-a-module-in-parallel/12641/3 "2020-07-20T15:57:23Z")

</div>

Another option is to start an independent PythonSlicer process and pass over the data it needs. The SlicerProcess module does this using pickle and stdio, making it pretty efficient. The nice thing is that you get a complete slicer python environment with all the same libraries but independent of mrml and the GUI.

> **[GitHub - pieper/SlicerProcesses: redirect for old SlicerProcessing repo](https://github.com/pieper/SlicerProcesses)**
>
> redirect for old SlicerProcessing repo. Contribute to pieper/SlicerProcesses development by creating an account on GitHub.

> [@Thread for uploading data](https://discourse.slicer.org/t/thread-for-uploading-data/10185/14):
>
> The current SlicerProcesses code isn’t set up for progress reporting. There could be lots of ways to do it, Slicer CLI modules use a convention of embedding xml snippets in the output that triggers automatic progress updates in the GUI. Another option would be to set up a connection like OpenIGTLink to pass data. Or one could create a custom network protocol.

---

_[View the full topic](https://discourse.slicer.org/t/running-a-module-in-parallel/12641)._
