Correcting the Gantry Tilt in CT scans

vtkImageMapToColors() is called only once and then I am passing the output of self.color to vtkImageViewer2(). Should I use a different image viewer?

Here is my viewer code:

        viewer.SetInputConnection(self.color.GetOutputPort())
        viewer.SetOffScreenRendering(1)
        if view_type == Constants.ViewType.AXIAL:
            viewer.SetSliceOrientationToXY()
        elif view_type == Constants.ViewType.CORONAL:
            viewer.SetSliceOrientationToXZ()
        elif view_type == Constants.ViewType.SAGITAL:
            viewer.SetSliceOrientationToYZ()
        viewer.GetRenderWindow().SetMultiSamples(128)
        viewer.GetRenderer().UseFXAAOn()
        # viewer.GetRenderer().GetActiveCamera().ParallelProjectionOff()

        worldPicker = vtkPointPicker()
        worldPicker.SetTolerance(0.001)
        widget.SetPicker(worldPicker)
        viewer.GetImageActor().InterpolateOn()
        viewer.SetRenderWindow(widget.GetRenderWindow())
        viewer.SetupInteractor(widget)
        widget.SetInteractorStyle(interactor_style)
        viewer.Render()
        if view_type == Constants.ViewType.CORONAL:
            if image_orientation == Constants.ViewType.AXIAL:
                viewer.GetRenderer().GetActiveCamera().SetViewUp(0, -1, 0)
            elif image_orientation == Constants.ViewType.SAGITAL:
                viewer.GetRenderer().GetActiveCamera().SetViewUp(-1, 0, 0)
        elif view_type == Constants.ViewType.SAGITAL:
            if image_orientation == Constants.ViewType.AXIAL:
                viewer.GetRenderer().GetActiveCamera().SetViewUp(0, 0, -1)
            elif image_orientation == Constants.ViewType.SAGITAL:
                viewer.GetRenderer().GetActiveCamera().SetViewUp(0, 1, 0)
            elif image_orientation == Constants.ViewType.CORONAL:
                viewer.GetRenderer().GetActiveCamera().SetViewUp(0, 1, 0)
        viewer.GetRenderer().ResetCamera()
        viewer.SetSlice(int(viewer.GetSliceMax() / 2))
        viewer.Render()
        viewer.UpdateDisplayExtent()
        viewer.Render()