public MedicalViewerCollection<RasterColor[]> CustomLookupTable { get; }
public:
property MedicalViewerCollection<array<RasterColor>>^ CustomLookupTable {
MedicalViewerCollection<array<RasterColor>>^ get();
}
MedicalViewerCollection collection that contains arrays of a custom lookup tables that the user can assign to any frame or image in the cell.
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.Engine;
using Leadtools.Annotations.Designers;
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:\LEADTOOLS23\Resources\Images";
}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document