Sets up the paint or paint and image processing methods' window leveling options for a specific image through a lookup-table (LookupTable).
public class ApplyVoiLookupTableCommand : RasterCommand
Public Class ApplyVoiLookupTableCommand
Inherits RasterCommand
@interface LTApplyVoiLookupTableCommand : LTRasterCommand
public class ApplyVoiLookupTableCommand extends RasterCommand
public ref class ApplyVoiLookupTableCommand : public RasterCommand
This command is available in the Document and Medical Imaging toolkits.
For more information, refer to Changing Brightness and Contrast.
Run the ApplyVoiLookupTableCommand on an image.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.Core;
public void ApplyVoiLookupTableCommandExample()
{
// Load an image
RasterCodecs codecs = new RasterCodecs();
codecs.ThrowExceptionsOnInvalidImages = true;
RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE2.dcm"));
// Prepare the command
int i;
short[] pLookupTable = new short[0x10000];
DicomLookupTableDescriptor LookupTableDescriptor = new DicomLookupTableDescriptor();
for (i = 0; i < 0x10000; i++)
{
if (i < 30)
{
pLookupTable[i] = 0;
}
else
if (i > 630)
pLookupTable[i] = 630;
else
pLookupTable[i] = (short)i;
}
// fill the LookupTableDescriptor object
LookupTableDescriptor.FirstStoredPixelValueMapped = 0;
LookupTableDescriptor.EntryBits = 16;
ApplyVoiLookupTableCommand command = new ApplyVoiLookupTableCommand();
command.Flags = VoiLookupTableCommandFlags.None;
command.LookupTable = pLookupTable;
command.LookupTableDescriptor = LookupTableDescriptor;
command.Run(image);
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing.Core
Public Sub ApplyVoiLookupTableCommandExample()
Dim codecs As New RasterCodecs()
codecs.ThrowExceptionsOnInvalidImages = True
Dim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE2.dcm"))
' Prepare the command
Dim i As Integer
Dim pLookupTable() As Short
ReDim pLookupTable(65536)
Dim LookupTableDescriptor As DicomLookupTableDescriptor = New DicomLookupTableDescriptor
For i = 0 To 65536
If (i < 30) Then
pLookupTable(i) = 0
Else
If (i > 630) Then
pLookupTable(i) = 630
Else
pLookupTable(i) = CType(i, Int16)
End If
End If
Next
' fill the LookupTableDescriptor object
LookupTableDescriptor.FirstStoredPixelValueMapped = 0
LookupTableDescriptor.EntryBits = 16
Dim command As ApplyVoiLookupTableCommand = New ApplyVoiLookupTableCommand
command.Flags = VoiLookupTableCommandFlags.None
command.LookupTable = pLookupTable
command.LookupTableDescriptor = LookupTableDescriptor
command.Run(leadImage)
End Sub
Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
c#[Silverlight C# Example]
using Leadtools;
using Leadtools.Examples;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.Core;
public void ApplyVoiLookupTableCommandExample(RasterImage image, Stream outStream)
{
// Prepare the command
int i;
short[] pLookupTable = new short[0x10000];
DicomLookupTableDescriptor LookupTableDescriptor = new DicomLookupTableDescriptor();
for (i = 0; i < 0x10000; i++)
{
if (i < 30)
{
pLookupTable[i] = 0;
}
else
if (i > 630)
pLookupTable[i] = 630;
else
pLookupTable[i] = (short)i;
}
// fill the LookupTableDescriptor object
LookupTableDescriptor.FirstStoredPixelValueMapped = 0;
LookupTableDescriptor.EntryBits = 16;
ApplyVoiLookupTableCommand command = new ApplyVoiLookupTableCommand();
command.Flags = VoiLookupTableCommandFlags.None;
command.LookupTable = pLookupTable;
command.LookupTableDescriptor = LookupTableDescriptor;
command.Run(image);
// Save result image
RasterCodecs codecs = new RasterCodecs();
codecs.Save(image, outStream, RasterImageFormat.Jpeg, 24);
image.Dispose();
}
vb[Silverlight VB Example]
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing.Core
Public Sub ApplyVoiLookupTableCommandExample(ByVal image As RasterImage, ByVal outStream As Stream)
' Prepare the command
Dim i As Integer
Dim pLookupTable As Short() = New Short(&H10000 - 1) {}
Dim LookupTableDescriptor As DicomLookupTableDescriptor = New DicomLookupTableDescriptor()
i = 0
Do While i < &H10000
If i < 30 Then
pLookupTable(i) = 0
Else
If i > 630 Then
pLookupTable(i) = 630
Else
pLookupTable(i) = CShort(i)
End If
End If
i += 1
Loop
' fill the LookupTableDescriptor object
LookupTableDescriptor.FirstStoredPixelValueMapped = 0
LookupTableDescriptor.EntryBits = 16
Dim command As ApplyVoiLookupTableCommand = New ApplyVoiLookupTableCommand()
command.Flags = VoiLookupTableCommandFlags.None
command.LookupTable = pLookupTable
command.LookupTableDescriptor = LookupTableDescriptor
command.Run(image)
' Save result image
Dim codecs As RasterCodecs = New RasterCodecs()
codecs.Save(image, outStream, RasterImageFormat.Jpeg, 24)
image.Dispose()
End Sub
ApplyVoiLookupTableCommand Members
Leadtools.ImageProcessing.Core Namespace
Changing Brightness and Contrast
ApplyLinearVoiLookupTableCommand Class
Leadtools.ImageProcessing.Color.RemapIntensityCommand
ApplyModalityLookupTableCommand Class
ApplyLinearModalityLookupTableCommand Class
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