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,…
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.
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.
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.
You need to use the latest Slicer Stable Release. If you have any problem with this release then let us know.
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.
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. If you cannot find how to change some settings then just let us know.
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.
You can put together automation macros using code snippets from the script repository.
These (and many more) are all available in Segment statistics module in recent Slicer versions.
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.
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.
All examples should work as is. If you have problems with any of them then let us know.
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.
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.
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), but you can still try this smoothing tool.