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()