Error processing SSI file
LEADTOOLS Medical (Leadtools.MedicalViewer assembly)

Show in webframe

MedicalViewerSubCell Class






Members 
Represents the sub-cell that contains the annotation container and the properties and methods that control the annotation.
Object Model
Syntax
public class MedicalViewerSubCell : System.IDisposable 
'Declaration   Public Class MedicalViewerSubCell    Implements System.IDisposable 
'Usage   Dim instance As MedicalViewerSubCell
public ref class MedicalViewerSubCell : public System.IDisposable 
Remarks

For each sub-cell there is an annotation container.

To change the sub-cell annotation container, use the MedicalViewerBaseCell.SubCells property which is a collection of annotation objects; it allows the user to add annotation, delete annotation or modify annotation. For example:

Example
Copy Code  
Imports Leadtools
  Imports Leadtools.Drawing
  Imports Leadtools.Codecs
  Imports Leadtools.MedicalViewer
  Imports Leadtools.ImageProcessing
  Imports Leadtools.Annotations.Core
  Imports Leadtools.Annotations.Designers
  Imports Leadtools.Annotations.Rendering

  Private Class MedicalViewerSubCellForm : Inherits Form
      Private _medicalViewer As MedicalViewer
      Private Sub MedicalViewerForm_SizeChanged(ByVal sender As Object, ByVal e As EventArgs)
          _medicalViewer.Size = New Size(Me.ClientRectangle.Right, Me.ClientRectangle.Bottom)
      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, 0)
          _medicalViewer.Size = New Size(Me.ClientRectangle.Right, Me.ClientRectangle.Bottom)

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

          ' add some actions that will be used to change the properties of the images inside the control.
          cell.AddAction(MedicalViewerActionType.WindowLevel)
          cell.AddAction(MedicalViewerActionType.Alpha)
          cell.AddAction(MedicalViewerActionType.Offset)

          ' 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.WindowLevel, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active)
          cell.SetAction(MedicalViewerActionType.Alpha, MedicalViewerMouseButtons.Middle, MedicalViewerActionFlags.Active)
          cell.SetAction(MedicalViewerActionType.Offset, MedicalViewerMouseButtons.Right, MedicalViewerActionFlags.Active)

          _medicalViewer.Cells.Add(cell)

          ' 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.WindowLevel)
          _medicalViewer.Cells(1).AddAction(MedicalViewerActionType.Alpha)
          _medicalViewer.Cells(1).AddAction(MedicalViewerActionType.Offset)

          ' 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.WindowLevel, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active)
          _medicalViewer.Cells(1).SetAction(MedicalViewerActionType.Alpha, MedicalViewerMouseButtons.Middle, MedicalViewerActionFlags.Active)
          _medicalViewer.Cells(1).SetAction(MedicalViewerActionType.Offset, 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)


          Controls.Add(_medicalViewer)
          _medicalViewer.Dock = DockStyle.Fill
      End Sub
      Public ReadOnly Property Viewer() As MedicalViewer
          Get
              Return _medicalViewer
          End Get
      End Property
  End Class
  Private Function GetMedicalControlForSubCellExample() As MedicalViewerForm13
      Return New MedicalViewerForm13()
  End Function

<TestMethod()> _
Public Sub MedicalViewerSubCellExample()
   Dim myForm As MedicalViewerForm13 = GetMedicalControlForSubCellExample()
   Dim medicalViewer As MedicalViewer = myForm.Viewer
   Dim cell As MedicalViewerMultiCell = CType(medicalViewer.Cells(0), MedicalViewerMultiCell)


   ' This shows the rotation handle of the annotation objects.
   cell.ShowRotationHandle = True

   cell.MaintainAnnotationObjectAspectRatio = True

   cell.MaintainAnnotationThickness = True

   Dim rectangleObject As AnnRectangleObject = New AnnRectangleObject()
   rectangleObject.Rect = LeadRectD.Create(100, 100, 100, 100)
   rectangleObject.Stroke = AnnStroke.Create(AnnSolidColorBrush.Create(Color.Red.Name), LeadLengthD.Create(5))
   cell.SubCells(0).AnnotationContainer.Children.Add(rectangleObject)

   ' repaint the annotation of the first sub-cell (index = 0).
   cell.RefreshAnnotation(0)

   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.Core;
using Leadtools.Annotations.Designers;
using Leadtools.Annotations.Rendering;

class MedicalViewerSubCellForm : Form
{
   private MedicalViewer _medicalViewer;
   void MedicalViewerForm_SizeChanged(object sender, EventArgs e)
   {
      _medicalViewer.Size = new Size(this.ClientRectangle.Right, this.ClientRectangle.Bottom);
   }

   public MedicalViewerSubCellForm()
   {
      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, 0);
      _medicalViewer.Size = new Size(this.ClientRectangle.Right, this.ClientRectangle.Bottom);

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

      // add some actions that will be used to change the properties of the images inside the control.
      cell.AddAction(MedicalViewerActionType.WindowLevel);
      cell.AddAction(MedicalViewerActionType.Alpha);
      cell.AddAction(MedicalViewerActionType.Offset);

      // 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.WindowLevel, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active);
      cell.SetAction(MedicalViewerActionType.Alpha, MedicalViewerMouseButtons.Middle, MedicalViewerActionFlags.Active);
      cell.SetAction(MedicalViewerActionType.Offset, MedicalViewerMouseButtons.Right, MedicalViewerActionFlags.Active);

      _medicalViewer.Cells.Add(cell);

      // 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.WindowLevel);
      _medicalViewer.Cells[1].AddAction(MedicalViewerActionType.Alpha);
      _medicalViewer.Cells[1].AddAction(MedicalViewerActionType.Offset);

      // 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.WindowLevel, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active);
      _medicalViewer.Cells[1].SetAction(MedicalViewerActionType.Alpha, MedicalViewerMouseButtons.Middle, MedicalViewerActionFlags.Active);
      _medicalViewer.Cells[1].SetAction(MedicalViewerActionType.Offset, 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);


      Controls.Add(_medicalViewer);
      _medicalViewer.Dock = DockStyle.Fill;
   }
   public MedicalViewer Viewer
   {
      get { return _medicalViewer; }
   }
}
MedicalViewerForm13 GetMedicalControlForSubCellExample()
{
   return new MedicalViewerForm13();
}

[TestMethod]
public void MedicalViewerSubCellExample()
{
   MedicalViewerForm13 myForm = GetMedicalControlForSubCellExample();
   MedicalViewer medicalViewer = myForm.Viewer;
   MedicalViewerMultiCell cell = (MedicalViewerMultiCell)(medicalViewer.Cells[0]);


   // This shows the rotation handle of the annotation objects.
   cell.ShowRotationHandle = true;

   cell.MaintainAnnotationObjectAspectRatio = true;

   cell.MaintainAnnotationThickness = true;

   AnnRectangleObject rectangleObject = new AnnRectangleObject();
   rectangleObject.Rect = LeadRectD.Create(100, 100, 100, 100);
   rectangleObject.Stroke = AnnStroke.Create(AnnSolidColorBrush.Create(Color.Red.Name), LeadLengthD.Create(5));
   cell.SubCells[0].AnnotationContainer.Children.Add(rectangleObject);

   // repaint the annotation of the first sub-cell (index = 0).
   cell.RefreshAnnotation(0);

   myForm.ShowDialog();
}

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

Target Platforms

See Also

Reference

MedicalViewerSubCell Members
Leadtools.MedicalViewer Namespace

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