Hello,
How can I modify or call the rotation of an image on the python interactor on 3dslicer ?
Is it possible to modify or edit zooming in and out of the image on python console ?
Hello,
How can I modify or call the rotation of an image on the python interactor on 3dslicer ?
Is it possible to modify or edit zooming in and out of the image on python console ?
here’s a snippet to get the slice logic from the interface:
https://www.slicer.org/wiki/Documentation/Nightly/ScriptRepository#Manipulate_a_Slice_View
Once you have that you can call methods either on the sliceLogic [1] or you can get the sliceNode [2] and call methods like redLogic.GetSliceNode().SetFieldOfView(20,30,1) to change the zoom.
[1] http://apidocs.slicer.org/master/classvtkMRMLSliceLogic.html
[2] http://apidocs.slicer.org/master/classvtkMRMLSliceNode.html
Hello,
I have tried redLogic.GetSliceNode().SetFieldOfView(20,30,1) in order to change the zoom, but it did not change anything. I was using the four up view, and the red window turned black when I used redlogic for some reason. How can I use it properly in order to change the zoom ?
This is what I get when I plug in
:when I plug in redLogic.SetSliceOffset(10):
I presume that redlogic is controlling the shape of the image and the brightness at the same time one of the windows turned black, instead of controlling the zoom.
I have figured how it works thanks a lot. However, I do not know how to control the rotation of the image via python interactor ?
Thanks again!
I do not know how to control the rotation of the image via python interactor
Adjust SliceToRAS transform in the slice node. It is a homogeneous transform, so the top-left 3x3 matrix specifies the slice orientation (first column is slice X, second column is slice Y, third column is slice normal direction) and 4th column specifies slice position.
instead I would like to control the zooming in the following mechanism which can be done by using the mouse. But, in my case I want to control the zooming mechanism into the image and out of the image like it can be seen on the following images on the 2D yellow image view.
FieldOfView defines the zoom factor. Get the old value, multiply x and y components by a factor (e.g., by 1.1 to zoom out a bit), and set the resulting values as new FOV.
You’ve forgot to get the old FOV value (or at least the screenshot that you attached did not show how you got the old value).
How do I set the resulting values as new FOV ?
Use GetFieldOfView method to get current values, scale them, and set the new values using SetFieldOfView.