# how to rotate camer on a reslice image and change the image display?

**URL:** <https://discourse.slicer.org/t/how-to-rotate-camer-on-a-reslice-image-and-change-the-image-display/8611>\
**Category:** Support\
**Created:** [September 29, 2019, 7:45am UTC](https://discourse.slicer.org/t/how-to-rotate-camer-on-a-reslice-image-and-change-the-image-display/8611 "2019-09-29T07:45:50Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![pingdan](https://avatars.discourse-cdn.com/v4/letter/p/22d042/32.png) [@pingdan](https://discourse.slicer.org/u/pingdan)\
**Post date:** [September 29, 2019, 7:45am UTC](https://discourse.slicer.org/t/how-to-rotate-camer-on-a-reslice-image-and-change-the-image-display/8611/1 "2019-09-29T07:45:50Z")

</div>

I display a image in renderer, and rotate some degree of camera, but the image of displaying don’t have difference. after rotation, I got the parameter of image, it has changed.

vtkSmartPointer reader = vtkSmartPointer::New();  
reader-\>SetDirectoryName(“D:\test”);  
reader-\>Update();  
vtkSmartPointer m\_Renderer = vtkSmartPointer::New();  
vtkSmartPointer RenderWindowInteractor = vtkSmartPointer::New();

vtkSmartPointer m\_RenderWindow = vtkSmartPointer::New();  
m\_RenderWindow-\>AddRenderer(m\_Renderer);  
m\_RenderWindow-\>SetSize(640, 480);  
m\_RenderWindow-\>SetWindowName(“ImageViewerTest”);

RenderWindowInteractor-\>SetRenderWindow(m\_RenderWindow);  
RenderWindowInteractor-\>Initialize();

vtkSmartPointer\< vtkImagePlaneWidget \> m\_ImagePlaneWidget = vtkSmartPointer\< vtkImagePlaneWidget \>::New();  
vtkSmartPointer\< vtkResliceCursorThickLineRepresentation \> m\_ResliceCursorRep = vtkSmartPointer\< vtkResliceCursorThickLineRepresentation \>::New();  
vtkSmartPointer\< vtkResliceCursor \> m\_ResliceCursor = vtkSmartPointer\< vtkResliceCursor \>::New();  
vtkSmartPointer\< vtkResliceCursorWidget\> m\_ResliceCursorWidget = vtkSmartPointer\< vtkResliceCursorWidget\>::New();

m\_ResliceCursorRep-\>GetResliceCursorActor()-\>  
GetCursorAlgorithm()-\>SetResliceCursor(m\_ResliceCursor);  
m\_ResliceCursorRep-\>GetResliceCursorActor()-\>  
GetCursorAlgorithm()-\>SetReslicePlaneNormal(1);  
m\_ResliceCursorWidget-\>SetInteractor(m\_RenderWindow-\>GetInteractor());  
m\_ImagePlaneWidget-\>SetInteractor(m\_RenderWindow-\>GetInteractor());  
m\_ImagePlaneWidget-\>SetDefaultRenderer(m\_Renderer);  
m\_ResliceCursorWidget-\>SetDefaultRenderer(m\_Renderer);  
m\_ResliceCursorWidget-\>SetRepresentation(m\_ResliceCursorRep);

m\_ResliceCursorWidget-\>SetEnabled(1);

m\_ImagePlaneWidget-\>SetInputData(reader-\>GetOutput());  
m\_ImagePlaneWidget-\>SetPlaneOrientation(1);  
m\_ImagePlaneWidget-\>SetSliceIndex(256); //  
double pos[3];  
reader-\>GetOutput()-\>GetCenter(pos);  
m\_ResliceCursor-\>SetImage(reader-\>GetOutput());  
m\_ResliceCursor-\>SetCenter(pos);

m\_ImagePlaneWidget-\>On();  
m\_ImagePlaneWidget-\>InteractionOn();

//////////////////////////////////////////////////////////////////////////  
double range[2];  
reader-\>GetOutput()-\>GetScalarRange(range);  
m\_ResliceCursorWidget-\>GetResliceCursorRepresentation()-\>  
SetWindowLevel(range[1] - range[0], (range[0] + range[1]) / 2.0);  
m\_ImagePlaneWidget-\>SetWindowLevel(range[1] - range[0], (range[0] + range[1]) / 2.0);

m\_Renderer-\>ResetCamera();  
m\_Renderer-\>SetBackground(1, 1, 1);

double \*focus = m\_Renderer-\>GetActiveCamera()-\>GetFocalPoint();  
double \*range1 = m\_Renderer-\>GetActiveCamera()-\>GetClippingRange();  
vtkSmartPointeraCamera = vtkSmartPointer::New();  
aCamera = m\_Renderer-\>GetActiveCamera();  
//Azimuth Ele no result, roll can result yaw disappear  
double \*ori = aCamera-\>GetOrientation();  
double \*viewup = aCamera-\>GetViewPlaneNormal();  
m\_Renderer-\>GetActiveCamera()-\>Yaw(60);  
double \*pos1 = aCamera-\>GetPosition();  
aCamera-\>Azimuth(60);  
aCamera-\>ComputeViewPlaneNormal();  
double \*viewup1 = aCamera-\>GetViewPlaneNormal();  
m\_Renderer-\>SetActiveCamera(aCamera);  
m\_RenderWindow-\>Render();  
RenderWindowInteractor-\>Start();

---

<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 2, 2019, 2:23am UTC](https://discourse.slicer.org/t/how-to-rotate-camer-on-a-reslice-image-and-change-the-image-display/8611/2 "2019-10-02T02:23:22Z")

</div>

Could you describe what would you like to achieve? What you would like to visualize and how?

---

<div class="post-metadata">

**Author:** ![pingdan](https://avatars.discourse-cdn.com/v4/letter/p/22d042/32.png) [@pingdan](https://discourse.slicer.org/u/pingdan)\
**Post date:** [October 9, 2019, 5:10am UTC](https://discourse.slicer.org/t/how-to-rotate-camer-on-a-reslice-image-and-change-the-image-display/8611/3 "2019-10-09T05:10:42Z")

</div>

I want to see the back of image.  
for example, when I reslice a image and display the front of image, now I want to rotate camera to the back of image and see the back of image. but I found I can’t see the back whatever I rotate the camera as if the camera didn’t move any more. I want to know, why the camera’s rotate setting why not effect? thanks

---

<div class="post-metadata">

**Author:** ![FloCo](https://avatars.discourse-cdn.com/v4/letter/f/2bfe46/32.png) [@FloCo](https://discourse.slicer.org/u/FloCo)\
**Post date:** [June 30, 2022, 7:41am UTC](https://discourse.slicer.org/t/how-to-rotate-camer-on-a-reslice-image-and-change-the-image-display/8611/4 "2022-06-30T07:41:14Z")

</div>

Hello everyone,

I am having the same problem using similar code in version vtk 8.1.  
The only action that does something on the camera is the roll parameter but it does not rotate the image in the right way.  
Like @pingdan I’d like to see the image from its back and not from its top. I’ve tried every camera parameter (Orientation, Yaw, Roll, Elevation, Azimuth,Pitch, ViewUp, Position,…) but the only thing I can do is rotating the image along its perpendicular axis.  
I could flip the entire vtkImage to have the good result but then it would generate other problems. It looks like the printed image is a 2D slice but I can’t rotate it to see from behind.  
If someone found a solution to this problem.

Thank you !
