LEADTOOLS Medical (Leadtools.MedicalViewer assembly)

LoadAnnotations(Stream,Int32) Method

Show in webframe





A System.IO.Stream that contains the file being loaded.
The zero-based index of the sub-cell to which the annotation container will be loaded.
Loads the annotation container to the specified sub-cell index from a file.
Syntax
public void LoadAnnotations( 
   Stream stream,
   int subCellIndex
)
'Declaration
 
Public Overloads Sub LoadAnnotations( _
   ByVal stream As Stream, _
   ByVal subCellIndex As Integer _
) 
'Usage
 
Dim instance As MedicalViewerMultiCell
Dim stream As Stream
Dim subCellIndex As Integer
 
instance.LoadAnnotations(stream, subCellIndex)

            

            
public:
void LoadAnnotations( 
   Stream^ stream,
   int subCellIndex
) 

Parameters

stream
A System.IO.Stream that contains the file being loaded.
subCellIndex
The zero-based index of the sub-cell to which the annotation container will be loaded.
Remarks
Example
        Imports Leadtools
        Imports Leadtools.Drawing
        Imports Leadtools.Codecs
        Imports Leadtools.MedicalViewer
        Imports Leadtools.ImageProcessing
        Imports Leadtools.Annotations

        Private Class MedicalViewerForm16 : Inherits Form
            Private _medicalViewer As MedicalViewer
            Private LoadAnnotation As Button
            Private SaveAnnotation As Button
            Private Sub MedicalViewerForm_SizeChanged(ByVal sender As Object, ByVal e As EventArgs)
                _medicalViewer.Bounds = New Rectangle(0, 100, Me.ClientRectangle.Right, Me.ClientRectangle.Bottom - 100)
            End Sub


            Public Sub New()
                Dim _codecs As RasterCodecs = New RasterCodecs()
                Dim _image As RasterImage

                AddHandler SizeChanged, AddressOf MedicalViewerForm_SizeChanged

                ' Create the medical viewer and adjust the size and the location.
                _medicalViewer = New MedicalViewer(1, 2)
                _medicalViewer.Location = New Point(0, 100)
                _medicalViewer.Size = New Size(Me.ClientRectangle.Right, Me.ClientRectangle.Bottom - 100)

                ' Load an image and then add it to the control.
                _image = _codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "xa.dcm"))
                Dim cell As MedicalViewerMultiCell = New MedicalViewerMultiCell(_image, True, 1, 1)
                _medicalViewer.Cells.Add(cell)

                ' add some actions that will be used to change the properties of the images inside the control.
                cell.AddAction(MedicalViewerActionType.AnnotationRectangle)
                cell.AddAction(MedicalViewerActionType.AnnotationEllipse)
                cell.AddAction(MedicalViewerActionType.AnnotationHilite)

                ' assign the added actions to a mouse button, meaning that when the user clicks and drags the mouse button, the associated action will be activated.
                cell.SetAction(MedicalViewerActionType.AnnotationRectangle, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active)
                cell.SetAction(MedicalViewerActionType.AnnotationEllipse, MedicalViewerMouseButtons.Middle, MedicalViewerActionFlags.Active)
                cell.SetAction(MedicalViewerActionType.AnnotationHilite, MedicalViewerMouseButtons.Right, MedicalViewerActionFlags.Active)

                ' adjust some properties of the cell and add some tags.
                _medicalViewer.Cells(0).SetTag(2, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.UserData, "EX. ID 230-36-5448")
                _medicalViewer.Cells(0).SetTag(4, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Frame)
                _medicalViewer.Cells(0).SetTag(6, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Scale)
                _medicalViewer.Cells(0).SetTag(2, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.WindowLevelData)
                _medicalViewer.Cells(0).SetTag(1, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.FieldOfView)


                ' Load another image and then add it to the control.
                _image = _codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "mr.dcm"))
                _medicalViewer.Cells.Add(New MedicalViewerMultiCell(_image, True, 2, 2))

                ' add some actions that will be used to change the properties of the images inside the control.
                _medicalViewer.Cells(1).AddAction(MedicalViewerActionType.AnnotationRectangle)
                _medicalViewer.Cells(1).AddAction(MedicalViewerActionType.AnnotationEllipse)
                _medicalViewer.Cells(1).AddAction(MedicalViewerActionType.AnnotationHilite)

                ' assign the added actions to a mouse button, meaning that when the user clicks and drags the mouse button, the associated action will be activated.
                _medicalViewer.Cells(1).SetAction(MedicalViewerActionType.AnnotationRectangle, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active)
                _medicalViewer.Cells(1).SetAction(MedicalViewerActionType.AnnotationEllipse, MedicalViewerMouseButtons.Middle, MedicalViewerActionFlags.Active)
                _medicalViewer.Cells(1).SetAction(MedicalViewerActionType.AnnotationHilite, MedicalViewerMouseButtons.Right, MedicalViewerActionFlags.Active)

                ' adjust some properties of the cell and add some tags.
                _medicalViewer.Cells(1).SetTag(2, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.UserData, "EX. ID 230-36-5448")
                _medicalViewer.Cells(1).SetTag(4, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Frame)
                _medicalViewer.Cells(1).SetTag(6, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Scale)
                _medicalViewer.Cells(1).SetTag(2, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.WindowLevelData)
                _medicalViewer.Cells(1).SetTag(1, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.FieldOfView)



                LoadAnnotation = New Button()
                LoadAnnotation.Bounds = New Rectangle(10, 10, 100, 30)
                LoadAnnotation.Text = "Load Annotation"
                AddHandler LoadAnnotation.Click, AddressOf LoadAnnotation_Click

                SaveAnnotation = New Button()
                SaveAnnotation.Bounds = New Rectangle(110, 10, 100, 30)
                SaveAnnotation.Text = "Save Annotation"
                AddHandler SaveAnnotation.Click, AddressOf SaveAnnotation_Click

                Controls.AddRange(New Control() {_medicalViewer, LoadAnnotation, SaveAnnotation})

            End Sub

            Public ReadOnly Property Viewer() As MedicalViewer
                Get
                    Return _medicalViewer
                End Get
            End Property

            Private Function GetFileStream() As FileStream
                Dim fs As FileStream
                If File.Exists(Path.Combine(LEAD_VARS.ImagesDir, "SavedAnnotation.ann")) Then
                    fs = New FileStream(Path.Combine(LEAD_VARS.ImagesDir, "SavedAnnotation.ann"), FileMode.Open)
                Else
                    fs = File.Create(Path.Combine(LEAD_VARS.ImagesDir, "SavedAnnotation.ann"))
                End If

                Return fs
            End Function

            Private Sub SaveAnnotation_Click(ByVal sender As Object, ByVal e As EventArgs)
                Dim fs As FileStream = GetFileStream()
                Dim cell As MedicalViewerMultiCell = CType(_medicalViewer.Cells(0), MedicalViewerMultiCell)

                cell.SaveAnnotations(fs, 0)
                fs.Close()
            End Sub

            Private Sub LoadAnnotation_Click(ByVal sender As Object, ByVal e As EventArgs)
                Dim fs As FileStream = GetFileStream()
                Dim cell As MedicalViewerMultiCell = CType(_medicalViewer.Cells(0), MedicalViewerMultiCell)

                cell.LoadAnnotations(fs, 0)
                fs.Close()
            End Sub
        End Class


        Private Function GetMedicalControl16() As MedicalViewerForm16
            Return New MedicalViewerForm16()
        End Function

        ' This example copied the annotation container of the sub-cell when user right clicks on it, and paste the annotation container on the sub-cell that the user click on it using the left mouse button.

        Public Sub MedicalViewerSaveAnnotationStreamExample()
            Dim myForm As MedicalViewerForm16 = GetMedicalControl16()
            Dim medicalViewer As MedicalViewer = myForm.Viewer

            myForm.ShowDialog()
        End Sub


        Public NotInheritable Class LEAD_VARS
        Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
        End Class
        using Leadtools;
        using Leadtools.Drawing;
        using Leadtools.Codecs;
        using Leadtools.MedicalViewer;
        using Leadtools.ImageProcessing;
        using Leadtools.Annotations;

        class MedicalViewerForm16 : Form
        {
            private MedicalViewer _medicalViewer;
            Button LoadAnnotation;
            Button SaveAnnotation;
            void MedicalViewerForm_SizeChanged(object sender, EventArgs e)
            {
                _medicalViewer.Bounds = new Rectangle(0, 100, this.ClientRectangle.Right, this.ClientRectangle.Bottom - 100);
            }


            public MedicalViewerForm16()
            {
                RasterCodecs _codecs = new RasterCodecs();
                RasterImage _image;

                this.SizeChanged += new EventHandler(MedicalViewerForm_SizeChanged);

                // Create the medical viewer and adjust the size and the location.
                _medicalViewer = new MedicalViewer(1, 2);
                _medicalViewer.Location = new Point(0, 100);
                _medicalViewer.Size = new Size(this.ClientRectangle.Right, this.ClientRectangle.Bottom - 100);

                // Load an image and then add it to the control.
                _image = _codecs.Load(Path.Combine(LEAD_VARS.ImagesDir,"xa.dcm"));
                MedicalViewerMultiCell cell = new MedicalViewerMultiCell(_image, true, 1, 1);
                _medicalViewer.Cells.Add(cell);

                // add some actions that will be used to change the properties of the images inside the control.
                cell.AddAction(MedicalViewerActionType.AnnotationRectangle);
                cell.AddAction(MedicalViewerActionType.AnnotationEllipse);
                cell.AddAction(MedicalViewerActionType.AnnotationHilite);

                // assign the added actions to a mouse button, meaning that when the user clicks and drags the mouse button, the associated action will be activated.
                cell.SetAction(MedicalViewerActionType.AnnotationRectangle, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active);
                cell.SetAction(MedicalViewerActionType.AnnotationEllipse, MedicalViewerMouseButtons.Middle, MedicalViewerActionFlags.Active);
                cell.SetAction(MedicalViewerActionType.AnnotationHilite, MedicalViewerMouseButtons.Right, MedicalViewerActionFlags.Active);

                // adjust some properties of the cell and add some tags.
                _medicalViewer.Cells[0].SetTag(2, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.UserData, "EX. ID 230-36-5448");
                _medicalViewer.Cells[0].SetTag(4, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Frame);
                _medicalViewer.Cells[0].SetTag(6, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Scale);
                _medicalViewer.Cells[0].SetTag(2, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.WindowLevelData);
                _medicalViewer.Cells[0].SetTag(1, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.FieldOfView);


                // Load another image and then add it to the control.
                _image = _codecs.Load(Path.Combine(LEAD_VARS.ImagesDir,"mr.dcm"));
                _medicalViewer.Cells.Add(new MedicalViewerMultiCell(_image, true, 2, 2));

                // add some actions that will be used to change the properties of the images inside the control.
                _medicalViewer.Cells[1].AddAction(MedicalViewerActionType.AnnotationRectangle);
                _medicalViewer.Cells[1].AddAction(MedicalViewerActionType.AnnotationEllipse);
                _medicalViewer.Cells[1].AddAction(MedicalViewerActionType.AnnotationHilite);

                // assign the added actions to a mouse button, meaning that when the user clicks and drags the mouse button, the associated action will be activated.
                _medicalViewer.Cells[1].SetAction(MedicalViewerActionType.AnnotationRectangle, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active);
                _medicalViewer.Cells[1].SetAction(MedicalViewerActionType.AnnotationEllipse, MedicalViewerMouseButtons.Middle, MedicalViewerActionFlags.Active);
                _medicalViewer.Cells[1].SetAction(MedicalViewerActionType.AnnotationHilite, MedicalViewerMouseButtons.Right, MedicalViewerActionFlags.Active);

                // adjust some properties of the cell and add some tags.
                _medicalViewer.Cells[1].SetTag(2, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.UserData, "EX. ID 230-36-5448");
                _medicalViewer.Cells[1].SetTag(4, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Frame);
                _medicalViewer.Cells[1].SetTag(6, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Scale);
                _medicalViewer.Cells[1].SetTag(2, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.WindowLevelData);
                _medicalViewer.Cells[1].SetTag(1, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.FieldOfView);



                LoadAnnotation = new Button();
                LoadAnnotation.Bounds = new Rectangle(10, 10, 100, 30);
                LoadAnnotation.Text = "Load Annotation";
                LoadAnnotation.Click += new EventHandler(LoadAnnotation_Click);

                SaveAnnotation = new Button();
                SaveAnnotation.Bounds = new Rectangle(110, 10, 100, 30);
                SaveAnnotation.Text = "Save Annotation";
                SaveAnnotation.Click += new EventHandler(SaveAnnotation_Click);

                Controls.AddRange(new Control[] { _medicalViewer, LoadAnnotation, SaveAnnotation });

            }

            public MedicalViewer Viewer
            {
                get { return _medicalViewer; }
            }

            FileStream GetFileStream()
            {
                FileStream fs;
                if (File.Exists(Path.Combine(LEAD_VARS.ImagesDir,"SavedAnnotation.ann")))
                    fs = new FileStream(Path.Combine(LEAD_VARS.ImagesDir,"SavedAnnotation.ann"), FileMode.Open);
                else
                    fs = File.Create(Path.Combine(LEAD_VARS.ImagesDir,"SavedAnnotation.ann"));

                return fs;
            }

            void SaveAnnotation_Click(object sender, EventArgs e)
            {
                FileStream fs = GetFileStream();
                MedicalViewerMultiCell cell = (MedicalViewerMultiCell)(_medicalViewer.Cells[0]);

                cell.SaveAnnotations(fs, 0);
                fs.Close();
            }

            void LoadAnnotation_Click(object sender, EventArgs e)
            {
                FileStream fs = GetFileStream();
                MedicalViewerMultiCell cell = (MedicalViewerMultiCell)(_medicalViewer.Cells[0]);

                cell.LoadAnnotations(fs, 0);
                fs.Close();
            }
        }


        MedicalViewerForm16 GetMedicalControl16()
        {
            return new MedicalViewerForm16();
        }

        // This example copied the annotation container of the sub-cell when user right clicks on it, and paste the annotation container on the sub-cell that the user click on it using the left mouse button.

        public void MedicalViewerSaveAnnotationStreamExample()
        {
            MedicalViewerForm16 myForm = GetMedicalControl16();
            MedicalViewer medicalViewer = myForm.Viewer;

            myForm.ShowDialog();
        }


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

        Imports Leadtools
        Imports Leadtools.Drawing
        Imports Leadtools.Codecs
        Imports Leadtools.MedicalViewer
        Imports Leadtools.ImageProcessing
        Imports Leadtools.Annotations

        Private Class MedicalViewerForm16 : Inherits Form
            Private _medicalViewer As MedicalViewer
            Private LoadAnnotation As Button
            Private SaveAnnotation As Button
            Private Sub MedicalViewerForm_SizeChanged(ByVal sender As Object, ByVal e As EventArgs)
                _medicalViewer.Bounds = New Rectangle(0, 100, Me.ClientRectangle.Right, Me.ClientRectangle.Bottom - 100)
            End Sub


            Public Sub New()
                Dim _codecs As RasterCodecs = New RasterCodecs()
                Dim _image As RasterImage

                AddHandler SizeChanged, AddressOf MedicalViewerForm_SizeChanged

                ' Create the medical viewer and adjust the size and the location.
                _medicalViewer = New MedicalViewer(1, 2)
                _medicalViewer.Location = New Point(0, 100)
                _medicalViewer.Size = New Size(Me.ClientRectangle.Right, Me.ClientRectangle.Bottom - 100)

                ' Load an image and then add it to the control.
                _image = _codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "xa.dcm"))
                Dim cell As MedicalViewerMultiCell = New MedicalViewerMultiCell(_image, True, 1, 1)
                _medicalViewer.Cells.Add(cell)

                ' add some actions that will be used to change the properties of the images inside the control.
                cell.AddAction(MedicalViewerActionType.AnnotationRectangle)
                cell.AddAction(MedicalViewerActionType.AnnotationEllipse)
                cell.AddAction(MedicalViewerActionType.AnnotationHilite)

                ' assign the added actions to a mouse button, meaning that when the user clicks and drags the mouse button, the associated action will be activated.
                cell.SetAction(MedicalViewerActionType.AnnotationRectangle, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active)
                cell.SetAction(MedicalViewerActionType.AnnotationEllipse, MedicalViewerMouseButtons.Middle, MedicalViewerActionFlags.Active)
                cell.SetAction(MedicalViewerActionType.AnnotationHilite, MedicalViewerMouseButtons.Right, MedicalViewerActionFlags.Active)

                ' adjust some properties of the cell and add some tags.
                _medicalViewer.Cells(0).SetTag(2, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.UserData, "EX. ID 230-36-5448")
                _medicalViewer.Cells(0).SetTag(4, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Frame)
                _medicalViewer.Cells(0).SetTag(6, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Scale)
                _medicalViewer.Cells(0).SetTag(2, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.WindowLevelData)
                _medicalViewer.Cells(0).SetTag(1, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.FieldOfView)


                ' Load another image and then add it to the control.
                _image = _codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "mr.dcm"))
                _medicalViewer.Cells.Add(New MedicalViewerMultiCell(_image, True, 2, 2))

                ' add some actions that will be used to change the properties of the images inside the control.
                _medicalViewer.Cells(1).AddAction(MedicalViewerActionType.AnnotationRectangle)
                _medicalViewer.Cells(1).AddAction(MedicalViewerActionType.AnnotationEllipse)
                _medicalViewer.Cells(1).AddAction(MedicalViewerActionType.AnnotationHilite)

                ' assign the added actions to a mouse button, meaning that when the user clicks and drags the mouse button, the associated action will be activated.
                _medicalViewer.Cells(1).SetAction(MedicalViewerActionType.AnnotationRectangle, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active)
                _medicalViewer.Cells(1).SetAction(MedicalViewerActionType.AnnotationEllipse, MedicalViewerMouseButtons.Middle, MedicalViewerActionFlags.Active)
                _medicalViewer.Cells(1).SetAction(MedicalViewerActionType.AnnotationHilite, MedicalViewerMouseButtons.Right, MedicalViewerActionFlags.Active)

                ' adjust some properties of the cell and add some tags.
                _medicalViewer.Cells(1).SetTag(2, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.UserData, "EX. ID 230-36-5448")
                _medicalViewer.Cells(1).SetTag(4, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Frame)
                _medicalViewer.Cells(1).SetTag(6, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Scale)
                _medicalViewer.Cells(1).SetTag(2, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.WindowLevelData)
                _medicalViewer.Cells(1).SetTag(1, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.FieldOfView)



                LoadAnnotation = New Button()
                LoadAnnotation.Bounds = New Rectangle(10, 10, 100, 30)
                LoadAnnotation.Text = "Load Annotation"
                AddHandler LoadAnnotation.Click, AddressOf LoadAnnotation_Click

                SaveAnnotation = New Button()
                SaveAnnotation.Bounds = New Rectangle(110, 10, 100, 30)
                SaveAnnotation.Text = "Save Annotation"
                AddHandler SaveAnnotation.Click, AddressOf SaveAnnotation_Click

                Controls.AddRange(New Control() {_medicalViewer, LoadAnnotation, SaveAnnotation})

            End Sub

            Public ReadOnly Property Viewer() As MedicalViewer
                Get
                    Return _medicalViewer
                End Get
            End Property

            Private Function GetFileStream() As FileStream
                Dim fs As FileStream
                If File.Exists(Path.Combine(LEAD_VARS.ImagesDir, "SavedAnnotation.ann")) Then
                    fs = New FileStream(Path.Combine(LEAD_VARS.ImagesDir, "SavedAnnotation.ann"), FileMode.Open)
                Else
                    fs = File.Create(Path.Combine(LEAD_VARS.ImagesDir, "SavedAnnotation.ann"))
                End If

                Return fs
            End Function

            Private Sub SaveAnnotation_Click(ByVal sender As Object, ByVal e As EventArgs)
                Dim fs As FileStream = GetFileStream()
                Dim cell As MedicalViewerMultiCell = CType(_medicalViewer.Cells(0), MedicalViewerMultiCell)

                cell.SaveAnnotations(fs, 0)
                fs.Close()
            End Sub

            Private Sub LoadAnnotation_Click(ByVal sender As Object, ByVal e As EventArgs)
                Dim fs As FileStream = GetFileStream()
                Dim cell As MedicalViewerMultiCell = CType(_medicalViewer.Cells(0), MedicalViewerMultiCell)

                cell.LoadAnnotations(fs, 0)
                fs.Close()
            End Sub
        End Class


        Private Function GetMedicalControl16() As MedicalViewerForm16
            Return New MedicalViewerForm16()
        End Function

        ' This example copied the annotation container of the sub-cell when user right clicks on it, and paste the annotation container on the sub-cell that the user click on it using the left mouse button.

        Public Sub MedicalViewerSaveAnnotationStreamExample()
            Dim myForm As MedicalViewerForm16 = GetMedicalControl16()
            Dim medicalViewer As MedicalViewer = myForm.Viewer

            myForm.ShowDialog()
        End Sub


        Public NotInheritable Class LEAD_VARS
        Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
        End Class
        using Leadtools;
        using Leadtools.Drawing;
        using Leadtools.Codecs;
        using Leadtools.MedicalViewer;
        using Leadtools.ImageProcessing;
        using Leadtools.Annotations;

        class MedicalViewerForm16 : Form
        {
            private MedicalViewer _medicalViewer;
            Button LoadAnnotation;
            Button SaveAnnotation;
            void MedicalViewerForm_SizeChanged(object sender, EventArgs e)
            {
                _medicalViewer.Bounds = new Rectangle(0, 100, this.ClientRectangle.Right, this.ClientRectangle.Bottom - 100);
            }


            public MedicalViewerForm16()
            {
                RasterCodecs _codecs = new RasterCodecs();
                RasterImage _image;

                this.SizeChanged += new EventHandler(MedicalViewerForm_SizeChanged);

                // Create the medical viewer and adjust the size and the location.
                _medicalViewer = new MedicalViewer(1, 2);
                _medicalViewer.Location = new Point(0, 100);
                _medicalViewer.Size = new Size(this.ClientRectangle.Right, this.ClientRectangle.Bottom - 100);

                // Load an image and then add it to the control.
                _image = _codecs.Load(Path.Combine(LEAD_VARS.ImagesDir,"xa.dcm"));
                MedicalViewerMultiCell cell = new MedicalViewerMultiCell(_image, true, 1, 1);
                _medicalViewer.Cells.Add(cell);

                // add some actions that will be used to change the properties of the images inside the control.
                cell.AddAction(MedicalViewerActionType.AnnotationRectangle);
                cell.AddAction(MedicalViewerActionType.AnnotationEllipse);
                cell.AddAction(MedicalViewerActionType.AnnotationHilite);

                // assign the added actions to a mouse button, meaning that when the user clicks and drags the mouse button, the associated action will be activated.
                cell.SetAction(MedicalViewerActionType.AnnotationRectangle, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active);
                cell.SetAction(MedicalViewerActionType.AnnotationEllipse, MedicalViewerMouseButtons.Middle, MedicalViewerActionFlags.Active);
                cell.SetAction(MedicalViewerActionType.AnnotationHilite, MedicalViewerMouseButtons.Right, MedicalViewerActionFlags.Active);

                // adjust some properties of the cell and add some tags.
                _medicalViewer.Cells[0].SetTag(2, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.UserData, "EX. ID 230-36-5448");
                _medicalViewer.Cells[0].SetTag(4, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Frame);
                _medicalViewer.Cells[0].SetTag(6, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Scale);
                _medicalViewer.Cells[0].SetTag(2, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.WindowLevelData);
                _medicalViewer.Cells[0].SetTag(1, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.FieldOfView);


                // Load another image and then add it to the control.
                _image = _codecs.Load(Path.Combine(LEAD_VARS.ImagesDir,"mr.dcm"));
                _medicalViewer.Cells.Add(new MedicalViewerMultiCell(_image, true, 2, 2));

                // add some actions that will be used to change the properties of the images inside the control.
                _medicalViewer.Cells[1].AddAction(MedicalViewerActionType.AnnotationRectangle);
                _medicalViewer.Cells[1].AddAction(MedicalViewerActionType.AnnotationEllipse);
                _medicalViewer.Cells[1].AddAction(MedicalViewerActionType.AnnotationHilite);

                // assign the added actions to a mouse button, meaning that when the user clicks and drags the mouse button, the associated action will be activated.
                _medicalViewer.Cells[1].SetAction(MedicalViewerActionType.AnnotationRectangle, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active);
                _medicalViewer.Cells[1].SetAction(MedicalViewerActionType.AnnotationEllipse, MedicalViewerMouseButtons.Middle, MedicalViewerActionFlags.Active);
                _medicalViewer.Cells[1].SetAction(MedicalViewerActionType.AnnotationHilite, MedicalViewerMouseButtons.Right, MedicalViewerActionFlags.Active);

                // adjust some properties of the cell and add some tags.
                _medicalViewer.Cells[1].SetTag(2, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.UserData, "EX. ID 230-36-5448");
                _medicalViewer.Cells[1].SetTag(4, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Frame);
                _medicalViewer.Cells[1].SetTag(6, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Scale);
                _medicalViewer.Cells[1].SetTag(2, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.WindowLevelData);
                _medicalViewer.Cells[1].SetTag(1, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.FieldOfView);



                LoadAnnotation = new Button();
                LoadAnnotation.Bounds = new Rectangle(10, 10, 100, 30);
                LoadAnnotation.Text = "Load Annotation";
                LoadAnnotation.Click += new EventHandler(LoadAnnotation_Click);

                SaveAnnotation = new Button();
                SaveAnnotation.Bounds = new Rectangle(110, 10, 100, 30);
                SaveAnnotation.Text = "Save Annotation";
                SaveAnnotation.Click += new EventHandler(SaveAnnotation_Click);

                Controls.AddRange(new Control[] { _medicalViewer, LoadAnnotation, SaveAnnotation });

            }

            public MedicalViewer Viewer
            {
                get { return _medicalViewer; }
            }

            FileStream GetFileStream()
            {
                FileStream fs;
                if (File.Exists(Path.Combine(LEAD_VARS.ImagesDir,"SavedAnnotation.ann")))
                    fs = new FileStream(Path.Combine(LEAD_VARS.ImagesDir,"SavedAnnotation.ann"), FileMode.Open);
                else
                    fs = File.Create(Path.Combine(LEAD_VARS.ImagesDir,"SavedAnnotation.ann"));

                return fs;
            }

            void SaveAnnotation_Click(object sender, EventArgs e)
            {
                FileStream fs = GetFileStream();
                MedicalViewerMultiCell cell = (MedicalViewerMultiCell)(_medicalViewer.Cells[0]);

                cell.SaveAnnotations(fs, 0);
                fs.Close();
            }

            void LoadAnnotation_Click(object sender, EventArgs e)
            {
                FileStream fs = GetFileStream();
                MedicalViewerMultiCell cell = (MedicalViewerMultiCell)(_medicalViewer.Cells[0]);

                cell.LoadAnnotations(fs, 0);
                fs.Close();
            }
        }


        MedicalViewerForm16 GetMedicalControl16()
        {
            return new MedicalViewerForm16();
        }

        // This example copied the annotation container of the sub-cell when user right clicks on it, and paste the annotation container on the sub-cell that the user click on it using the left mouse button.

        public void MedicalViewerSaveAnnotationStreamExample()
        {
            MedicalViewerForm16 myForm = GetMedicalControl16();
            MedicalViewer medicalViewer = myForm.Viewer;

            myForm.ShowDialog();
        }


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

        using Leadtools;
        using Leadtools.Drawing;
        using Leadtools.Codecs;
        using Leadtools.MedicalViewer;
        using Leadtools.ImageProcessing;
        using Leadtools.Annotations;

        class MedicalViewerForm16 : Form
        {
            private MedicalViewer _medicalViewer;
            Button LoadAnnotation;
            Button SaveAnnotation;
            void MedicalViewerForm_SizeChanged(object sender, EventArgs e)
            {
                _medicalViewer.Bounds = new Rectangle(0, 100, this.ClientRectangle.Right, this.ClientRectangle.Bottom - 100);
            }


            public MedicalViewerForm16()
            {
                RasterCodecs _codecs = new RasterCodecs();
                RasterImage _image;

                this.SizeChanged += new EventHandler(MedicalViewerForm_SizeChanged);

                // Create the medical viewer and adjust the size and the location.
                _medicalViewer = new MedicalViewer(1, 2);
                _medicalViewer.Location = new Point(0, 100);
                _medicalViewer.Size = new Size(this.ClientRectangle.Right, this.ClientRectangle.Bottom - 100);

                // Load an image and then add it to the control.
                _image = _codecs.Load(Path.Combine(LEAD_VARS.ImagesDir,"xa.dcm"));
                MedicalViewerMultiCell cell = new MedicalViewerMultiCell(_image, true, 1, 1);
                _medicalViewer.Cells.Add(cell);

                // add some actions that will be used to change the properties of the images inside the control.
                cell.AddAction(MedicalViewerActionType.AnnotationRectangle);
                cell.AddAction(MedicalViewerActionType.AnnotationEllipse);
                cell.AddAction(MedicalViewerActionType.AnnotationHilite);

                // assign the added actions to a mouse button, meaning that when the user clicks and drags the mouse button, the associated action will be activated.
                cell.SetAction(MedicalViewerActionType.AnnotationRectangle, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active);
                cell.SetAction(MedicalViewerActionType.AnnotationEllipse, MedicalViewerMouseButtons.Middle, MedicalViewerActionFlags.Active);
                cell.SetAction(MedicalViewerActionType.AnnotationHilite, MedicalViewerMouseButtons.Right, MedicalViewerActionFlags.Active);

                // adjust some properties of the cell and add some tags.
                _medicalViewer.Cells[0].SetTag(2, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.UserData, "EX. ID 230-36-5448");
                _medicalViewer.Cells[0].SetTag(4, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Frame);
                _medicalViewer.Cells[0].SetTag(6, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Scale);
                _medicalViewer.Cells[0].SetTag(2, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.WindowLevelData);
                _medicalViewer.Cells[0].SetTag(1, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.FieldOfView);


                // Load another image and then add it to the control.
                _image = _codecs.Load(Path.Combine(LEAD_VARS.ImagesDir,"mr.dcm"));
                _medicalViewer.Cells.Add(new MedicalViewerMultiCell(_image, true, 2, 2));

                // add some actions that will be used to change the properties of the images inside the control.
                _medicalViewer.Cells[1].AddAction(MedicalViewerActionType.AnnotationRectangle);
                _medicalViewer.Cells[1].AddAction(MedicalViewerActionType.AnnotationEllipse);
                _medicalViewer.Cells[1].AddAction(MedicalViewerActionType.AnnotationHilite);

                // assign the added actions to a mouse button, meaning that when the user clicks and drags the mouse button, the associated action will be activated.
                _medicalViewer.Cells[1].SetAction(MedicalViewerActionType.AnnotationRectangle, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active);
                _medicalViewer.Cells[1].SetAction(MedicalViewerActionType.AnnotationEllipse, MedicalViewerMouseButtons.Middle, MedicalViewerActionFlags.Active);
                _medicalViewer.Cells[1].SetAction(MedicalViewerActionType.AnnotationHilite, MedicalViewerMouseButtons.Right, MedicalViewerActionFlags.Active);

                // adjust some properties of the cell and add some tags.
                _medicalViewer.Cells[1].SetTag(2, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.UserData, "EX. ID 230-36-5448");
                _medicalViewer.Cells[1].SetTag(4, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Frame);
                _medicalViewer.Cells[1].SetTag(6, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Scale);
                _medicalViewer.Cells[1].SetTag(2, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.WindowLevelData);
                _medicalViewer.Cells[1].SetTag(1, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.FieldOfView);



                LoadAnnotation = new Button();
                LoadAnnotation.Bounds = new Rectangle(10, 10, 100, 30);
                LoadAnnotation.Text = "Load Annotation";
                LoadAnnotation.Click += new EventHandler(LoadAnnotation_Click);

                SaveAnnotation = new Button();
                SaveAnnotation.Bounds = new Rectangle(110, 10, 100, 30);
                SaveAnnotation.Text = "Save Annotation";
                SaveAnnotation.Click += new EventHandler(SaveAnnotation_Click);

                Controls.AddRange(new Control[] { _medicalViewer, LoadAnnotation, SaveAnnotation });

            }

            public MedicalViewer Viewer
            {
                get { return _medicalViewer; }
            }

            FileStream GetFileStream()
            {
                FileStream fs;
                if (File.Exists(Path.Combine(LEAD_VARS.ImagesDir,"SavedAnnotation.ann")))
                    fs = new FileStream(Path.Combine(LEAD_VARS.ImagesDir,"SavedAnnotation.ann"), FileMode.Open);
                else
                    fs = File.Create(Path.Combine(LEAD_VARS.ImagesDir,"SavedAnnotation.ann"));

                return fs;
            }

            void SaveAnnotation_Click(object sender, EventArgs e)
            {
                FileStream fs = GetFileStream();
                MedicalViewerMultiCell cell = (MedicalViewerMultiCell)(_medicalViewer.Cells[0]);

                cell.SaveAnnotations(fs, 0);
                fs.Close();
            }

            void LoadAnnotation_Click(object sender, EventArgs e)
            {
                FileStream fs = GetFileStream();
                MedicalViewerMultiCell cell = (MedicalViewerMultiCell)(_medicalViewer.Cells[0]);

                cell.LoadAnnotations(fs, 0);
                fs.Close();
            }
        }


        MedicalViewerForm16 GetMedicalControl16()
        {
            return new MedicalViewerForm16();
        }

        // This example copied the annotation container of the sub-cell when user right clicks on it, and paste the annotation container on the sub-cell that the user click on it using the left mouse button.

        public void MedicalViewerSaveAnnotationStreamExample()
        {
            MedicalViewerForm16 myForm = GetMedicalControl16();
            MedicalViewer medicalViewer = myForm.Viewer;

            myForm.ShowDialog();
        }


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

Requirements

Target Platforms

See Also

Reference

MedicalViewerMultiCell Class
MedicalViewerMultiCell Members
Overload List

 

 


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

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