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

Show in webframe

SpyGlass Property






Gets the class that contains the properties that control the spy glass style and shape.
Syntax
public MedicalViewerSpyGlass SpyGlass {get;}
'Declaration   Public ReadOnly Property SpyGlass As MedicalViewerSpyGlass
'Usage   Dim instance As MedicalViewerCell Dim value As MedicalViewerSpyGlass   value = instance.SpyGlass
public: property MedicalViewerSpyGlass^ SpyGlass {    MedicalViewerSpyGlass^ get(); }

Property Value

MedicalViewerSpyGlass class that contains the properties that control the spy glass style and shape.
Remarks
Example
Copy Code  
Imports Leadtools
Imports Leadtools.Dicom
Imports Leadtools.Medical3D
Imports Leadtools.Codecs
Imports Leadtools.MedicalViewer
Imports Leadtools.Annotations.Core
Imports Leadtools.Annotations.Designers
Imports Leadtools.ImageProcessing.Core

Private Class MedicalViewerSpyGlassForm : Inherits Form
   Private _medicalViewer As MedicalViewer
   Private Sub MedicalViewer_SizeChanged(ByVal sender As Object, ByVal e As EventArgs)
      _medicalViewer.Size = New Size(Me.ClientRectangle.Right, Me.ClientRectangle.Bottom)
   End Sub

   Public Sub New()
      DicomEngine.Startup()
      Dim _codecs As RasterCodecs = New RasterCodecs()

      AddHandler SizeChanged, AddressOf MedicalViewer_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.
      Dim _image As RasterImage = _codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "xa.dcm"))
      Dim cell As MedicalViewerMultiCell = New MedicalViewerMultiCell(_image, True, 1, 1)

      cell.FitImageToCell = False

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

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

      AddHandler cell.SpyGlassStarted, AddressOf cell_SpyGlassStarted

      ' adjust some spy glass properties.
      cell.SpyGlass.PositionText = MedicalViewerSpyGlassTextType.Actual
      cell.SpyGlass.ZoomText = MedicalViewerSpyGlassTextType.Percentage
      cell.SpyGlass.ZoomOnScroll = True

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

      cell.ScaleType = MedicalViewerScaleType.Dynamic

      Controls.Add(_medicalViewer)
      _medicalViewer.Dock = DockStyle.Fill
      DicomEngine.Shutdown()
   End Sub

   Private Sub cell_SpyGlassStarted(ByVal sender As Object, ByVal e As MedicalViewerSpyGlassStartedEventArgs)
      If Not e.Image Is Nothing Then
         Dim invert As Leadtools.ImageProcessing.Color.InvertCommand = New Leadtools.ImageProcessing.Color.InvertCommand()
         invert.Run(e.Image)
      End If
   End Sub

   Private Sub MedicalViewerLocalizer_FormClosing(ByVal sender As Object, ByVal e As FormClosingEventArgs)
   End Sub


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

Private Function GetMedicalViewerSpyGlassForm() As MedicalViewerSpyGlassForm
   MessageBox.Show("Hold down Left click to show the spy glass, " & Constants.vbLf & " move the mouse while you hold the mouse button down to move the spy glass. " & Constants.vbLf & " scroll while holding the mouse down to zoom in or out")
   Return New MedicalViewerSpyGlassForm()
End Function

' This example changes the default window level value by decrease the width by 100. Then resets the images based on the new value.
<TestMethod()> _
Public Sub MedicalViewerSpyGlassExample()
   Dim myForm As MedicalViewerSpyGlassForm = GetMedicalViewerSpyGlassForm()
   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.Dicom;
using Leadtools.Medical3D;
using Leadtools.Codecs;
using Leadtools.MedicalViewer;
using Leadtools.ImageProcessing;
using Leadtools.ImageProcessing.Core;
using Leadtools.ImageProcessing.Color;
using Leadtools.Annotations.Core;
using Leadtools.Annotations.Designers;

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

   public MedicalViewerSpyGlassForm()
   {
      DicomEngine.Startup();
      RasterCodecs _codecs = new RasterCodecs();

      this.SizeChanged += new EventHandler(MedicalViewerLocalizer_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.
      RasterImage _image = _codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "xa.dcm"));
      MedicalViewerMultiCell cell = new MedicalViewerMultiCell(_image, true, 1, 1);

      cell.FitImageToCell = false;

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

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

      cell.SpyGlassStarted += new EventHandler<MedicalViewerSpyGlassStartedEventArgs>(cell_SpyGlassStarted);

      // adjust some spy glass properties.
      cell.SpyGlass.PositionText = MedicalViewerSpyGlassTextType.Actual;
      cell.SpyGlass.ZoomText = MedicalViewerSpyGlassTextType.Percentage;
      cell.SpyGlass.ZoomOnScroll = true;

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

      cell.ScaleType = MedicalViewerScaleType.Dynamic;

      Controls.Add(_medicalViewer);
      _medicalViewer.Dock = DockStyle.Fill;
      DicomEngine.Shutdown();
   }

   void cell_SpyGlassStarted(object sender, MedicalViewerSpyGlassStartedEventArgs e)
   {
      if (e.Image != null)
      {
         Leadtools.ImageProcessing.Color.InvertCommand invert = new Leadtools.ImageProcessing.Color.InvertCommand();
         invert.Run(e.Image);
      }
   }

   void MedicalViewerLocalizer_FormClosing(object sender, FormClosingEventArgs e)
   {
   }


   public MedicalViewer Viewer
   {
      get { return _medicalViewer; }
   }
}

MedicalViewerSpyGlassForm GetMedicalViewerSpyGlassForm()
{
   MessageBox.Show("Hold down Left click to show the spy glass, \n move the mouse while you hold the mouse button down to move the spy glass. \n scroll while holding the mouse down to zoom in or out");
   return new MedicalViewerSpyGlassForm();
}

// This example changes the default window level value by decrease the width by 100. Then resets the images based on the new value.
[TestMethod]
public void MedicalViewerSpyGlassExample()
{
   MedicalViewerSpyGlassForm myForm = GetMedicalViewerSpyGlassForm();
   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

MedicalViewerCell Class
MedicalViewerCell 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