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:
- Use the Leadtools.Medical3D.Medical3DContainer to create a 3D object container.
- Add an instance of Medical3DObject to the 3D container.
- Load a 3D object by either:
- Setting the Image property with a multiple page image.
- Use a memory efficiency method to load a 3D object. For more information, refer to the Leadtools.Medical3D.Medical3DObject.MemoryEfficientInit(System.Int32) method.
- 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:
- Change the position of the orthogonal plane.
- Move the plane to display a specified frame.
- Move the plane forward or backward by a specified amount.
- Enable or disable the display of the plane.
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:
- Can adjust the plane by setting a 3-point method
- Can adjust the plane position and orientation using the Leadtools.Medical3D.Medical3DMPRPlane.Point and Leadtools.Medical3D.Medical3DMPRPlane.Normal properties.
- Can rotate the plane by a specified amount using various methods.
Integration with the Medical Viewer:MedicalViewer
You can use the Medical Viewer to display each orthogonal plane in a separate window, as follows:
- Create a new instance of Leadtools.Medical3D.Medical3DControl in order to render the 3D object.
- The control will create a Leadtools.Medical3D.Medical3DContainer that will allow the user to add a 3D object.
- The Medical3DControl will then take care of rendering the object automatically.
- Use the AxialFrame, SagittalFrame, CoronalFrame properties and assign three different MedicalViewerMPRCell instances to them. The Medical3DControl will then take care of the rest.
- For a more organized view, add the Medical3DControl and the three MedicalViewerMPRCell instances to the MedicalViewer through the MedicalViewer.Cells property.
For more information, refer to MedicalViewerMPRCell.