private void RotateImage(RotationOperation operation) { vtkImageReslice reslice = vtkImageReslice.New(); vtkTransform transform = vtkTransform.New(); transform.PostMultiply(); double[] center = { 75, 100, 0 }; transform.Translate(-center[0], -center[1], -center[2]); if (operation == RotationOperation.Forward) { transform.RotateZ(90); } else if (operation == RotationOperation.Back) { transform.RotateZ(-90); } transform.Translate(+center[0], +center[1], +center[2]); transform.Update(); reslice.SetInput(_viewer.GetInput()); reslice.SetResliceTransform(transform); reslice.Update(); _viewer.SetInput(reslice.GetOutput()); UpdateViewer(); }
public void sliceY(float slicePosition) { this.slicePosition = slicePosition; widget = vtkImagePlaneWidget.New(); widget.SetInput(dicomReader.GetOutput()); widget.SetPlaneOrientationToYAxes(); widget.SetSliceIndex((int)slicePosition); widget.SetWindowLevel(this.windowWidth, this.windowLevel, 1); viewer.SetInput(widget.GetResliceOutput()); viewer.Render(); window.Update(); window.RenderWindow.Render(); }
public static int Main(string[] args) { string filename = args[0]; vtkGDCMImageReader reader = vtkGDCMImageReader.New(); vtkStringArray array = vtkStringArray.New(); array.InsertNextValue(filename); reader.SetFileNames(array); reader.Update(); //System.Console.Write(reader.GetOutput()); vtkRenderWindowInteractor iren = vtkRenderWindowInteractor.New(); vtkImageViewer2 viewer = vtkImageViewer2.New(); viewer.SetInput(reader.GetOutput()); viewer.SetupInteractor(iren); viewer.SetSize(600, 600); viewer.Render(); iren.Initialize(); iren.Start(); return(0); }
public static void SetImageView(vtkImageData image) { if (image == null) { image = vtkImageData.New(); } if (ImageViewer == null) { ImageViewer = vtkImageViewer2.New(); } ImageViewer.SetInput(image); ImageViewer.GetRenderer().SetBackground(1, 1, 1); RenWinControlImage.RenderWindow.GetRenderers().GetFirstRenderer().RemoveAllViewProps(); ImageViewer.SetRenderWindow(RenWinControlImage.RenderWindow); ImageViewer.GetRenderer().ResetCamera(); RenWinControlImage.RenderWindow.GetInteractor().SetInteractorStyle(new vtkInteractorStyleImage()); RenWinControlImage.RenderWindow.Render(); }
/// <summary> /// Update the 2D visualization when the plane moved. /// </summary> /// <param name="plane">PlaneWidget which changed the coordinates.</param> public void PlaneMoved(vtkImagePlaneWidget plane) { _viewer.SetInput(plane.GetResliceOutput()); UpdateViewer(); }