Gets the clipping planes array used to clip the 3D object when it is rendered.
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.MedicalViewer
Imports Leadtools.Medical3D
<Test> _
Public Sub Medical3DControlExample()
Dim LoadObject As Medical3DLoadDICOMSeriesExamples = New Medical3DLoadDICOMSeriesExamples()
Dim output As MedicalViewerSeriesManager = LoadObject.LoadJamesHead()
Dim form As MainForm1 = New MainForm1(output)
form.ShowDialog()
End Sub
' MainForm1 will be the owner of the medical viewer control.
Private Class MainForm1 : Inherits Form
Private _medical3DControl As Medical3DControl
Public Sub New(ByVal output As MedicalViewerSeriesManager)
Dim _codecs As RasterCodecs = New RasterCodecs()
Dim _image As RasterImage
Dim codecsInformation As CodecsImageInfo
_medical3DControl = New Medical3DControl()
AddHandler SizeChanged, AddressOf MainForm1_SizeChanged
AddHandler FormClosing, AddressOf MainForm1_FormClosing
_medical3DControl.ObjectsContainer.Objects.Add(New Medical3DObject())
Dim index As Integer
codecsInformation = _codecs.GetInformation(CStr(output.Stacks(0).Items(0).Data), True)
Dim width As Integer = codecsInformation.Width
Dim height As Integer = codecsInformation.Height
Dim depth As Integer = 256
_medical3DControl.ObjectsContainer.Objects(0).MemoryEfficientInit(depth)
index = 0
Do While index < depth
_image = _codecs.Load(CStr(output.Stacks(0).Items(index).Data), 0, CodecsLoadByteOrder.BgrOrGrayOrRomm, 1, 1)
_medical3DControl.ObjectsContainer.Objects(0).MemoryEfficientSetFrame(_image, index, output.Stacks(0).Items(index).ImagePosition, True)
index += 1
Loop
Dim spearator As String = ("\")
Dim test As String() = output.Stacks(0).Items(0).ImageOrientation.Split(spearator.ToCharArray())
Dim orientation As Single() = New Single(5){}
Dim i As Integer
For i = 0 To 5
orientation(i) = CSng(Convert.ToDouble(test(i)))
Next i
_medical3DControl.ObjectsContainer.Objects(0).MemoryEfficientEnd(orientation, output.Stacks(0).PixelSpacing)
Dim Normal As Point3D = New Point3D(1, 0, 0)
Dim Point As Point3D = New Point3D(0, 0, 0)
_medical3DControl.ObjectsContainer.Objects(0).Planes(0).Normal = Normal
_medical3DControl.ObjectsContainer.Objects(0).Planes(0).Point = Point
_medical3DControl.ObjectsContainer.Objects(0).Planes(0).Axis = Medical3DAxis.X
_medical3DControl.ObjectsContainer.Objects(0).Planes(0).Space = Medical3DSpace.Object
_medical3DControl.ObjectsContainer.Objects(0).Planes(0).Enabled = True
Normal = New Point3D(0, 1.0f, 0)
Point = New Point3D(0, 0.5f, 0)
_medical3DControl.ObjectsContainer.Objects(0).Planes(2).SetPlanePoints(Point, Normal)
_medical3DControl.ObjectsContainer.Objects(0).Planes(2).Axis = Medical3DAxis.X
_medical3DControl.ObjectsContainer.Objects(0).Planes(2).Space = Medical3DSpace.View
_medical3DControl.ObjectsContainer.Objects(0).Planes(2).Move(0.1f)
_medical3DControl.ObjectsContainer.Objects(0).Planes(2).Rotate(10)
_medical3DControl.ObjectsContainer.Objects(0).Planes(2).Enabled = True
_medical3DControl.ObjectsContainer.Objects(0).EnableClippingPlanes = True
_medical3DControl.AddAction(MedicalViewerActionType.TranslatePlane)
_medical3DControl.SetAction(MedicalViewerActionType.TranslatePlane, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active)
_medical3DControl.AddAction(MedicalViewerActionType.RotatePlane)
_medical3DControl.SetAction(MedicalViewerActionType.RotatePlane, MedicalViewerMouseButtons.Right, MedicalViewerActionFlags.Active)
Controls.Add(_medical3DControl)
End Sub
Private Sub MainForm1_FormClosing(ByVal sender As Object, ByVal e As FormClosingEventArgs)
_medical3DControl.Dispose()
End Sub
Private Sub MainForm1_SizeChanged(ByVal sender As Object, ByVal e As EventArgs)
If Not _medical3DControl Is Nothing Then
_medical3DControl.Size = New Size(Me.ClientRectangle.Right, Me.ClientRectangle.Bottom)
End If
End Sub
End Class
using Leadtools;
using Leadtools.Codecs;
using Leadtools.MedicalViewer;
using Leadtools.Medical3D;
public void Medical3DControlExample()
{
Medical3DLoadDICOMSeriesExamples LoadObject = new Medical3DLoadDICOMSeriesExamples();
MedicalViewerSeriesManager output = LoadObject.LoadJamesHead();
MainForm1 form = new MainForm1(output);
form.ShowDialog();
}
// MainForm1 will be the owner of the medical viewer control.
class MainForm1 : Form
{
private Medical3DControl _medical3DControl;
public MainForm1(MedicalViewerSeriesManager output)
{
RasterCodecs _codecs = new RasterCodecs();
RasterImage _image;
CodecsImageInfo codecsInformation;
_medical3DControl = new Medical3DControl();
this.SizeChanged += new EventHandler(MainForm1_SizeChanged);
this.FormClosing += new FormClosingEventHandler(MainForm1_FormClosing);
_medical3DControl.ObjectsContainer.Objects.Add(new Medical3DObject());
int index;
codecsInformation = _codecs.GetInformation((string)output.Stacks[0].Items[0].Data, true);
int width = codecsInformation.Width;
int height = codecsInformation.Height;
int depth = 256;
_medical3DControl.ObjectsContainer.Objects[0].MemoryEfficientInit(depth);
for (index = 0; index < depth; index++)
{
_image = _codecs.Load((string)output.Stacks[0].Items[index].Data, 0, CodecsLoadByteOrder.BgrOrGrayOrRomm, 1, 1);
_medical3DControl.ObjectsContainer.Objects[0].MemoryEfficientSetFrame(_image, index, output.Stacks[0].Items[index].ImagePosition, true);
}
string spearator = ("\\");
string[] test = output.Stacks[0].Items[0].ImageOrientation.Split(spearator.ToCharArray());
float[] orientation = new float[6];
int i;
for (i = 0; i < 6; i++)
{
orientation[i] = (float)Convert.ToDouble(test[i]);
}
_medical3DControl.ObjectsContainer.Objects[0].MemoryEfficientEnd(orientation, output.Stacks[0].PixelSpacing);
Point3D Normal = new Point3D(1, 0, 0);
Point3D Point = new Point3D(0, 0, 0);
_medical3DControl.ObjectsContainer.Objects[0].Planes[0].Normal = Normal;
_medical3DControl.ObjectsContainer.Objects[0].Planes[0].Point = Point;
_medical3DControl.ObjectsContainer.Objects[0].Planes[0].Axis = Medical3DAxis.X;
_medical3DControl.ObjectsContainer.Objects[0].Planes[0].Space = Medical3DSpace.Object;
_medical3DControl.ObjectsContainer.Objects[0].Planes[0].Enabled = true;
Normal = new Point3D(0, 1.0f, 0);
Point = new Point3D(0, 0.5f, 0);
_medical3DControl.ObjectsContainer.Objects[0].Planes[2].SetPlanePoints(Point, Normal);
_medical3DControl.ObjectsContainer.Objects[0].Planes[2].Axis = Medical3DAxis.X;
_medical3DControl.ObjectsContainer.Objects[0].Planes[2].Space = Medical3DSpace.View;
_medical3DControl.ObjectsContainer.Objects[0].Planes[2].Move(0.1f);
_medical3DControl.ObjectsContainer.Objects[0].Planes[2].Rotate(10);
_medical3DControl.ObjectsContainer.Objects[0].Planes[2].Enabled = true;
_medical3DControl.ObjectsContainer.Objects[0].EnableClippingPlanes = true;
_medical3DControl.AddAction(MedicalViewerActionType.TranslatePlane);
_medical3DControl.SetAction(MedicalViewerActionType.TranslatePlane, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active);
_medical3DControl.AddAction(MedicalViewerActionType.RotatePlane);
_medical3DControl.SetAction(MedicalViewerActionType.RotatePlane, MedicalViewerMouseButtons.Right, MedicalViewerActionFlags.Active);
Controls.Add(_medical3DControl);
}
void MainForm1_FormClosing(object sender, FormClosingEventArgs e)
{
_medical3DControl.Dispose();
}
void MainForm1_SizeChanged(object sender, EventArgs e)
{
if (_medical3DControl != null)
_medical3DControl.Size = new Size(this.ClientRectangle.Right, this.ClientRectangle.Bottom);
}
}
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.MedicalViewer
Imports Leadtools.Medical3D
<Test> _
Public Sub Medical3DControlExample()
Dim LoadObject As Medical3DLoadDICOMSeriesExamples = New Medical3DLoadDICOMSeriesExamples()
Dim output As MedicalViewerSeriesManager = LoadObject.LoadJamesHead()
Dim form As MainForm1 = New MainForm1(output)
form.ShowDialog()
End Sub
' MainForm1 will be the owner of the medical viewer control.
Private Class MainForm1 : Inherits Form
Private _medical3DControl As Medical3DControl
Public Sub New(ByVal output As MedicalViewerSeriesManager)
Dim _codecs As RasterCodecs = New RasterCodecs()
Dim _image As RasterImage
Dim codecsInformation As CodecsImageInfo
_medical3DControl = New Medical3DControl()
AddHandler SizeChanged, AddressOf MainForm1_SizeChanged
AddHandler FormClosing, AddressOf MainForm1_FormClosing
_medical3DControl.ObjectsContainer.Objects.Add(New Medical3DObject())
Dim index As Integer
codecsInformation = _codecs.GetInformation(CStr(output.Stacks(0).Items(0).Data), True)
Dim width As Integer = codecsInformation.Width
Dim height As Integer = codecsInformation.Height
Dim depth As Integer = 256
_medical3DControl.ObjectsContainer.Objects(0).MemoryEfficientInit(depth)
index = 0
Do While index < depth
_image = _codecs.Load(CStr(output.Stacks(0).Items(index).Data), 0, CodecsLoadByteOrder.BgrOrGrayOrRomm, 1, 1)
_medical3DControl.ObjectsContainer.Objects(0).MemoryEfficientSetFrame(_image, index, output.Stacks(0).Items(index).ImagePosition, True)
index += 1
Loop
Dim spearator As String = ("\")
Dim test As String() = output.Stacks(0).Items(0).ImageOrientation.Split(spearator.ToCharArray())
Dim orientation As Single() = New Single(5){}
Dim i As Integer
For i = 0 To 5
orientation(i) = CSng(Convert.ToDouble(test(i)))
Next i
_medical3DControl.ObjectsContainer.Objects(0).MemoryEfficientEnd(orientation, output.Stacks(0).PixelSpacing)
Dim Normal As Point3D = New Point3D(1, 0, 0)
Dim Point As Point3D = New Point3D(0, 0, 0)
_medical3DControl.ObjectsContainer.Objects(0).Planes(0).Normal = Normal
_medical3DControl.ObjectsContainer.Objects(0).Planes(0).Point = Point
_medical3DControl.ObjectsContainer.Objects(0).Planes(0).Axis = Medical3DAxis.X
_medical3DControl.ObjectsContainer.Objects(0).Planes(0).Space = Medical3DSpace.Object
_medical3DControl.ObjectsContainer.Objects(0).Planes(0).Enabled = True
Normal = New Point3D(0, 1.0f, 0)
Point = New Point3D(0, 0.5f, 0)
_medical3DControl.ObjectsContainer.Objects(0).Planes(2).SetPlanePoints(Point, Normal)
_medical3DControl.ObjectsContainer.Objects(0).Planes(2).Axis = Medical3DAxis.X
_medical3DControl.ObjectsContainer.Objects(0).Planes(2).Space = Medical3DSpace.View
_medical3DControl.ObjectsContainer.Objects(0).Planes(2).Move(0.1f)
_medical3DControl.ObjectsContainer.Objects(0).Planes(2).Rotate(10)
_medical3DControl.ObjectsContainer.Objects(0).Planes(2).Enabled = True
_medical3DControl.ObjectsContainer.Objects(0).EnableClippingPlanes = True
_medical3DControl.AddAction(MedicalViewerActionType.TranslatePlane)
_medical3DControl.SetAction(MedicalViewerActionType.TranslatePlane, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active)
_medical3DControl.AddAction(MedicalViewerActionType.RotatePlane)
_medical3DControl.SetAction(MedicalViewerActionType.RotatePlane, MedicalViewerMouseButtons.Right, MedicalViewerActionFlags.Active)
Controls.Add(_medical3DControl)
End Sub
Private Sub MainForm1_FormClosing(ByVal sender As Object, ByVal e As FormClosingEventArgs)
_medical3DControl.Dispose()
End Sub
Private Sub MainForm1_SizeChanged(ByVal sender As Object, ByVal e As EventArgs)
If Not _medical3DControl Is Nothing Then
_medical3DControl.Size = New Size(Me.ClientRectangle.Right, Me.ClientRectangle.Bottom)
End If
End Sub
End Class
using Leadtools;
using Leadtools.Codecs;
using Leadtools.MedicalViewer;
using Leadtools.Medical3D;
public void Medical3DControlExample()
{
Medical3DLoadDICOMSeriesExamples LoadObject = new Medical3DLoadDICOMSeriesExamples();
MedicalViewerSeriesManager output = LoadObject.LoadJamesHead();
MainForm1 form = new MainForm1(output);
form.ShowDialog();
}
// MainForm1 will be the owner of the medical viewer control.
class MainForm1 : Form
{
private Medical3DControl _medical3DControl;
public MainForm1(MedicalViewerSeriesManager output)
{
RasterCodecs _codecs = new RasterCodecs();
RasterImage _image;
CodecsImageInfo codecsInformation;
_medical3DControl = new Medical3DControl();
this.SizeChanged += new EventHandler(MainForm1_SizeChanged);
this.FormClosing += new FormClosingEventHandler(MainForm1_FormClosing);
_medical3DControl.ObjectsContainer.Objects.Add(new Medical3DObject());
int index;
codecsInformation = _codecs.GetInformation((string)output.Stacks[0].Items[0].Data, true);
int width = codecsInformation.Width;
int height = codecsInformation.Height;
int depth = 256;
_medical3DControl.ObjectsContainer.Objects[0].MemoryEfficientInit(depth);
for (index = 0; index < depth; index++)
{
_image = _codecs.Load((string)output.Stacks[0].Items[index].Data, 0, CodecsLoadByteOrder.BgrOrGrayOrRomm, 1, 1);
_medical3DControl.ObjectsContainer.Objects[0].MemoryEfficientSetFrame(_image, index, output.Stacks[0].Items[index].ImagePosition, true);
}
string spearator = ("\\");
string[] test = output.Stacks[0].Items[0].ImageOrientation.Split(spearator.ToCharArray());
float[] orientation = new float[6];
int i;
for (i = 0; i < 6; i++)
{
orientation[i] = (float)Convert.ToDouble(test[i]);
}
_medical3DControl.ObjectsContainer.Objects[0].MemoryEfficientEnd(orientation, output.Stacks[0].PixelSpacing);
Point3D Normal = new Point3D(1, 0, 0);
Point3D Point = new Point3D(0, 0, 0);
_medical3DControl.ObjectsContainer.Objects[0].Planes[0].Normal = Normal;
_medical3DControl.ObjectsContainer.Objects[0].Planes[0].Point = Point;
_medical3DControl.ObjectsContainer.Objects[0].Planes[0].Axis = Medical3DAxis.X;
_medical3DControl.ObjectsContainer.Objects[0].Planes[0].Space = Medical3DSpace.Object;
_medical3DControl.ObjectsContainer.Objects[0].Planes[0].Enabled = true;
Normal = new Point3D(0, 1.0f, 0);
Point = new Point3D(0, 0.5f, 0);
_medical3DControl.ObjectsContainer.Objects[0].Planes[2].SetPlanePoints(Point, Normal);
_medical3DControl.ObjectsContainer.Objects[0].Planes[2].Axis = Medical3DAxis.X;
_medical3DControl.ObjectsContainer.Objects[0].Planes[2].Space = Medical3DSpace.View;
_medical3DControl.ObjectsContainer.Objects[0].Planes[2].Move(0.1f);
_medical3DControl.ObjectsContainer.Objects[0].Planes[2].Rotate(10);
_medical3DControl.ObjectsContainer.Objects[0].Planes[2].Enabled = true;
_medical3DControl.ObjectsContainer.Objects[0].EnableClippingPlanes = true;
_medical3DControl.AddAction(MedicalViewerActionType.TranslatePlane);
_medical3DControl.SetAction(MedicalViewerActionType.TranslatePlane, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active);
_medical3DControl.AddAction(MedicalViewerActionType.RotatePlane);
_medical3DControl.SetAction(MedicalViewerActionType.RotatePlane, MedicalViewerMouseButtons.Right, MedicalViewerActionFlags.Active);
Controls.Add(_medical3DControl);
}
void MainForm1_FormClosing(object sender, FormClosingEventArgs e)
{
_medical3DControl.Dispose();
}
void MainForm1_SizeChanged(object sender, EventArgs e)
{
if (_medical3DControl != null)
_medical3DControl.Size = new Size(this.ClientRectangle.Right, this.ClientRectangle.Bottom);
}
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.MedicalViewer;
using Leadtools.Medical3D;
public void Medical3DControlExample()
{
Medical3DLoadDICOMSeriesExamples LoadObject = new Medical3DLoadDICOMSeriesExamples();
MedicalViewerSeriesManager output = LoadObject.LoadJamesHead();
MainForm1 form = new MainForm1(output);
form.ShowDialog();
}
// MainForm1 will be the owner of the medical viewer control.
class MainForm1 : Form
{
private Medical3DControl _medical3DControl;
public MainForm1(MedicalViewerSeriesManager output)
{
RasterCodecs _codecs = new RasterCodecs();
RasterImage _image;
CodecsImageInfo codecsInformation;
_medical3DControl = new Medical3DControl();
this.SizeChanged += new EventHandler(MainForm1_SizeChanged);
this.FormClosing += new FormClosingEventHandler(MainForm1_FormClosing);
_medical3DControl.ObjectsContainer.Objects.Add(new Medical3DObject());
int index;
codecsInformation = _codecs.GetInformation((string)output.Stacks[0].Items[0].Data, true);
int width = codecsInformation.Width;
int height = codecsInformation.Height;
int depth = 256;
_medical3DControl.ObjectsContainer.Objects[0].MemoryEfficientInit(depth);
for (index = 0; index < depth; index++)
{
_image = _codecs.Load((string)output.Stacks[0].Items[index].Data, 0, CodecsLoadByteOrder.BgrOrGrayOrRomm, 1, 1);
_medical3DControl.ObjectsContainer.Objects[0].MemoryEfficientSetFrame(_image, index, output.Stacks[0].Items[index].ImagePosition, true);
}
string spearator = ("\\");
string[] test = output.Stacks[0].Items[0].ImageOrientation.Split(spearator.ToCharArray());
float[] orientation = new float[6];
int i;
for (i = 0; i < 6; i++)
{
orientation[i] = (float)Convert.ToDouble(test[i]);
}
_medical3DControl.ObjectsContainer.Objects[0].MemoryEfficientEnd(orientation, output.Stacks[0].PixelSpacing);
Point3D Normal = new Point3D(1, 0, 0);
Point3D Point = new Point3D(0, 0, 0);
_medical3DControl.ObjectsContainer.Objects[0].Planes[0].Normal = Normal;
_medical3DControl.ObjectsContainer.Objects[0].Planes[0].Point = Point;
_medical3DControl.ObjectsContainer.Objects[0].Planes[0].Axis = Medical3DAxis.X;
_medical3DControl.ObjectsContainer.Objects[0].Planes[0].Space = Medical3DSpace.Object;
_medical3DControl.ObjectsContainer.Objects[0].Planes[0].Enabled = true;
Normal = new Point3D(0, 1.0f, 0);
Point = new Point3D(0, 0.5f, 0);
_medical3DControl.ObjectsContainer.Objects[0].Planes[2].SetPlanePoints(Point, Normal);
_medical3DControl.ObjectsContainer.Objects[0].Planes[2].Axis = Medical3DAxis.X;
_medical3DControl.ObjectsContainer.Objects[0].Planes[2].Space = Medical3DSpace.View;
_medical3DControl.ObjectsContainer.Objects[0].Planes[2].Move(0.1f);
_medical3DControl.ObjectsContainer.Objects[0].Planes[2].Rotate(10);
_medical3DControl.ObjectsContainer.Objects[0].Planes[2].Enabled = true;
_medical3DControl.ObjectsContainer.Objects[0].EnableClippingPlanes = true;
_medical3DControl.AddAction(MedicalViewerActionType.TranslatePlane);
_medical3DControl.SetAction(MedicalViewerActionType.TranslatePlane, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active);
_medical3DControl.AddAction(MedicalViewerActionType.RotatePlane);
_medical3DControl.SetAction(MedicalViewerActionType.RotatePlane, MedicalViewerMouseButtons.Right, MedicalViewerActionFlags.Active);
Controls.Add(_medical3DControl);
}
void MainForm1_FormClosing(object sender, FormClosingEventArgs e)
{
_medical3DControl.Dispose();
}
void MainForm1_SizeChanged(object sender, EventArgs e)
{
if (_medical3DControl != null)
_medical3DControl.Size = new Size(this.ClientRectangle.Right, this.ClientRectangle.Bottom);
}
}