
This tutorial teaches you how to create a 3D object and render the three MPR orthogonal slices ( Axial, Sagittal and Coronal) on a cell window.
' Create a new cell that will hold the axial frame.
Dim axialCell As MedicalViewerMPRCell = New MedicalViewerMPRCell()
' adjust some properties to view the cross hair.
axialCell.ShowMPRCrossHair = True
axialCell.DistinguishMPRByColor = True
[C#]
// Create a new cell that will hold the axial frame.
MedicalViewerMPRCell axialCell = new MedicalViewerMPRCell();
// adjust some properties to view the cross hair.
axialCell.ShowMPRCrossHair = true;
axialCell.DistinguishMPRByColor = true;
' Assign this cell (axialCell) to the AxialFrame property of the Medical 3D control
control3D.AxialFrame = axialCell
[C#]
// Assign this cell (axialCell) to the AxialFrame property of the Medical 3D control
control3D.AxialFrame = axialCell;
' add the axial cell to the viewer
viewer.Cells.Add(axialCell)
[C#]
// add the axial cell to the viewer
viewer.Cells.Add(axialCell);
Private Sub InitClass()
RasterSupport.SetLicense(RasterSupportType.Dicom, " Your Dicom Key");
RasterSupport.SetLicense(RasterSupportType.Medical, "Your Medical Key");
RasterSupport.SetLicense(RasterSupportType.Medical3d, "Your Medical 3D Key");
// Create a new instance of the Codecs class, which will be used to load the images.
RasterCodecs _codecs = new RasterCodecs();
// Create a new instance of the Medical Viewer. The layout will be divided to 2X2.
MedicalViewer viewer = new MedicalViewer(2, 2);
// Fit the view to the whole form
viewer.Dock = DockStyle.Fill;
// Create the 3D control that will hold the 3D object.
Medical3DControl control3D = new Medical3DControl();
control3D.AddAction(MedicalViewerActionType.WindowLevel);
control3D.SetAction(MedicalViewerActionType.WindowLevel, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active);
Medical3DObject object3D = new Medical3DObject();
// Add the newly created 3D object to the control.
control3D.ObjectsContainer.Objects.Add(object3D);
object3D.Image = _codecs.Load(@"C:\Users\Public\Documents\LEADTOOLS Images\image1.dcm");
// Add the cell above to the MedicalViewer.
viewer.Cells.Add(control3D);
Controls.Add(viewer);
// Create a new cell that will hold the axial frame.
MedicalViewerMPRCell axialCell = new MedicalViewerMPRCell();
// adjust some properties to view the cross hair.
axialCell.ShowMPRCrossHair = true;
axialCell.DistinguishMPRByColor = true;
// Assign this cell (axialCell) to the AxialFrame property of the Medical 3D control
control3D.AxialFrame = axialCell;
// add the axial cell to the viewer
viewer.Cells.Add(axialCell);
// Create a new cell that will hold the coronal frame.
MedicalViewerMPRCell coronalCell = new MedicalViewerMPRCell();
// adjust some properties to view the cross hair.
coronalCell.ShowMPRCrossHair = true;
coronalCell.DistinguishMPRByColor = true;
// Assign this cell (coronalCell) to the CoronalFrame property of the Medical 3D control
control3D.CoronalFrame = coronalCell;
viewer.Cells.Add(coronalCell);
// Create a new cell that will hold the sagittal frame.
MedicalViewerMPRCell sagittalCell = new MedicalViewerMPRCell();
// adjust some properties to view the cross hair.
sagittalCell.ShowMPRCrossHair = true;
sagittalCell.DistinguishMPRByColor = true;
// Assign this cell (sagittalCell) to the SagittalFrame property of the Medical 3D control
control3D.SagittalFrame = sagittalCell;
viewer.Cells.Add(sagittalCell);
// Add the viewer as a child to the form.
this.Controls.Add(viewer);
End Sub
[C#]
void InitClass()
{
RasterSupport.SetLicense(RasterSupportType.Dicom, " Your Dicom Key");
RasterSupport.SetLicense(RasterSupportType.Medical, "Your Medical Key");
RasterSupport.SetLicense(RasterSupportType.Medical3d, "Your Medical 3D Key");
// Create a new instance of the Codecs class, which will be used to load the images.
RasterCodecs _codecs = new RasterCodecs();
// Create a new instance of the Medical Viewer. The layout will be divided to 2X2.
MedicalViewer viewer = new MedicalViewer(2, 2);
// Fit the view to the whole form
viewer.Dock = DockStyle.Fill;
// Create the 3D control that will hold the 3D object.
Medical3DControl control3D = new Medical3DControl();
control3D.AddAction(MedicalViewerActionType.WindowLevel);
control3D.SetAction(MedicalViewerActionType.WindowLevel, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active);
Medical3DObject object3D = new Medical3DObject();
// Add the newly created 3D object to the control.
control3D.ObjectsContainer.Objects.Add(object3D);
object3D.Image = _codecs.Load(@"C:\Users\Public\Documents\LEADTOOLS Images\image1.dcm");
// Add the cell above to the MedicalViewer.
viewer.Cells.Add(control3D);
Controls.Add(viewer);
// Create a new cell that will hold the axial frame.
MedicalViewerMPRCell axialCell = new MedicalViewerMPRCell();
// adjust some properties to view the cross hair.
axialCell.ShowMPRCrossHair = true;
axialCell.DistinguishMPRByColor = true;
// Assign this cell (axialCell) to the AxialFrame property of the Medical 3D control
control3D.AxialFrame = axialCell;
// add the axial cell to the viewer
viewer.Cells.Add(axialCell);
// Create a new cell that will hold the coronal frame.
MedicalViewerMPRCell coronalCell = new MedicalViewerMPRCell();
// adjust some properties to view the cross hair.
coronalCell.ShowMPRCrossHair = true;
coronalCell.DistinguishMPRByColor = true;
// Assign this cell (coronalCell) to the CoronalFrame property of the Medical 3D control
control3D.CoronalFrame = coronalCell;
viewer.Cells.Add(coronalCell);
// Create a new cell that will hold the sagittal frame.
MedicalViewerMPRCell sagittalCell = new MedicalViewerMPRCell();
// adjust some properties to view the cross hair.
sagittalCell.ShowMPRCrossHair = true;
sagittalCell.DistinguishMPRByColor = true;
// Assign this cell (sagittalCell) to the SagittalFrame property of the Medical 3D control
control3D.SagittalFrame = sagittalCell;
viewer.Cells.Add(sagittalCell);
// Add the viewer as a child to the form.
this.Controls.Add(viewer);
}
Note: To view higher quality images, we provide DICOMDIR sample files which can be downloaded from here. For more information on building 3D objects from a DICOMDIR, please see Loading a DICOMDIR To Create a 3D Object.