LEADTOOLS Medical (Leadtools.Medical3D assembly)

SaveState Method

Show in webframe





The file name for which the state data will be saved.
Saves the object status to a file.
Syntax
public void SaveState( 
   string fileName
)
'Declaration
 
Public Sub SaveState( _
   ByVal fileName As String _
) 
'Usage
 
Dim instance As Medical3DObject
Dim fileName As String
 
instance.SaveState(fileName)

            

            
public:
void SaveState( 
   String^ fileName
) 

Parameters

fileName
The file name for which the state data will be saved.
Remarks
Example
      Imports Leadtools
      Imports Leadtools.Codecs
      Imports Leadtools.MedicalViewer
      Imports Leadtools.Medical3D

      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 MinimumDensityValue As Integer = _medical3DControl.ObjectsContainer.Objects(0).MinimumValue
            Dim MaximumDensityValue As Integer = _medical3DControl.ObjectsContainer.Objects(0).MaximumValue

            ' Set 3D object Parameters to be saved
            ' Set WindowLevel
            _medical3DControl.ObjectsContainer.Objects(0).WindowLevelProperties.Center = MaximumDensityValue \ 2
            _medical3DControl.ObjectsContainer.Objects(0).WindowLevelProperties.Width = MaximumDensityValue \ 2

            ' Set Object Rotation Matrix
            _medical3DControl.ObjectsContainer.Objects(0).RotateX(100)
            _medical3DControl.ObjectsContainer.Objects(0).RotateY(20)
            _medical3DControl.ObjectsContainer.Objects(0).RotateZ(10)

            'Set Remove Density Parameters
            _medical3DControl.ObjectsContainer.Objects(0).UpperThreshold = MaximumDensityValue / 2.5F
            _medical3DControl.ObjectsContainer.Objects(0).LowerThreshold = MinimumDensityValue
            _medical3DControl.ObjectsContainer.Objects(0).RemoveInterval = Medical3DRemoveIntervalType.InnerRange
            _medical3DControl.ObjectsContainer.Objects(0).EnableThresholding = True

            'Set Slab Parameters
            _medical3DControl.ObjectsContainer.Objects(0).Slab.SetValues(0.75F, -1.0F, 0.5F, -0.5F, 1.0F, -1.0F)
            _medical3DControl.ObjectsContainer.Objects(0).Slab.Enabled = True

            Dim fileName As String = Path.Combine(LEAD_VARS.ImagesDir, "CT_PelvisState")
            _medical3DControl.ObjectsContainer.Objects(0).SaveState(fileName)

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

                int MinimumDensityValue = _medical3DControl.ObjectsContainer.Objects[0].MinimumValue;
                int MaximumDensityValue = _medical3DControl.ObjectsContainer.Objects[0].MaximumValue;

                // Set 3D object Parameters to be saved
                // Set WindowLevel
                _medical3DControl.ObjectsContainer.Objects[0].WindowLevelProperties.Center = MaximumDensityValue / 2;
                _medical3DControl.ObjectsContainer.Objects[0].WindowLevelProperties.Width = MaximumDensityValue / 2;

                // Set Object Rotation Matrix
                _medical3DControl.ObjectsContainer.Objects[0].RotateX(100);
                _medical3DControl.ObjectsContainer.Objects[0].RotateY(20);
                _medical3DControl.ObjectsContainer.Objects[0].RotateZ(10);

                //Set Remove Density Parameters
                _medical3DControl.ObjectsContainer.Objects[0].UpperThreshold = MaximumDensityValue / 2.5f;
                _medical3DControl.ObjectsContainer.Objects[0].LowerThreshold = MinimumDensityValue;
                _medical3DControl.ObjectsContainer.Objects[0].RemoveInterval = Medical3DRemoveIntervalType.InnerRange;
                _medical3DControl.ObjectsContainer.Objects[0].EnableThresholding = true;

                //Set Slab Parameters
                _medical3DControl.ObjectsContainer.Objects[0].Slab.SetValues(0.75f, -1.0f, 0.5f, -0.5f, 1.0f, -1.0f);
                _medical3DControl.ObjectsContainer.Objects[0].Slab.Enabled = true;

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

                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";
        }

      Imports Leadtools
      Imports Leadtools.Codecs
      Imports Leadtools.MedicalViewer
      Imports Leadtools.Medical3D

      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 MinimumDensityValue As Integer = _medical3DControl.ObjectsContainer.Objects(0).MinimumValue
            Dim MaximumDensityValue As Integer = _medical3DControl.ObjectsContainer.Objects(0).MaximumValue

            ' Set 3D object Parameters to be saved
            ' Set WindowLevel
            _medical3DControl.ObjectsContainer.Objects(0).WindowLevelProperties.Center = MaximumDensityValue \ 2
            _medical3DControl.ObjectsContainer.Objects(0).WindowLevelProperties.Width = MaximumDensityValue \ 2

            ' Set Object Rotation Matrix
            _medical3DControl.ObjectsContainer.Objects(0).RotateX(100)
            _medical3DControl.ObjectsContainer.Objects(0).RotateY(20)
            _medical3DControl.ObjectsContainer.Objects(0).RotateZ(10)

            'Set Remove Density Parameters
            _medical3DControl.ObjectsContainer.Objects(0).UpperThreshold = MaximumDensityValue / 2.5F
            _medical3DControl.ObjectsContainer.Objects(0).LowerThreshold = MinimumDensityValue
            _medical3DControl.ObjectsContainer.Objects(0).RemoveInterval = Medical3DRemoveIntervalType.InnerRange
            _medical3DControl.ObjectsContainer.Objects(0).EnableThresholding = True

            'Set Slab Parameters
            _medical3DControl.ObjectsContainer.Objects(0).Slab.SetValues(0.75F, -1.0F, 0.5F, -0.5F, 1.0F, -1.0F)
            _medical3DControl.ObjectsContainer.Objects(0).Slab.Enabled = True

            Dim fileName As String = Path.Combine(LEAD_VARS.ImagesDir, "CT_PelvisState")
            _medical3DControl.ObjectsContainer.Objects(0).SaveState(fileName)

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

                int MinimumDensityValue = _medical3DControl.ObjectsContainer.Objects[0].MinimumValue;
                int MaximumDensityValue = _medical3DControl.ObjectsContainer.Objects[0].MaximumValue;

                // Set 3D object Parameters to be saved
                // Set WindowLevel
                _medical3DControl.ObjectsContainer.Objects[0].WindowLevelProperties.Center = MaximumDensityValue / 2;
                _medical3DControl.ObjectsContainer.Objects[0].WindowLevelProperties.Width = MaximumDensityValue / 2;

                // Set Object Rotation Matrix
                _medical3DControl.ObjectsContainer.Objects[0].RotateX(100);
                _medical3DControl.ObjectsContainer.Objects[0].RotateY(20);
                _medical3DControl.ObjectsContainer.Objects[0].RotateZ(10);

                //Set Remove Density Parameters
                _medical3DControl.ObjectsContainer.Objects[0].UpperThreshold = MaximumDensityValue / 2.5f;
                _medical3DControl.ObjectsContainer.Objects[0].LowerThreshold = MinimumDensityValue;
                _medical3DControl.ObjectsContainer.Objects[0].RemoveInterval = Medical3DRemoveIntervalType.InnerRange;
                _medical3DControl.ObjectsContainer.Objects[0].EnableThresholding = true;

                //Set Slab Parameters
                _medical3DControl.ObjectsContainer.Objects[0].Slab.SetValues(0.75f, -1.0f, 0.5f, -0.5f, 1.0f, -1.0f);
                _medical3DControl.ObjectsContainer.Objects[0].Slab.Enabled = true;

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

                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";
        }

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

                int MinimumDensityValue = _medical3DControl.ObjectsContainer.Objects[0].MinimumValue;
                int MaximumDensityValue = _medical3DControl.ObjectsContainer.Objects[0].MaximumValue;

                // Set 3D object Parameters to be saved
                // Set WindowLevel
                _medical3DControl.ObjectsContainer.Objects[0].WindowLevelProperties.Center = MaximumDensityValue / 2;
                _medical3DControl.ObjectsContainer.Objects[0].WindowLevelProperties.Width = MaximumDensityValue / 2;

                // Set Object Rotation Matrix
                _medical3DControl.ObjectsContainer.Objects[0].RotateX(100);
                _medical3DControl.ObjectsContainer.Objects[0].RotateY(20);
                _medical3DControl.ObjectsContainer.Objects[0].RotateZ(10);

                //Set Remove Density Parameters
                _medical3DControl.ObjectsContainer.Objects[0].UpperThreshold = MaximumDensityValue / 2.5f;
                _medical3DControl.ObjectsContainer.Objects[0].LowerThreshold = MinimumDensityValue;
                _medical3DControl.ObjectsContainer.Objects[0].RemoveInterval = Medical3DRemoveIntervalType.InnerRange;
                _medical3DControl.ObjectsContainer.Objects[0].EnableThresholding = true;

                //Set Slab Parameters
                _medical3DControl.ObjectsContainer.Objects[0].Slab.SetValues(0.75f, -1.0f, 0.5f, -0.5f, 1.0f, -1.0f);
                _medical3DControl.ObjectsContainer.Objects[0].Slab.Enabled = true;

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

                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";
        }

Requirements

Target Platforms

See Also

Reference

Medical3DObject Class
Medical3DObject Members

 

 


Products | Support | Contact Us | Copyright Notices
© 2006-2014 All Rights Reserved. LEAD Technologies, Inc.

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