Operating system: Windows
Slicer version: 5.2.2
Expected behavior: hardened transform is not supposed to change arbitrarily
Actual behavior: I am trying to stereotaxially rotate a few dicom datasets. Upon hardening the transform, and resampling, the transformed node seems to rotate randomly when I disable and re-enable visibility or when I apply the transform or switch to None. This always happens after resampling; also the resampled dataset does not show the same rotation as the initially transformed dataset. This seems to persist no matter what resampling module I use. It is quite frustrating. Am I doing anything wrong?
Transforms can be tricky, but I don’t know of any bugs that would lead to unpredictable behavior. If you think there’s a bug, provide a step-by-step report with public data of what you did, what you expected, and what happened instead. Use a few screenshots as needed to clarify.
Note that by default when you show an image, the slice view axes are snapped to the closest axes of the image. You can disable this in the right-click menu of the eye icon in the Data module.
Thank you both for your replies. I have since figured out that resampling is best done without hardening the transform first and using the ‘Resample Scalar /Vector /DWI Volume module’. That said the buggy behaviour of transform persists. See below.
Here is how the original volume looks like (after a quick non-interpolating crop):
When a linear transform is created and applied (by right clicking under the transform column in the Data module), all works ok as shown below:
If the volume is made hidden and visible in succession, while keeping the transform applied, the following happens (the presentation does not resemble the original volume nor the transformed volume):
This only solves when the volume is made hidden, None applied under the transform followed by making the volume visible again and reapplying the transform then.
Right clicking on the menu of the eye icon in the Data module and changing the setting did not help.
Everything you describe looks good to me and shows the intended behavior of the application. The node does not rotate randomly, but it if “Reset view orientation on show” option is enabled then the slice view is rotated automatically to the closest volume axis when the volume is shown.
You can always set view to a standard orientation using the view controller (colored bar above each slice view), or you can set arbitrary view orientations using LR/PA/IS sliders in Reformat module.
If you still find the application behavior unintuitive then please add some annotations on the screenshots that indicate what you would have expected to see; or share a screen capture video.
Thanks very much Andras. That actually prevents the unpredictable behaviour - in my case, I still needed to hide and untick that option before re-enabling visibility to get the intuitive result. The issue however, does not happen to me when I use for example the chest-ct sample dataset from slicer’s website. As an end user who only uses 3D Slicer occasionally, if I may have a suggestion, it would be best if that option is unticked by default unless of course there is a particular reason to have it as is. Many thanks for your time and help.
The option is enabled by default based on feedback from lots of users. Most people only uses 2D image review software, which regurgitates the original 2D slices. When Slicer showed the slices in standard anatomical orientations then these users did not understand what’s all this and reported it as a bug.
Since we changed the default a few years ago, I only remember question/complaint from a long-time Slicer power user and now from you. Since the option is remembered in the application settings (even when the application is restarted), it should cause minimal disruption for those who prefer to see reformatted slices.
Thanks Andras. It makes sense. I doubt I will ever forget the fix anyway given the amount of frustration that caused me, haha. Also, I am very impressed by how reachable and responsive you are. Much appreciated.