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 ApplyVoiLookupTableCommandInherits 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 imageRasterCodecs codecs = new RasterCodecs();codecs.ThrowExceptionsOnInvalidImages = true;RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE2.dcm"));// Prepare the commandint i;short[] pLookupTable = new short[0x10000];DicomLookupTableDescriptor LookupTableDescriptor = new DicomLookupTableDescriptor();for (i = 0; i < 0x10000; i++){if (i < 30){pLookupTable[i] = 0;}elseif (i > 630)pLookupTable[i] = 630;elsepLookupTable[i] = (short)i;}// fill the LookupTableDescriptor objectLookupTableDescriptor.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 LeadtoolsImports Leadtools.CodecsImports Leadtools.ImageProcessing.CorePublic Sub ApplyVoiLookupTableCommandExample()Dim codecs As New RasterCodecs()codecs.ThrowExceptionsOnInvalidImages = TrueDim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE2.dcm"))' Prepare the commandDim i As IntegerDim pLookupTable() As ShortReDim pLookupTable(65536)Dim LookupTableDescriptor As DicomLookupTableDescriptor = New DicomLookupTableDescriptorFor i = 0 To 65536If (i < 30) ThenpLookupTable(i) = 0ElseIf (i > 630) ThenpLookupTable(i) = 630ElsepLookupTable(i) = CType(i, Int16)End IfEnd IfNext' fill the LookupTableDescriptor objectLookupTableDescriptor.FirstStoredPixelValueMapped = 0LookupTableDescriptor.EntryBits = 16Dim command As ApplyVoiLookupTableCommand = New ApplyVoiLookupTableCommandcommand.Flags = VoiLookupTableCommandFlags.Nonecommand.LookupTable = pLookupTablecommand.LookupTableDescriptor = LookupTableDescriptorcommand.Run(leadImage)End SubPublic NotInheritable Class LEAD_VARSPublic 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 commandint i;short[] pLookupTable = new short[0x10000];DicomLookupTableDescriptor LookupTableDescriptor = new DicomLookupTableDescriptor();for (i = 0; i < 0x10000; i++){if (i < 30){pLookupTable[i] = 0;}elseif (i > 630)pLookupTable[i] = 630;elsepLookupTable[i] = (short)i;}// fill the LookupTableDescriptor objectLookupTableDescriptor.FirstStoredPixelValueMapped = 0;LookupTableDescriptor.EntryBits = 16;ApplyVoiLookupTableCommand command = new ApplyVoiLookupTableCommand();command.Flags = VoiLookupTableCommandFlags.None;command.LookupTable = pLookupTable;command.LookupTableDescriptor = LookupTableDescriptor;command.Run(image);// Save result imageRasterCodecs codecs = new RasterCodecs();codecs.Save(image, outStream, RasterImageFormat.Jpeg, 24);image.Dispose();}vb[Silverlight VB Example]Imports LeadtoolsImports Leadtools.CodecsImports Leadtools.ImageProcessing.CorePublic Sub ApplyVoiLookupTableCommandExample(ByVal image As RasterImage, ByVal outStream As Stream)' Prepare the commandDim i As IntegerDim pLookupTable As Short() = New Short(&H10000 - 1) {}Dim LookupTableDescriptor As DicomLookupTableDescriptor = New DicomLookupTableDescriptor()i = 0Do While i < &H10000If i < 30 ThenpLookupTable(i) = 0ElseIf i > 630 ThenpLookupTable(i) = 630ElsepLookupTable(i) = CShort(i)End IfEnd Ifi += 1Loop' fill the LookupTableDescriptor objectLookupTableDescriptor.FirstStoredPixelValueMapped = 0LookupTableDescriptor.EntryBits = 16Dim command As ApplyVoiLookupTableCommand = New ApplyVoiLookupTableCommand()command.Flags = VoiLookupTableCommandFlags.Nonecommand.LookupTable = pLookupTablecommand.LookupTableDescriptor = LookupTableDescriptorcommand.Run(image)' Save result imageDim 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
