# User-friendlyness

**URL:** <https://discourse.slicer.org/t/user-friendlyness/32334>\
**Category:** Feature requests\
**Created:** [October 20, 2023, 9:05am UTC](https://discourse.slicer.org/t/user-friendlyness/32334 "2023-10-20T09:05:02Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Melodicpinpon](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/melodicpinpon/32/3254_2.png) [@Melodicpinpon](https://discourse.slicer.org/u/Melodicpinpon)\
**Post date:** [October 20, 2023, 9:05am UTC](https://discourse.slicer.org/t/user-friendlyness/32334/1 "2023-10-20T09:05:03Z")

</div>

These are positive propositions aiming to make the software more intuitive:

1-Keeping the outliner visible in every module and allowing to do operations on the chosen volume/model/etc  
2-Displaying only the values that matter in the ‘Transforms’ module. (Slice thickness is lost between 11 other values).  
3-Saving all the data in a single scene/file. Recovering a scene is a real struggle.

---

<div class="post-metadata">

**Author:** ![Deep\_Learning](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/deep_learning/32/15345_2.png) [@Deep\_Learning](https://discourse.slicer.org/u/Deep_Learning)\
**Post date:** [October 20, 2023, 3:21pm UTC](https://discourse.slicer.org/t/user-friendlyness/32334/2 "2023-10-20T15:21:25Z")

</div>

#1 do not understand  
#2 do not use transforms, but slicer does a lot…

#3 save as .mrb

---

<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:** [October 20, 2023, 7:15pm UTC](https://discourse.slicer.org/t/user-friendlyness/32334/3 "2023-10-20T19:15:40Z")

</div>

@Deep_Learning addressed the last request. For the first two:

> [@Melodicpinpon](#):
>
> 1-Keeping the outliner visible in every module and allowing to do operations on the chosen volume/model/etc

We can certainly try this. It should not take more than a 5-10 lines of code. Would you like to give it a try? To get started, you can ask Bing Chat or ChatGPT to “write Python code for 3D Slicer that displays subject hierarchy widget in a dockable widget”.

Actually, I’ve done this just to test and got perfectly working code using Bing Chat in 5 minutes, without need to actually write any code my self. First I got a code snippet that threw an error, but then told bing that I got an error and copied the error message; and it told which single line to change; I’ve changed that and it works perfectly now.

```python
# Create a new dockable widget
dockWidget = qt.QDockWidget()
dockWidget.setWindowTitle("Subject hierarchy")

# Create a subject hierarchy widget
shWidget = slicer.qMRMLSubjectHierarchyTreeView()
shWidget.setMRMLScene(slicer.mrmlScene)

# Add the subject hierarchy widget to the dockable widget
dockWidget.setWidget(shWidget)

# Add the dockable widget to the main window
slicer.util.mainWindow().addDockWidget(qt.Qt.RightDockWidgetArea, dockWidget)

```

> [@Melodicpinpon](#):
>
> Displaying only the values that matter in the ‘Transforms’ module. (Slice thickness is lost between 11 other values).

Slicer does don’t deal with slice thickness but only uses spacing between slices. I assume you mean image spacing. If you want to change the spacing in a volume then I would not use transforms module for it, but import the image stack using a much more convenient, robust, faster method: using _Image Stacks_ module (in SlicerMorph extension).

It is slow, inconvenient, and error prone to store 3D images in series of 2D image files. I know that Morphosource and other databases still do it and so it is not going to change anytime soon. However, you can improve your workflows: once you imported the image stack, save into a proper 3D format, such as NRRD. Then you can quickly and easily load the file later. I would recommend to disable compression if you work with large images, because using 50% less disk space may not worth the 10x longer loading time.
