LEADTOOLS Medical (Leadtools.Medical3D assembly) Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.30
ResetPosition Method
See Also 
Leadtools.Medical3D Namespace > Medical3DObject Class : ResetPosition Method



Resets the position of 3D object to (0, 0, 0).

Syntax

Visual Basic (Declaration) 
Public Sub ResetPosition() 
Visual Basic (Usage)Copy Code
Dim instance As Medical3DObject
 
instance.ResetPosition()
C# 
public void ResetPosition()
C++/CLI 
public:
void ResetPosition(); 

Example

Visual BasicCopy Code
<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 fileName As String = Path.Combine(LEAD_VARS.ImagesDir, "CT_PelvisState")
         _medical3DControl.ObjectsContainer.Objects(0).LoadState(fileName)

         ' LoadObject Parameters
         _medical3DControl.ObjectsContainer.Objects(0).ResetPosition()
         _medical3DControl.ObjectsContainer.Objects(0).ResetRotation()
         _medical3DControl.ObjectsContainer.Objects(0).ResetThresholdValues()
         _medical3DControl.ObjectsContainer.Objects(0).ResetScale()
         _medical3DControl.ObjectsContainer.Objects(0).Slab.Reset()
         _medical3DControl.ObjectsContainer.Objects(0).WindowLevelProperties.Reset()
         _medical3DControl.ResetOrientationCubePosition()

         _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

Public NotInheritable Class LEAD_VARS
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
C#Copy Code
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);

             string fileName = Path.Combine(LEAD_VARS.ImagesDir,@"Images\CT_PelvisState.nfo");
             _medical3DControl.ObjectsContainer.Objects[0].LoadState(fileName);

             // LoadObject Parameters
             _medical3DControl.ObjectsContainer.Objects[0].ResetPosition();
             _medical3DControl.ObjectsContainer.Objects[0].ResetRotation();
             _medical3DControl.ObjectsContainer.Objects[0].ResetThresholdValues();
             _medical3DControl.ObjectsContainer.Objects[0].ResetScale();
             _medical3DControl.ObjectsContainer.Objects[0].Slab.Reset();
             _medical3DControl.ObjectsContainer.Objects[0].WindowLevelProperties.Reset();
             _medical3DControl.ResetOrientationCubePosition();

             _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);
         }
     }

static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}

Remarks

This will reset the position of the 3D object to (0, 0, 0).

Requirements

Target Platforms: Microsoft .NET Framework 2.0, Windows 2000, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7

See Also

Leadtools.Medical3D requires a Document or Medical toolkit license and unlock key. For more information, refer to: Imaging Pro/Document/Medical Features