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

Show in webframe

SubCellFrozen Method






The zero-based index of the sub-cell being checked.
Retrieves a value that indicates whether the sub-cell has been frozen.
Syntax
public bool SubCellFrozen(    int subCellIndex )
'Declaration   Public Function SubCellFrozen( _    ByVal subCellIndex As Integer _ ) As Boolean
'Usage   Dim instance As MedicalViewerMultiCell Dim subCellIndex As Integer Dim value As Boolean   value = instance.SubCellFrozen(subCellIndex)
public: bool SubCellFrozen(    int subCellIndex )

Parameters

subCellIndex
The zero-based index of the sub-cell being checked.

Return Value

true if the sub-cell is frozen; otherwise, false.
Remarks
This method retrieves the status for a sub-cell only. To check the frozen status for an entire cell use the MedicalViewerBaseCell.Frozen property.
Example
Copy Code  
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.MedicalViewer

Private Class MedicalViewerForm : 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)
      _medicalViewer.Cells.Add(cell)

      ' 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)
      cell.AddAction(MedicalViewerActionType.NudgeTool)

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

      ' 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.RectangleRegion, 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 GetMedicalControl() As MedicalViewerForm
   Return New MedicalViewerForm()
End Function

' This example will freeze the subcell with even numbers and then type the draw X in the middle of the frozen sub-cells.
<TestMethod()> _
Public Sub MedicalViewerPaintInformationExample()
   Dim myForm As MedicalViewerForm = GetMedicalControl()
   Dim medicalViewer As MedicalViewer = myForm.Viewer
   Dim cell As MedicalViewerMultiCell = CType(medicalViewer.Cells(0), MedicalViewerMultiCell)
   Dim i As Integer

   i = 0
   Do While i < cell.Image.PageCount
      If ((i >> 1) << 1) = i Then
         cell.FreezeSubCell(i, True)
      End If
      i += 1
   Loop


   AddHandler cell.PostPaint, AddressOf medicalViewer_PostPaint

   myForm.ShowDialog()
End Sub

Private Sub medicalViewer_PostPaint(ByVal sender As Object, ByVal e As MedicalViewerPaintInformationEventArgs)
   Dim cell As MedicalViewerMultiCell = CType(sender, MedicalViewerMultiCell)

   If cell.SubCellFrozen(e.SubCellIndex) Then
      e.Graphics.DrawLine(Pens.Red, New Point(e.ClipRectangle.Left, e.ClipRectangle.Top), New Point(e.ClipRectangle.Right, e.ClipRectangle.Bottom))
      e.Graphics.DrawLine(Pens.Red, New Point(e.ClipRectangle.Right, e.ClipRectangle.Top), New Point(e.ClipRectangle.Left, e.ClipRectangle.Bottom))
   End If
End Sub

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;

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

   public MedicalViewerForm()
   {
      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);
      _medicalViewer.Cells.Add(cell);

      // 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);
      cell.AddAction(MedicalViewerActionType.NudgeTool);

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

      // 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.RectangleRegion, 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; }
   }
}

MedicalViewerForm GetMedicalControl()
{
   return new MedicalViewerForm();
}

// This example will freeze the subcell with even numbers and then type the draw X in the middle of the frozen sub-cells.
[TestMethod]
public void MedicalViewerPaintInformationExample()
{
   MedicalViewerForm myForm = GetMedicalControl();
   MedicalViewer medicalViewer = myForm.Viewer;
   MedicalViewerMultiCell cell = (MedicalViewerMultiCell)(medicalViewer.Cells[0]);
   int i;

   for (i = 0; i < cell.Image.PageCount; i++)
   {
      if (((i >> 1) << 1) == i)
         cell.FreezeSubCell(i, true);
   }


   cell.PostPaint += new EventHandler<MedicalViewerPaintInformationEventArgs>(medicalViewer_PostPaint);

   myForm.ShowDialog();
}

void medicalViewer_PostPaint(object sender, MedicalViewerPaintInformationEventArgs e)
{
   MedicalViewerMultiCell cell = (MedicalViewerMultiCell)sender;

   if (cell.SubCellFrozen(e.SubCellIndex))
   {
      e.Graphics.DrawLine(Pens.Red, new Point(e.ClipRectangle.Left, e.ClipRectangle.Top), new Point(e.ClipRectangle.Right, e.ClipRectangle.Bottom));
      e.Graphics.DrawLine(Pens.Red, new Point(e.ClipRectangle.Right, e.ClipRectangle.Top), new Point(e.ClipRectangle.Left, e.ClipRectangle.Bottom));
   }
}

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

Target Platforms

See Also

Reference

MedicalViewerMultiCell Class
MedicalViewerMultiCell Members

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