LEADTOOLS Medical (Leadtools.MedicalViewer assembly) Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.31
MedicalViewerAnimation Class
See Also  Members  
Leadtools.MedicalViewer Namespace : MedicalViewerAnimation Class



The MedicalViewerAnimation Class is available as an add-on to the LEADTOOLS Medical Imaging toolkits.

Represents the class that is used to animate or change the animation properties of those cells that have more than one frame.

Object Model

MedicalViewerAnimation Class

Syntax

Visual Basic (Declaration) 
Public Class MedicalViewerAnimation 
Visual Basic (Usage)Copy Code
Dim instance As MedicalViewerAnimation
C# 
public class MedicalViewerAnimation 
C++/CLI 
public ref class MedicalViewerAnimation 

Example

play animation for a multiple frames cell

Visual BasicCopy Code
Private Class MedicalViewerForm : Inherits Form
      Private _medicalViewer As MedicalViewer
      Public Sub New()
         Dim _codecs As RasterCodecs = New RasterCodecs()
         Dim _image As RasterImage

         ' 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 action 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 click and drag the mouse button, the associated action will be activated.
         cell.SetAction(MedicalViewerActionType.WindowLevel, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active Or MedicalViewerActionFlags.RealTime)
         cell.SetAction(MedicalViewerActionType.Alpha, MedicalViewerMouseButtons.Middle, MedicalViewerActionFlags.Active Or MedicalViewerActionFlags.RealTime)
         cell.SetAction(MedicalViewerActionType.Offset, MedicalViewerMouseButtons.Right, MedicalViewerActionFlags.Active Or MedicalViewerActionFlags.RealTime)

         _medicalViewer.Cells.Add(cell)

         ' adjust some properties to the cell and add some tags.
         cell.SetTag(2, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.UserData, "EX. ID 230-36-5448")
         cell.SetTag(4, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Frame)
         cell.SetTag(6, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Scale)
         cell.SetTag(2, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.WindowLevelData)
         cell.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


   Public Sub MedicalViewerAnimationExample()
      Dim myForm As MedicalViewerForm = GetMedicalControl()
      Dim medicalViewer As MedicalViewer = myForm.Viewer

      Dim cell As MedicalViewerMultiCell = CType(medicalViewer.Cells(0), MedicalViewerMultiCell)

      cell.Animation.AnimateAllSubCells = True
      cell.Animation.Flags = MedicalViewerAnimationFlags.Loop Or MedicalViewerAnimationFlags.PaintNormal Or MedicalViewerAnimationFlags.PlayForward
      cell.Animation.FrameCount = -1
      cell.Animation.Frames = -1
      cell.Animation.Interval = 200
      cell.Animation.StartFrame = 0
      cell.Animation.Animated = True

      myForm.ShowDialog()
   End Sub

Public NotInheritable Class LEAD_VARS
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
C#Copy Code
class MedicalViewerForm : Form
   {
      private MedicalViewer _medicalViewer;
      public MedicalViewerForm()
      {
         RasterCodecs _codecs = new RasterCodecs();
         RasterImage _image;

         // 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 action 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 click and drag the mouse button, the associated action will be activated.
         cell.SetAction(MedicalViewerActionType.WindowLevel, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active | MedicalViewerActionFlags.RealTime);
         cell.SetAction(MedicalViewerActionType.Alpha, MedicalViewerMouseButtons.Middle, MedicalViewerActionFlags.Active | MedicalViewerActionFlags.RealTime);
         cell.SetAction(MedicalViewerActionType.Offset, MedicalViewerMouseButtons.Right, MedicalViewerActionFlags.Active | MedicalViewerActionFlags.RealTime);

         _medicalViewer.Cells.Add(cell);

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

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

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


   public void MedicalViewerAnimationExample()
   {
      MedicalViewerForm myForm = GetMedicalControl();
      MedicalViewer medicalViewer = myForm.Viewer;

      MedicalViewerMultiCell cell = (MedicalViewerMultiCell)(medicalViewer.Cells[0]);

      cell.Animation.AnimateAllSubCells = true;
      cell.Animation.Flags = MedicalViewerAnimationFlags.Loop | MedicalViewerAnimationFlags.PaintNormal | MedicalViewerAnimationFlags.PlayForward;
      cell.Animation.FrameCount = -1;
      cell.Animation.Frames = -1;
      cell.Animation.Interval = 200;
      cell.Animation.StartFrame = 0;
      cell.Animation.Animated = true;

      myForm.ShowDialog();
   }

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

Remarks

One powerful feature of this class, is that you can adjust the images while the animation is still running. The following actions can be applied during the animation:
  • Window level action.
  • Alpha action.
  • Offset action.
  • Scale action.
To load and play an animation, create a cell that contains a multiple-frame image. Once it is created, play or stop the animation using the Animated property.

Inheritance Hierarchy

System.Object
   Leadtools.MedicalViewer.MedicalViewerAnimation

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.MedicalViewer requires a Medical Imaging license and unlock key. For more information, refer to: Imaging Pro/Document/Medical Features