Leadtools.MedicalViewer Namespace > MedicalViewerCell Class : CustomLookupTable Property |
public RasterCollection<RasterColor[]> CustomLookupTable {get;}
'Declaration Public ReadOnly Property CustomLookupTable As RasterCollection(Of RasterColor())
'Usage Dim instance As MedicalViewerCell Dim value As RasterCollection(Of RasterColor()) value = instance.CustomLookupTable
public RasterCollection<RasterColor[]> CustomLookupTable {get;}
get_CustomLookupTable();
public: property RasterCollection<array<RasterColor>>^ CustomLookupTable { RasterCollection<array<RasterColor>>^ get(); }
Private Class MedicalViewerCustomLookupTableForm : 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.WindowLevel) cell.AddAction(MedicalViewerActionType.Stack) ' 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.WindowLevel, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active) cell.SetAction(MedicalViewerActionType.Stack, MedicalViewerMouseButtons.Wheel, MedicalViewerActionFlags.Active) ' Create a custom lookup table that will make the frames look inverted ' the value set here (8000) is random, you can choose any number Dim colors As RasterColor() = New RasterColor(7999) {} Dim index As Integer Dim lutValue As Byte index = 0 Do While index < colors.Length lutValue = CByte(255 - ((index * 255 + 128) / (colors.Length - 1))) colors(index).R = lutValue colors(index).G = lutValue colors(index).B = lutValue index += 1 Loop cell.CustomLookupTable.Add(colors) For Each subCell As MedicalViewerSubCell In cell.SubCells subCell.PaletteType = CType(100, MedicalViewerPaletteType) ' the index of the first custom lookup table in Cell.CustomLookupTable Next subCell _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 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 GetMedicalViewerCustomLookupTableForm() As MedicalViewerCustomLookupTableForm Return New MedicalViewerCustomLookupTableForm() End Function ' This examples assigns a custom lookup table to the image. Public Sub MedicalViewerCustomLookupTableExample() Dim myForm As MedicalViewerCustomLookupTableForm = GetMedicalViewerCustomLookupTableForm() 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
class MedicalViewerCustomLookupTableForm : Form { private MedicalViewer _medicalViewer; void MedicalViewerLocalizer_SizeChanged(object sender, EventArgs e) { _medicalViewer.Size = new Size(this.ClientRectangle.Right, this.ClientRectangle.Bottom); } public MedicalViewerCustomLookupTableForm() { 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.WindowLevel); cell.AddAction(MedicalViewerActionType.Stack); // 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.WindowLevel, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active); cell.SetAction(MedicalViewerActionType.Stack, MedicalViewerMouseButtons.Wheel, MedicalViewerActionFlags.Active); // Create a custom lookup table that will make the frames look inverted RasterColor[] colors = new RasterColor[8000 /* or any number */]; int index; for (index = 0; index < colors.Length; index++) { colors[index].R = colors[index].G = colors[index].B = (byte)(255 - ((index * 255 + 128) / (colors.Length - 1))); } cell.CustomLookupTable.Add(colors); foreach (MedicalViewerSubCell subCell in cell.SubCells) { subCell.PaletteType = (MedicalViewerPaletteType)100; // the index of the first custom lookup table in Cell.CustomLookupTable } _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 MedicalViewerLocalizer_FormClosing(object sender, FormClosingEventArgs e) { } public MedicalViewer Viewer { get { return _medicalViewer; } } } MedicalViewerCustomLookupTableForm GetMedicalViewerCustomLookupTableForm() { return new MedicalViewerCustomLookupTableForm(); } // This examples assigns a custom lookup table to the image. public void MedicalViewerCustomLookupTableExample() { MedicalViewerCustomLookupTableForm myForm = GetMedicalViewerCustomLookupTableForm(); MedicalViewer medicalViewer = myForm.Viewer; myForm.ShowDialog(); } static class LEAD_VARS { public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; }
Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2