Leadtools.ImageProcessing.Core Namespace : ApplyVoiLookupTableCommand Class |
public class ApplyVoiLookupTableCommand : Leadtools.ImageProcessing.RasterCommand, Leadtools.ImageProcessing.IRasterCommand
'Declaration Public Class ApplyVoiLookupTableCommand Inherits Leadtools.ImageProcessing.RasterCommand Implements Leadtools.ImageProcessing.IRasterCommand
'Usage Dim instance As ApplyVoiLookupTableCommand
public sealed class ApplyVoiLookupTableCommand : Leadtools.ImageProcessing.IRasterCommand
@interface LTApplyVoiLookupTableCommand : LTRasterCommand
public class ApplyVoiLookupTableCommand extends RasterCommand
function Leadtools.ImageProcessing.Core.ApplyVoiLookupTableCommand()
public ref class ApplyVoiLookupTableCommand : public Leadtools.ImageProcessing.RasterCommand, Leadtools.ImageProcessing.IRasterCommand
In Silverlight and Windows Phone versions of LEADTOOLS, this image processing command will fail if the image data for the RasterImage object is stored internally using a Silverlight WriteableBitmap object. For more information, refer to Image Processing Command Limitations in Silverlight.
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
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"; }
function ApplyVoiLookupTableCommandExample() { var codecs = new Leadtools.Codecs.RasterCodecs(); codecs.throwExceptionsOnInvalidImages = true; // Load the image var srcFileName = "Assets\\Image2.dcm"; return Tools.AppInstallFolder().getFileAsync(srcFileName).then(function (loadFile) { return codecs.loadAsync(Leadtools.LeadStreamFactory.create(loadFile)); }).then(function (image){ // Prepare the command with (Leadtools.ImageProcessing.Core) { // Prepare the command var i; var pLookupTable = new Array();; var 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] = parseInt(i); } // fill the LookupTableDescriptor object LookupTableDescriptor.firstStoredPixelValueMapped = 0; LookupTableDescriptor.entryBits = 16; var command = new ApplyVoiLookupTableCommand(); command.flags = VoiLookupTableCommandFlags.none; command.lookupTable = pLookupTable; command.lookupTableDescriptor = LookupTableDescriptor; command.run(image); } }); }
using Leadtools; using Leadtools.Codecs; using Leadtools.ImageProcessing.Core; public async Task ApplyVoiLookupTableCommandExample() { // Load an image RasterCodecs codecs = new RasterCodecs(); codecs.ThrowExceptionsOnInvalidImages = true; // Load the image string srcFileName = @"Assets\Image2.dcm"; StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName); RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile)); // 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); }
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(); }
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
Leadtools.ImageProcessing.Color.AdjustTintCommand
Leadtools.ImageProcessing.Color.GammaCorrectExtendedCommand