# Make Slicer simpler to use for new users

**URL:** <https://discourse.slicer.org/t/make-slicer-simpler-to-use-for-new-users/5059>\
**Category:** Support\
**Created:** [December 12, 2018, 6:46pm UTC](https://discourse.slicer.org/t/make-slicer-simpler-to-use-for-new-users/5059 "2018-12-12T18:46:18Z")\
**Posts on this page:** 13\
**Page:** 2

<div class="post-metadata">

**Author:** ![avarghes23](https://avatars.discourse-cdn.com/v4/letter/a/a9a28c/32.png) [@avarghes23](https://discourse.slicer.org/u/avarghes23)\
**Post date:** [December 17, 2018, 10:28pm UTC](https://discourse.slicer.org/t/make-slicer-simpler-to-use-for-new-users/5059/21 "2018-12-17T22:28:32Z")

</div>

> [@Exporting DICOM directory after segmenting lesion](https://discourse.slicer.org/t/exporting-dicom-directory-after-segmenting-lesion/5082/15):
>
> You can start Slicer with a script that hides all user interface elements that you don’t need. Maybe it could be then considered as a “simple DICOM viewer”. You can also run it in a docker container and make it available in a web browser (you then don’t even need to install anything).

I might have to explore that option then. Would it similar to the “Slicelets” mentioned in this post?

> [@Is it possible to create a standalone application with 3D slicer and run it without 3D Slicer launching?](https://discourse.slicer.org/t/is-it-possible-to-create-a-standalone-application-with-3d-slicer-and-run-it-without-3d-slicer-launching/5056):
>
> Operating system: win 10 Slicer version: 4.8 Expected behavior: Actual behavior: Hi Guys, Is it possible to create a standalone application with 3D slicer and run it without 3D Slicer launching? I mean the application can works in other computers without 3D Slicer. Thanks a lot!

Then I should be able to make a standalone application that has the four up view and the segmentations/segment editor module. Is that possible? I’m familiar with basic coding but not too familiar with Python so I’m also wondering how feasible this would be for me to get set up.

---

<div class="post-metadata">

**Author:** ![ihnorton](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/ihnorton/32/9_2.png) [@ihnorton](https://discourse.slicer.org/u/ihnorton)\
**Post date:** [December 18, 2018, 3:02pm UTC](https://discourse.slicer.org/t/make-slicer-simpler-to-use-for-new-users/5059/22 "2018-12-18T15:02:31Z")

</div>

> [@Exporting DICOM directory after segmenting lesion](https://discourse.slicer.org/t/exporting-dicom-directory-after-segmenting-lesion/5082/15):
>
> How difficult would it be to make VNC access available for Slicer running using binder? Slicer could then work pretty well as a web-based DICOM viewer.

Mybinder tightly restricts connections – for understandable reasons. There is a prototype extension called [nbnovnc](https://github.com/ryanlovett/nbnovnc) which facilitates VNC over a websocket within Jupyter. I have an updated dockerfile which integrates and launches that, but found out nbnovnc is incompatible with current pip versions of various dependencies (and doesn’t seem to be actively maintained). I haven’t had a chance to dig in and try to fix this yet (might be possible to just pin to older versions, but some discussion on their issue tracker suggested it was not so simple).

---

<div class="post-metadata">

**Author:** ![fedorov](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/fedorov/32/14_2.png) [@fedorov](https://discourse.slicer.org/u/fedorov)\
**Post date:** [December 18, 2018, 3:19pm UTC](https://discourse.slicer.org/t/make-slicer-simpler-to-use-for-new-users/5059/23 "2018-12-18T15:19:19Z")

</div>

> [@Exporting DICOM directory after segmenting lesion](https://discourse.slicer.org/t/exporting-dicom-directory-after-segmenting-lesion/5082/15):
>
> How difficult would it be to make VNC access available for Slicer running using binder? Slicer could then work pretty well as a web-based DICOM viewer.

I think in most cases users want a desktop/client-side viewer. I don’t think binder+VNC would replace this need, especially considering PHI. Users of Slicer have been asking for a quick image viewer for as long as I can remember. I think it might be worthwhile to consider a slicelet or some other customization that would deliver such functionality.

---

<div class="post-metadata">

**Author:** ![lassoan](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/lassoan/32/13_2.png) [@lassoan](https://discourse.slicer.org/u/lassoan)\
**Post date:** [December 18, 2018, 5:30pm UTC](https://discourse.slicer.org/t/make-slicer-simpler-to-use-for-new-users/5059/24 "2018-12-18T17:30:42Z")

</div>

> [@Exporting DICOM directory after segmenting lesion](https://discourse.slicer.org/t/exporting-dicom-directory-after-segmenting-lesion/5082/18):
>
> I think in most cases users want a desktop/client-side viewer. I don’t think binder+VNC would replace this need, especially considering PHI.

Images would be pulled from a provided URL on the fly. For sensitive data or faster performance a local JupyterHub installation can be used, too (it’s been set up like that in Children’s Hospital of Philadelphia to allow researchers to use shared GPU cluster from Jupyter notebooks).

Desktop viewer is even simpler, as there is no need for setting up remote desktop.

For example, [this script](https://gist.github.com/lassoan/7d4cec3012155e2597ee3f47157f0a65) shows a this simplified user interface:

 ![image](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/d/0/d0881b7a7c85529bef93b50779a8b8b907819680.jpeg)

Simplifications:

- Hide module panel - show a subject hierarchy tree instead
- Hide push-pin icon in slice views (volumes can be shown/hidden using the data tree)
- Toolbars are hidden (they can be re-enabled using menu)

---

<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:** [December 18, 2018, 6:31pm UTC](https://discourse.slicer.org/t/make-slicer-simpler-to-use-for-new-users/5059/25 "2018-12-18T18:31:11Z")

</div>

The nice part is that any simple viewer setup that works well on the desktop is also usable in the docker/novnc environment.

---

<div class="post-metadata">

**Author:** ![avarghes23](https://avatars.discourse-cdn.com/v4/letter/a/a9a28c/32.png) [@avarghes23](https://discourse.slicer.org/u/avarghes23)\
**Post date:** [December 20, 2018, 5:07pm UTC](https://discourse.slicer.org/t/make-slicer-simpler-to-use-for-new-users/5059/26 "2018-12-20T17:07:47Z")

</div>

That SimpleView screenshot looks perfect for my needs. Could somebody please tell how to execute that SimpleView.py script. I believe that would be a great foundation for the simplified standalone program I am trying to create.

Program features:

1. Be able to toggle between four-up view, red,green, and yellow slice only views, 3D view, or split screen (i.e.: red and 3D, green and 3D, or yellow and 3D)
2. Be able to view segmentations that were previously done by another user (So if I created the segmentation in Slicer Nightly, then the user can view that same segmentation in the simplified Slicer)
3. Be able to edit segmentations if needed
4. Must be executable as a standalone program (ideally as a desktop application with no internet required)

Any suggestions or advice are much appreciated.

---

<div class="post-metadata">

**Author:** ![lassoan](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/lassoan/32/13_2.png) [@lassoan](https://discourse.slicer.org/u/lassoan)\
**Post date:** [December 20, 2018, 6:33pm UTC](https://discourse.slicer.org/t/make-slicer-simpler-to-use-for-new-users/5059/27 "2018-12-20T18:33:51Z")

</div>

> [@avarghes23](#):
>
> That SimpleView screenshot looks perfect for my needs. Could somebody please tell how to execute that SimpleView.py script.

To run it once, open Python console (Ctrl+3) and paste the code into the console.

To make Slicer always start up with this interface, edit your .slicerrc.py file (you can find its location shown in menu: Edit / Application settings / General / Application startup script).

---

<div class="post-metadata">

**Author:** ![lassoan](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/lassoan/32/13_2.png) [@lassoan](https://discourse.slicer.org/u/lassoan)\
**Post date:** [December 20, 2018, 6:34pm UTC](https://discourse.slicer.org/t/make-slicer-simpler-to-use-for-new-users/5059/28 "2018-12-20T18:34:50Z")

</div>

> [@avarghes23](#):
>
> Be able to toggle between four-up view, red,green, and yellow slice only views, 3D view

I’ve added a few layout switch buttons above the data tree:

 ![image](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/9/e/9ed543c73e721d4a6368e846bb3183629670fba5.png)

---

<div class="post-metadata">

**Author:** ![muratmaga](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/muratmaga/32/83011_2.png) [@muratmaga](https://discourse.slicer.org/u/muratmaga)\
**Post date:** [December 20, 2018, 6:28pm UTC](https://discourse.slicer.org/t/make-slicer-simpler-to-use-for-new-users/5059/29 "2018-12-20T18:28:14Z")

</div>

@lassoan this simple view looks much less intimidating for the new users. However, starting it through command line kind of defeats the purpose (most new users wouldn’t know where to look at it).

Would you guys consider enabling this as the default layout after the installation ends. So like checkbox question. “Do you want to enable SimpleView layout of Slicer?” with a brief explanation of what it does and how to go find the modules and an option to disable it, if they want full layout?

---

<div class="post-metadata">

**Author:** ![lassoan](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/lassoan/32/13_2.png) [@lassoan](https://discourse.slicer.org/u/lassoan)\
**Post date:** [December 20, 2018, 6:46pm UTC](https://discourse.slicer.org/t/make-slicer-simpler-to-use-for-new-users/5059/30 "2018-12-20T18:46:46Z")

</div>

At this point, this script is more like an experiment to see what is that people find intimidating in the current GUI.

Should we hide most of the toolbars? Should we start up with the Data module? Should we simplify viewer controls?

It may be also a useful to make this data tree widget available in addition to module panel (as you can already do it):

 ![image](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/d/5/d549b16c3e27cb6e7a415388011f484a12267f76.jpeg)

---

<div class="post-metadata">

**Author:** ![fedorov](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/fedorov/32/14_2.png) [@fedorov](https://discourse.slicer.org/u/fedorov)\
**Post date:** [December 20, 2018, 7:18pm UTC](https://discourse.slicer.org/t/make-slicer-simpler-to-use-for-new-users/5059/31 "2018-12-20T19:18:26Z")

</div>

In the past, we also discussed the idea where extension-specific or operation-specific functionality could be exposed as separate application launchers/shortcuts. Here is that thread for completeness: [Customized application launchers](https://discourse.slicer.org/t/customized-application-launchers/564). I still think that is a nice way to approach this problem.

---

<div class="post-metadata">

**Author:** ![avarghes23](https://avatars.discourse-cdn.com/v4/letter/a/a9a28c/32.png) [@avarghes23](https://discourse.slicer.org/u/avarghes23)\
**Post date:** [December 20, 2018, 7:35pm UTC](https://discourse.slicer.org/t/make-slicer-simpler-to-use-for-new-users/5059/32 "2018-12-20T19:35:04Z")

</div>

I was able to incorporate the SimpleView script into the Application startup script and it works perfectly. Now the only issue is that the SimpleView launches every time I open Slicer. I downloaded both the Nightly and the Stable versions. Is there a way that I could have the Stable version use the SimpleView startup script and the Nightly version use the regular startup script?

---

<div class="post-metadata">

**Author:** ![lassoan](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/lassoan/32/13_2.png) [@lassoan](https://discourse.slicer.org/u/lassoan)\
**Post date:** [December 20, 2018, 9:35pm UTC](https://discourse.slicer.org/t/make-slicer-simpler-to-use-for-new-users/5059/33 "2018-12-20T21:35:03Z")

</div>

> [@avarghes23](#):
>
> Is there a way that I could have the Stable version use the SimpleView startup script and the Nightly version use the regular startup script?

You can put a version check in the script and only call showSimpleUserInterface(True) and createSimpleDataBrowser() if a specific version is found. For example:

```auto
if slicer.app.applicationVersion == '4.10.0':
    showSimpleUserInterface(True)
    createSimpleDataBrowser()

```

[Previous page](https://discourse.slicer.org/t/make-slicer-simpler-to-use-for-new-users/5059.md?page=1)
