Represents a visual tool, which allows to
- view DICOM MPR slice in WPF image viewer
- move DICOM MPR slice along the horizontal, vertical and perpendicular axis in WPF image viewer
- rotate DICOM MPR slice in 2D and 3D space in WPF image viewer
- build new DICOM MPR slice in WPF image viewer.
By default this visual tool uses the left mouse button for browsing of DICOM MPR slices (moving of DICOM MPR slice along the perpendicular axis) and uses the right mouse button for panning of DICOM MPR slice (moving of DICOM MPR slice along the horizontal and vertical axis).
This C#/VB.NET code shows how to display an axial DICOM MPR slice in image viewer.
''' <summary>
''' Displays the axial slice in viewer.
''' </summary>
''' <param name="viewer">The image viewer.</param>
''' <param name="mprImage">The MPR image.</param>
Public Shared Sub DisplayAxialSliceInViewer(viewer As Vintasoft.Imaging.Wpf.UI.WpfImageViewer, mprImage As Vintasoft.Imaging.Dicom.Mpr.MprImage)
' create the MPR visualization controller
Dim controller As New Vintasoft.Imaging.Dicom.Mpr.Wpf.UI.WpfMprVisualizationController(mprImage, viewer)
' create the axial slice
Dim axialSlice As Vintasoft.Imaging.Dicom.Mpr.MprPlanarSlice = mprImage.CreateAxialSlice(mprImage.YLength / 2.0)
' add slice to the MPR visualization controller
controller.AddSliceVisualization(axialSlice, System.Windows.Media.Colors.Yellow)
' specify that the slice must be shown in viewer
controller.ShowSliceInViewer(viewer, axialSlice)
End Sub
/// <summary>
/// Displays the axial slice in viewer.
/// </summary>
/// <param name="viewer">The image viewer.</param>
/// <param name="mprImage">The MPR image.</param>
public static void DisplayAxialSliceInViewer(
Vintasoft.Imaging.Wpf.UI.WpfImageViewer viewer,
Vintasoft.Imaging.Dicom.Mpr.MprImage mprImage)
{
// create the MPR visualization controller
Vintasoft.Imaging.Dicom.Mpr.Wpf.UI.WpfMprVisualizationController controller =
new Vintasoft.Imaging.Dicom.Mpr.Wpf.UI.WpfMprVisualizationController(mprImage, viewer);
// create the axial slice
Vintasoft.Imaging.Dicom.Mpr.MprPlanarSlice axialSlice =
mprImage.CreateAxialSlice(mprImage.YLength / 2.0);
// add slice to the MPR visualization controller
controller.AddSliceVisualization(axialSlice, System.Windows.Media.Colors.Yellow);
// specify that the slice must be shown in viewer
controller.ShowSliceInViewer(viewer, axialSlice);
}
System.Object
 System.Windows.Threading.DispatcherObject
   System.Windows.DependencyObject
     System.Windows.Media.Visual
       System.Windows.UIElement
         System.Windows.FrameworkElement
           System.Windows.Controls.Control
             System.Windows.Controls.ContentControl
               Vintasoft.Imaging.Wpf.UI.VisualTools.WpfVisualTool
                 Vintasoft.Imaging.Wpf.UI.VisualTools.UserInteraction.WpfUserInteractionVisualTool
                   Vintasoft.Imaging.Dicom.Mpr.Wpf.UI.VisualTools.WpfMprImageTool
Target Platforms: .NET 10; .NET 9; .NET 8; .NET 7; .NET 6; .NET Framework 4.8, 4.7, 4.6, 4.5, 4.0, 3.5