LEADTOOLS Medical Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.22
Programming With MPR

The Multi-Planar Reformatting (MPR) technique is used to generate 2D sagittal, coronal, and oblique views from a volume built by stacking the axial slices. An application supporting 3D imaging with multi-planar reconstruction can remove the need for obtaining images in 2D planes, decreasing the examination time, radiation dose and associated patient discomfort.

Typically, MPR involves displaying three orthogonal plane views of a desired structure at the same time, along with a method of navigating the volume. However, the LEADTOOLS advanced oblique MPR technique allows generation of any arbitrary planes (see Programming with Double and Single Cut Planes and MIP Slabs) in a 3D volume.

MPR planes can be viewed as a 3D volume or each orthogonal 2D plane can be rendered on separate Medical Viewer cells (windows). Setting the Medical3DContainer.VolumeType property to MPR will generate a 3D MPR volume with three orthogonal intersecting planes. Also, three oblique planes can be set using the Leadtools.Medical3D.Medical3DMPR.Planes array and setting the Enable property.

Use the Medical3DObject.MPR property to change the MPR properties such as enabling the boundaries, and showing the intersection line between different MPR planes.

Each orthoganal plane (AxialPlane, SagittalPlane, CoronalPlane) can be adjusted separately. Adjustments include enabling, disabling or changing the plane position, etc.

The oblique planes can be adjusted just like the orthogonal planes through the Leadtools.Medical3D.Medical3DMPR.Planes array. In addition, you can adjust the oblique plane by setting the 3 points or adjust the plane position and orientation by using the Leadtools.Medical3D.Medical3DMPRPlane.Point and Leadtools.Medical3D.Medical3DMPRPlane.Normal (SetPlanePoints) properties and rotate the plane by specifying the angle via properties of the Medical3DMPRPlane class.

To render each orthogonal plane to separate Medical Viewer Cells, assign the Leadtools.Medical3D.Medical3DMPR.AxialPlane, SagittalFrame, CoronalFrame properties to different instances of MedicalViewerMPRCell. To further customize the layout, Medical3DControl and the 3 MedicalViewerMPRCell instances can be added to the MedicalViewer through the MedicalViewer.Cells collection.

For more information refer to:

Getting Started

To render a 3D object using the MPR rendering technique:

  1. Use the Leadtools.Medical3D.Medical3DContainer to create a 3D object container.
  2. Add an instance of Medical3DObject to the 3D container.
  3. Load a 3D object by either:
    1. Setting the Image property with a multiple page image.
    2. Use a memory efficiency method to load a 3D object. For more information, refer to the Leadtools.Medical3D.Medical3DObject.MemoryEfficientInit(System.Int32) method.
  4. The toolkit will load the object as a VRT (Volume Rendering Technique). To change it to load as MPR, set the Leadtools.Medical3D.Medical3DContainer.VolumeType property to Medical3DVolumeType. Leadtools.Medical3D.Medical3DVolumeTypeMPR.

A tutorial on how to create a 3D object with MPR windows can be found in the Creating a 3D Object with MPR View topic.

Working with MPR Planes

MPR is represented by 3 orthogonal planes by default. The user can add up to 3 more planes (oblique planes). Use the Medical3DObject.MPR property to access the planes. Enable any of the 3 oblique planes using the Leadtools.Medical3D.Medical3DOrthogonalMPRPlane.Enabled property.

Use the Medical3DObject.MPR to change the MPR properties such as enabling the boundaries, showing intersection lines between different MPR planes, etc.

The user can adjust each orthogonal plane through the Leadtools.Medical3D.Medical3DMPR.AxialPlane, Leadtools.Medical3D.Medical3DMPR.SagittalPlane and Leadtools.Medical3D.Medical3DMPR.CoronalPlane properties. Through these properties you can:

The user can adjust the oblique planes using the Leadtools.Medical3D.Medical3DMPR.Planes property. This property provides the same control over the oblique planes as the orthogonal planes, plus:

Integration with the Medical Viewer:MedicalViewer

You can use the Medical Viewer to display each orthogonal plane in a separate window, as follows:

For more information, refer to MedicalViewerMPRCell.