# Run Slicer module functions on an external server

**URL:** <https://discourse.slicer.org/t/run-slicer-module-functions-on-an-external-server/15512>\
**Category:** Support\
**Created:** [January 13, 2021, 7:25pm UTC](https://discourse.slicer.org/t/run-slicer-module-functions-on-an-external-server/15512 "2021-01-13T19:25:23Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![sthirumal](https://avatars.discourse-cdn.com/v4/letter/s/a5b964/32.png) [@sthirumal](https://discourse.slicer.org/u/sthirumal)\
**Post date:** [January 13, 2021, 7:25pm UTC](https://discourse.slicer.org/t/run-slicer-module-functions-on-an-external-server/15512/1 "2021-01-13T19:25:23Z")

</div>

I’ve created a Module in Slicer that includes some functions that are very computationally intensive. Given we already have a more computationally powerful server available to us, is there a way that we can run these functions on that server rather than the local computer?

---

<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:** [January 13, 2021, 10:51pm UTC](https://discourse.slicer.org/t/run-slicer-module-functions-on-an-external-server/15512/2 "2021-01-13T22:51:41Z")

</div>

Yes, maybe - can you describe how the computationally complex modules are implemented? (Are they in C++ or python? loadable or cli modules? do they interact with the scene or process bulk data like volume or model?)

---

<div class="post-metadata">

**Author:** ![sthirumal](https://avatars.discourse-cdn.com/v4/letter/s/a5b964/32.png) [@sthirumal](https://discourse.slicer.org/u/sthirumal)\
**Post date:** [January 14, 2021, 7:47pm UTC](https://discourse.slicer.org/t/run-slicer-module-functions-on-an-external-server/15512/3 "2021-01-14T19:47:14Z")

</div>

Hi Steve, sure! It’s a loadable module implemented in python. It processes bulk data of a large number of loaded volumes. It essentially is extracting values of each pixel in each volume and performing some function on those values, so the higher number of volumes the longer it takes. The output is a table of the extracted data.

---

<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:** [January 14, 2021, 7:51pm UTC](https://discourse.slicer.org/t/run-slicer-module-functions-on-an-external-server/15512/4 "2021-01-14T19:51:44Z")

</div>

This [SlicerProcesses](https://github.com/pieper/SlicerProcesses) proof of concepts shows how to route data to helper processes, and if you prefix the command line with ssh to a machine where Slicer is installed it can run (many kinds of processing could be run headless). Then you would get the results back in your local Slicer for viewing.

---

<div class="post-metadata">

**Author:** ![sthirumal](https://avatars.discourse-cdn.com/v4/letter/s/a5b964/32.png) [@sthirumal](https://discourse.slicer.org/u/sthirumal)\
**Post date:** [January 14, 2021, 8:42pm UTC](https://discourse.slicer.org/t/run-slicer-module-functions-on-an-external-server/15512/5 "2021-01-14T20:42:25Z")

</div>

I’ll take a look, thanks so much!
