/// <summary> /// Update 3d view after directory has changed. /// </summary> /// <param name="dicomLoader">Updated dicom loader.</param> public void ChangeDirectory(DicomLoader dicomLoader) { _dicomLoader = dicomLoader; _mapper.Dispose(); _mapper = vtkSmartVolumeMapper.New(); _mapper.SetInput(_dicomLoader.GetOutput()); _mapper.Update(); _window.RenderWindow.GetRenderers().GetFirstRenderer().RemoveVolume(_volume); _volume.Dispose(); _volume = vtkVolume.New(); _volume.SetMapper(_mapper); _volume.Update(); _window.RenderWindow.GetRenderers().GetFirstRenderer().AddVolume(_volume); _window.RenderWindow.GetRenderers().GetFirstRenderer().Render(); SetupPlane(PlaneWidgetX); SetupPlane(PlaneWidgetY); SetupPlane(PlaneWidgetZ); // Render _window.RenderWindow.Render(); _window.Validate(); _window.Update(); _clipingModule = new ClipingObject(GetObjectSize()); }
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(); }
/// <summary> /// Refresh viewer and window. /// </summary> private void UpdateViewer() { _viewer.SetColorWindow(_windowWidth); _viewer.SetColorLevel(_windowLevel); _viewer.Render(); _window.Update(); _window.RenderWindow.Render(); }
//updatatuje okno wziualizacji 3d public void update3DVisualization(float windowLevel, float windowWidth) { this.windowLevel = windowLevel; this.windowWidth = windowWidth; spwf = vtkPiecewiseFunction.New(); spwf.AddPoint(this.windowLevel - (this.windowWidth / 2), 0); spwf.AddPoint(this.windowLevel, 1); spwf.AddPoint(this.windowLevel + (this.windowWidth / 2), 0); vol.GetProperty().SetScalarOpacity(spwf); window.Validate(); window.Update(); window.RenderWindow.Render(); }