Leadtools.Medical3D Namespace > Medical3DObject Class : XOffset Property |
public float XOffset {get; set;}
'Declaration Public Property XOffset As Single
'Usage Dim instance As Medical3DObject Dim value As Single instance.XOffset = value value = instance.XOffset
X/Y/Z offsets translate and change the 3D object position in the 3D world space.
Adjust the offset using the mouse. For more information refer to Leadtools.MedicalViewer.MedicalViewerBaseCell.AddAction(Leadtools.MedicalViewer.MedicalViewerActionType).
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 XPosition As Single = _medical3DControl.ObjectsContainer.Objects(0).XOffset Dim YPosition As Single = _medical3DControl.ObjectsContainer.Objects(0).YOffset Dim ZPosition As Single = _medical3DControl.ObjectsContainer.Objects(0).ZOffset ' Translate 3D object position to the left by 0.3f units, to the bottom by 0.4f units, and toward screen by 0.2f units. _medical3DControl.ObjectsContainer.Objects(0).XOffset = XPosition + 0.3f _medical3DControl.ObjectsContainer.Objects(0).YOffset = YPosition - 0.4f _medical3DControl.ObjectsContainer.Objects(0).ZOffset = ZPosition + 0.2f _medical3DControl.AddAction(MedicalViewerActionType.Rotate3DObject) _medical3DControl.SetAction(MedicalViewerActionType.Rotate3DObject, MedicalViewerMouseButtons.Left, 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); float XPosition = _medical3DControl.ObjectsContainer.Objects[0].XOffset; float YPosition = _medical3DControl.ObjectsContainer.Objects[0].YOffset; float ZPosition = _medical3DControl.ObjectsContainer.Objects[0].ZOffset; // Translate 3D object position to the left by 0.3f units, to the bottom by 0.4f units, and toward screen by 0.2f units. _medical3DControl.ObjectsContainer.Objects[0].XOffset = XPosition + 0.3f; _medical3DControl.ObjectsContainer.Objects[0].YOffset = YPosition - 0.4f; _medical3DControl.ObjectsContainer.Objects[0].ZOffset = ZPosition + 0.2f; _medical3DControl.AddAction(MedicalViewerActionType.Rotate3DObject); _medical3DControl.SetAction(MedicalViewerActionType.Rotate3DObject, MedicalViewerMouseButtons.Left, 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 XPosition As Single = _medical3DControl.ObjectsContainer.Objects(0).XOffset Dim YPosition As Single = _medical3DControl.ObjectsContainer.Objects(0).YOffset Dim ZPosition As Single = _medical3DControl.ObjectsContainer.Objects(0).ZOffset ' Translate 3D object position to the left by 0.3f units, to the bottom by 0.4f units, and toward screen by 0.2f units. _medical3DControl.ObjectsContainer.Objects(0).XOffset = XPosition + 0.3f _medical3DControl.ObjectsContainer.Objects(0).YOffset = YPosition - 0.4f _medical3DControl.ObjectsContainer.Objects(0).ZOffset = ZPosition + 0.2f _medical3DControl.AddAction(MedicalViewerActionType.Rotate3DObject) _medical3DControl.SetAction(MedicalViewerActionType.Rotate3DObject, MedicalViewerMouseButtons.Left, 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); float XPosition = _medical3DControl.ObjectsContainer.Objects[0].XOffset; float YPosition = _medical3DControl.ObjectsContainer.Objects[0].YOffset; float ZPosition = _medical3DControl.ObjectsContainer.Objects[0].ZOffset; // Translate 3D object position to the left by 0.3f units, to the bottom by 0.4f units, and toward screen by 0.2f units. _medical3DControl.ObjectsContainer.Objects[0].XOffset = XPosition + 0.3f; _medical3DControl.ObjectsContainer.Objects[0].YOffset = YPosition - 0.4f; _medical3DControl.ObjectsContainer.Objects[0].ZOffset = ZPosition + 0.2f; _medical3DControl.AddAction(MedicalViewerActionType.Rotate3DObject); _medical3DControl.SetAction(MedicalViewerActionType.Rotate3DObject, MedicalViewerMouseButtons.Left, 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);
float XPosition = _medical3DControl.ObjectsContainer.Objects[0].XOffset;
float YPosition = _medical3DControl.ObjectsContainer.Objects[0].YOffset;
float ZPosition = _medical3DControl.ObjectsContainer.Objects[0].ZOffset;
// Translate 3D object position to the left by 0.3f units, to the bottom by 0.4f units, and toward screen by 0.2f units.
_medical3DControl.ObjectsContainer.Objects[0].XOffset = XPosition + 0.3f;
_medical3DControl.ObjectsContainer.Objects[0].YOffset = YPosition - 0.4f;
_medical3DControl.ObjectsContainer.Objects[0].ZOffset = ZPosition + 0.2f;
_medical3DControl.AddAction(MedicalViewerActionType.Rotate3DObject);
_medical3DControl.SetAction(MedicalViewerActionType.Rotate3DObject, MedicalViewerMouseButtons.Left, 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);
}
}