Represents the sub-cell that contains the annotation container and the properties and methods that control the annotation.
public class MedicalViewerSubCell : IDisposable Public Class MedicalViewerSubCellImplements System.IDisposable
public ref class MedicalViewerSubCell : public System.IDisposable
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:
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();}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";}
Imports LeadtoolsImports Leadtools.DrawingImports Leadtools.CodecsImports Leadtools.MedicalViewerImports Leadtools.ImageProcessingImports Leadtools.Annotations.CoreImports Leadtools.Annotations.DesignersImports Leadtools.Annotations.RenderingPrivate Class MedicalViewerSubCellForm : Inherits FormPrivate _medicalViewer As MedicalViewerPrivate Sub MedicalViewerForm_SizeChanged(ByVal sender As Object, ByVal e As EventArgs)_medicalViewer.Size = New Size(Me.ClientRectangle.Right, Me.ClientRectangle.Bottom)End SubPublic Sub New()Dim _codecs As RasterCodecs = New RasterCodecs()Dim _image As RasterImageAddHandler 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.FillEnd SubPublic ReadOnly Property Viewer() As MedicalViewerGetReturn _medicalViewerEnd GetEnd PropertyEnd ClassPrivate Function GetMedicalControlForSubCellExample() As MedicalViewerForm13Return New MedicalViewerForm13()End FunctionPublic Sub MedicalViewerSubCellExample()Dim myForm As MedicalViewerForm13 = GetMedicalControlForSubCellExample()Dim medicalViewer As MedicalViewer = myForm.ViewerDim cell As MedicalViewerMultiCell = CType(medicalViewer.Cells(0), MedicalViewerMultiCell)' This shows the rotation handle of the annotation objects.cell.ShowRotationHandle = Truecell.MaintainAnnotationObjectAspectRatio = Truecell.MaintainAnnotationThickness = TrueDim 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 SubPublic NotInheritable Class LEAD_VARSPublic Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"End Class
Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET
