In SlicerCAT I add support to modify slice view’s aspect ratio, i.e. the horizontal scaling may not be equal to vertical scaling.
When slice window is resized it calls vtkMRMLSliceLogic::ResizeSliceNode that modify FOV while resetting the aspect ratio.
For example if I set aspect ratio for slice view 2:1 then after the slice window is resized I get the restored aspect ratio 1:1. If I manually changed the aspect ratio then most likely I don’t want that it was reset after resizing the window.
May we change that so that the aspect ratio stays untouched?
To do so it is enough to delete 5 lines of code of
If the user wants to reset the aspect ratio (to 1:1) then there is a button that resets FOV and aspect ratio:
I’d be very wary of introducing the possibility of accidental distortions for our core medical imaging use cases. Instead of changing the view, why don’t you use a transformation to compress or expand the data along an axis. Or you could observe the slice node and set it to the desired aspect ratio any time it’s updated.
Thank for response,
Applying transform to every node is much harder as I also use XYZ axes shown at all borders that are represented by axes actors. It is much easier to set FOV.
That is possible solution.
Just to clarify: it is completely fine if this proposition will be declined. I can patch this function during SlicerCAT build so it is not a problem for me. I just thought that it would be more intuitive for any Slicer user.