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.