# Improvements to consider

**URL:** <https://discourse.slicer.org/t/improvements-to-consider/14047>\
**Category:** Support\
**Created:** [October 14, 2020, 10:53pm UTC](https://discourse.slicer.org/t/improvements-to-consider/14047 "2020-10-14T22:53:43Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![CaptainR](https://avatars.discourse-cdn.com/v4/letter/c/da6949/32.png) [@CaptainR](https://discourse.slicer.org/u/CaptainR)\
**Post date:** [October 14, 2020, 10:53pm UTC](https://discourse.slicer.org/t/improvements-to-consider/14047/1 "2020-10-14T22:53:44Z")

</div>

Hi, I really enjoyed using slicer, it is trully a great software.

Few improvements that may be considered:

- in segment editor: default setting for override other segments should be none (otherwise it is the best way to detroy your work).
- when you create a new segment or edit one, when only one volume is loaded it would be great that it sets this volume as master volume automatically.
- for reformat module: would be nice to have a way change one slice orientation by moving its projection in the 2 other orthogonal views.
- I’ve in the forums that it should be present but I have version 4.10.2 and I don’t have the angle measurements tool.
- add an option when saving screenshots to choose resolution and dimensions of the image (in order to have high quality images)
- customize the background color of the 3D view (only 3 options so far: white, black and light blue).
- when importing multiple files it would be nice to have a way to apply an option to all at once, for example when loading volumes and checking lablelmaps.
- change and manually set the center of rotation for the transform module (linear transform for example)
- I tried QTtesting and macros for repetitive tasks, it is pretty good but doesn’t really deal with batch processing. A way to implement batch processing that would interact with most modules functions would be awesome and time saving.
- segment statistics: add geometric center, maximum diameter, slice maximum diameter, slice minimum diameter measurements could be interesting
- not paramount but: drawing geometrical shape in segment editor. For example only sphere is possible, but ellipse mostly or square,…

Thank you for this excellent software so far.

---

<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 15, 2020, 2:38am UTC](https://discourse.slicer.org/t/improvements-to-consider/14047/2 "2020-10-15T02:38:31Z")

</div>

> [@CaptainR](#):
>
> in segment editor: default setting for override other segments should be none (otherwise it is the best way to detroy your work).

Most commonly, segmentation is used for partitioning a volume (each voxel is assigned to one structure), which can be achieved by making the segments overwrite each other. Users that prefer allowing overlapping segments can change the default as shown [here](https://www.slicer.org/wiki/Documentation/Nightly/ScriptRepository#Set_default_segmentation_options).

> [@CaptainR](#):
>
> when you create a new segment or edit one, when only one volume is loaded it would be great that it sets this volume as master volume automatically

It is already implemented like this: load a volume and switch to Segment Editor → a segmentation node is created automatically and the current background volume is chosen as master volume.

If you manually create a new segmentation then the current master volume is not selected by default to make it easier to choose any volume as initial master volume. This initial master volume has a special role: it determines the geometry (origin, spacing, axis directions) of the segmentation’s binary labelmap representation, so users may want to make this decision more carefully.

Since the behavior was designed, we added a button to change geometry of the segmentationafter the initial master volume selection. So, we could reconsider the decision and auto-select current background volume as master volume by default for manually created segmentation nodes, too.

> [@CaptainR](#):
>
> for reformat module: would be nice to have a way change one slice orientation by moving its projection in the 2 other orthogonal views.

This is already available. You can do that by showing slice intersections and holding down Ctrl/Cmd + Alt while click-and-dragging in the view. See list of keyboard/mouse shortcuts for viewers [here](https://slicer.readthedocs.io/en/latest/user_guide/user_interface.html).

> [@CaptainR](#):
>
> I’ve in the forums that it should be present but I have version 4.10.2 and I don’t have the angle measurements tool.

You need to use the latest Slicer Stable Release. If you have any problem with this release then let us know.

> [@CaptainR](#):
>
> add an option when saving screenshots to choose resolution and dimensions of the image (in order to have high quality images)

It is available in the Screenshot tool in the toolbar. Unfortunately, the feature is currently broken ([Update qMRMLScreenShotDialog to support high-resolution magnified screenshot · Issue #3885 · Slicer/Slicer · GitHub](https://github.com/Slicer/Slicer/issues/3885)). We are upgrading VTK to new version, which might fix the issue.

> [@CaptainR](#):
>
> customize the background color of the 3D view (only 3 options so far: white, black and light blue)

This is not commonly needed, so we will not add GUI for this, but you can set any background color or gradient as shown [here](https://www.slicer.org/wiki/Documentation/Nightly/ScriptRepository#Change_3D_view_background_color).

In general, you can customize everything by a few lines of Python code, but it would be impossible to expose everything on the GUI or even describe it. We list most commonly needed code snippets in the [script repository](https://www.slicer.org/wiki/Documentation/Nightly/ScriptRepository). If you cannot find how to change some settings then just let us know.

> [@CaptainR](#):
>
> when importing multiple files it would be nice to have a way to apply an option to all at once, for example when loading volumes and checking lablelmaps

You can give hint to Slicer to interpret a volume as labelmap or segmentation by default. Use .seg.nrrd file extension to load as segmentation; or [use -seg or -label filename suffix in the file name](https://slicer.readthedocs.io/en/latest/user_guide/modules/volumes.html#load-image-file-as-labelmap-volume).

> [@CaptainR](#):
>
> change and manually set the center of rotation for the transform module (linear transform for example)

What would you use this for? Achieving alignment in 3D (3 degrees of freedom rotation and 3 degrees of freedom translation) is not practically feasible using manual translation/rotation, therefore more accurate and much easier, non-iterative landmark-based method (you don’t just specify a pivot point but multiple landmark points). Several landmark registration modules are available in Slicer: “Landmark registration” module is well suited for correcting small misalignments of images; while “Fiducial registration wizard” module (in SlicerIGT extension) is suitable for any kind of data sets an large misalignments.

> [@CaptainR](#):
>
> - I tried QTtesting and macros for repetitive tasks, it is pretty good but doesn’t really deal with batch processing. A way to implement batch processing that would interact with most modules functions would be awesome and time saving.

You can put together automation macros using code snippets from the script repository.

> [@CaptainR](#):
>
> segment statistics: add geometric center, maximum diameter, slice maximum diameter, slice minimum diameter measurements could be interesting

These (and many more) are all available in Segment statistics module in recent Slicer versions.

> [@CaptainR](#):
>
> not paramount but: drawing geometrical shape in segment editor. For example only sphere is possible, but ellipse mostly or square,…

I’m not sure how much a square-shaped brush would improve things.

Instead, you can effectively get custom brush shape (dynamic shape that takes into account the image content) by adjusting “editable intensity range”. You may also use “Local threshold” effect, which allows quick automatic intensity range selection and paint with automatic leak prevention.

---

<div class="post-metadata">

**Author:** ![CaptainR](https://avatars.discourse-cdn.com/v4/letter/c/da6949/32.png) [@CaptainR](https://discourse.slicer.org/u/CaptainR)\
**Post date:** [October 15, 2020, 10:43pm UTC](https://discourse.slicer.org/t/improvements-to-consider/14047/3 "2020-10-15T22:43:45Z")

</div>

Mr Lasso, thank you so much for all those answers. This is very helpful.  
I started customizing using the links you sent and the script repository. Unfortunately some don’t work when I just copy and paste, so I guess I’ll have to get working in Python coding now.

I am in the Interventional Radiology field and the idea behind the shape and the center of rotation for transforms is that I needed to modelize an ablation zone as an ellipse of 4x3 cm and then move it and oriente it to specific coordinates. I imported an .stl ellipse and then tried to move it around using the transform module, but wasn’t very precise.

Thanks again for your time.

---

<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 15, 2020, 11:29pm UTC](https://discourse.slicer.org/t/improvements-to-consider/14047/4 "2020-10-15T23:29:55Z")

</div>

> [@CaptainR](#):
>
> Unfortunately some don’t work when I just copy and paste

All examples should work as is. If you have problems with any of them then let us know.

> [@CaptainR](#):
>
> shape and the center of rotation for transforms is that I needed to modelize an ablation zone as an ellipse of 4x3 cm and then move it and oriente it to specific coordinates.

Iterative translation/rotation works well for positioning in 2D, but in 3D but it is just too tedious (you need to move the object and continuously evaluate in multiple views if its position is optimal).

Instead, it is recommended to mark your targets (and optionally, regions to avoid) with markups points/lines/planes and/or segmentation. From these inputs, optimal treatment plan (such as ablation zone shape and size) can be computed automatically using a simple logic. You may then review the plan and make small adjustments.

There have been a number of thermal/laser/radio ablation planning systems built on Slicer for spine, liver, prostate, etc. so if you have specific questions about how to implement anything then we may be able to help. For example, using SlicerRT extension, you can visualize not just a sphere but thermal dose in 2D and 3D as isodose lines/surfaces, compute dose volume histograms for target organs and organs at risk, etc. Using SlicerIGT extension, you can implement real-time navigation of the ablator, optionally using image guidance (CT, MRI, live ultrasound, etc.) and do all the necessary patient registrations and tool calibrations.

---

<div class="post-metadata">

**Author:** ![muratmaga](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/muratmaga/32/3622_2.png) [@muratmaga](https://discourse.slicer.org/u/muratmaga)\
**Post date:** [October 16, 2020, 1:17am UTC](https://discourse.slicer.org/t/improvements-to-consider/14047/5 "2020-10-16T01:17:05Z")

</div>

> [@CaptainR](#):
>
> Unfortunately some don’t work when I just copy and paste, so I guess I’ll have to get working in Python coding now.

İf there are any, make sure indentation are preserved correctly when you are pasting the code as those matter in python.

---

<div class="post-metadata">

**Author:** ![Rodrigo\_Visconti](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/rodrigo_visconti/32/3436_2.png) [@Rodrigo\_Visconti](https://discourse.slicer.org/u/Rodrigo_Visconti)\
**Post date:** [October 17, 2020, 10:21pm UTC](https://discourse.slicer.org/t/improvements-to-consider/14047/6 "2020-10-17T22:21:41Z")

</div>

I would suggest another one. Some sort of partial smooth. Smoothing occasionally reduces significant details from the segmentation.

---

<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 18, 2020, 3:04pm UTC](https://discourse.slicer.org/t/improvements-to-consider/14047/7 "2020-10-18T15:04:41Z")

</div>

> [@Rodrigo\_Visconti](#):
>
> Some sort of partial smooth. Smoothing occasionally reduces significant details from the segmentation.

I’ve gave this a try yesterday and managed to implement it (it works like sphere paint but instead of adding to the segment, it smoothes the painted region). It works really well! I’ll test and tune it some more and make it available in a few days.

---

<div class="post-metadata">

**Author:** ![Rodrigo\_Visconti](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/rodrigo_visconti/32/3436_2.png) [@Rodrigo\_Visconti](https://discourse.slicer.org/u/Rodrigo_Visconti)\
**Post date:** [October 18, 2020, 5:48pm UTC](https://discourse.slicer.org/t/improvements-to-consider/14047/8 "2020-10-18T17:48:36Z")

</div>

Great! This tool will help us to save a lot of time. Thanks again

---

<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, 2020, 4:05am UTC](https://discourse.slicer.org/t/improvements-to-consider/14047/9 "2020-10-20T04:05:25Z")

</div>

Smoothing brush (you can left-click and drag in slice or 3D views when Smoothing effect is active to locally smooth the segment) will be available in tomorrow’s Slicer Preview Release. Unfortunately, slice views don’t work in the preview release (and there are some other issues - see [list](https://github.com/Slicer/Slicer/issues?q=is%3Aissue+is%3Aopen+label%3Adomain%3Avtk9)), but you can still try this smoothing tool.

---

<div class="post-metadata">

**Author:** ![Rodrigo\_Visconti](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/rodrigo_visconti/32/3436_2.png) [@Rodrigo\_Visconti](https://discourse.slicer.org/u/Rodrigo_Visconti)\
**Post date:** [October 20, 2020, 7:19pm UTC](https://discourse.slicer.org/t/improvements-to-consider/14047/10 "2020-10-20T19:19:31Z")

</div>

Thanks. I’ve managed to download it but some extensions still unavailable and 3D view doesn’t work as well

---

<div class="post-metadata">

**Author:** ![Rodrigo\_Visconti](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/rodrigo_visconti/32/3436_2.png) [@Rodrigo\_Visconti](https://discourse.slicer.org/u/Rodrigo_Visconti)\
**Post date:** [October 20, 2020, 7:42pm UTC](https://discourse.slicer.org/t/improvements-to-consider/14047/11 "2020-10-20T19:42:08Z")

</div>

The 3D view worked turning smooth factor off

---

<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, 2020, 7:51pm UTC](https://discourse.slicer.org/t/improvements-to-consider/14047/12 "2020-10-20T19:51:39Z")

</div>

A post was split to a new topic: [Manual registration and warping of volume](https://discourse.slicer.org/t/manual-registration-and-warping-of-volume/14169)

---

<div class="post-metadata">

**Author:** ![Rodrigo\_Visconti](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/rodrigo_visconti/32/3436_2.png) [@Rodrigo\_Visconti](https://discourse.slicer.org/u/Rodrigo_Visconti)\
**Post date:** [October 21, 2020, 4:42am UTC](https://discourse.slicer.org/t/improvements-to-consider/14047/13 "2020-10-21T04:42:15Z")

</div>

It worked shutting smooth factor down but if I try to make a joint smooth the 3D image disappear

---

<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 21, 2020, 4:50am UTC](https://discourse.slicer.org/t/improvements-to-consider/14047/14 "2020-10-21T04:50:24Z")

</div>

Joint smoothing is probably broken in latest preview release (it uses model smoothing, which [does not work yet in latest preview](https://github.com/Slicer/Slicer/issues/5223) - it will take a few more days to get the VTK9 issues fixed).

---

<div class="post-metadata">

**Author:** ![Rodrigo\_Visconti](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/rodrigo_visconti/32/3436_2.png) [@Rodrigo\_Visconti](https://discourse.slicer.org/u/Rodrigo_Visconti)\
**Post date:** [October 21, 2020, 4:53am UTC](https://discourse.slicer.org/t/improvements-to-consider/14047/15 "2020-10-21T04:53:50Z")

</div>

Great. It’s good news the possibility of having both working together. Some extensions are unavailable too like slicer heart

---

<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 21, 2020, 4:57am UTC](https://discourse.slicer.org/t/improvements-to-consider/14047/16 "2020-10-21T04:57:34Z")

</div>

Yes, we know about the extension errors. Once we fix basic errors (slice view, model smoothing, …) then we’ll get to the extensions, too.

---

<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 23, 2020, 12:13am UTC](https://discourse.slicer.org/t/improvements-to-consider/14047/17 "2020-10-23T00:13:35Z")

</div>

A post was split to a new topic: [Configure segmentation defaults](https://discourse.slicer.org/t/configure-segmentation-defaults/14207)

---

<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:** [November 13, 2020, 12:56am UTC](https://discourse.slicer.org/t/improvements-to-consider/14047/18 "2020-11-13T00:56:17Z")

</div>

For reference - Slicer Preview Releases are working now and so the new Smoothing brush is available for testing. See more information and demo video here: [New segment editing feature: Smoothing brush](https://discourse.slicer.org/t/new-segment-editing-feature-smoothing-brush/14577)

---

<div class="post-metadata">

**Author:** ![Rodrigo\_Visconti](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/rodrigo_visconti/32/3436_2.png) [@Rodrigo\_Visconti](https://discourse.slicer.org/u/Rodrigo_Visconti)\
**Post date:** [November 24, 2020, 11:47am UTC](https://discourse.slicer.org/t/improvements-to-consider/14047/19 "2020-11-24T11:47:33Z")

</div>

Hi Andras I’m really enjoying the brush smoothing. Very helpful. I’m thinking of other improvements and thought of a way to tilt one plane without affecting others during segmentation. Is it possible?

---

<div class="post-metadata">

**Author:** ![manjula](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/manjula/32/80981_2.png) [@manjula](https://discourse.slicer.org/u/manjula)\
**Post date:** [November 24, 2020, 2:07pm UTC](https://discourse.slicer.org/t/improvements-to-consider/14047/20 "2020-11-24T14:07:33Z")

</div>

You can rotate of the slice views independently using reformat module

[Next page](https://discourse.slicer.org/t/improvements-to-consider/14047.md?page=2)
