Leadtools.ImageProcessing.Core Namespace : ApplyModalityLookupTableCommand Class |
public class ApplyModalityLookupTableCommand : Leadtools.ImageProcessing.RasterCommand, Leadtools.ImageProcessing.IRasterCommand
'Declaration Public Class ApplyModalityLookupTableCommand Inherits Leadtools.ImageProcessing.RasterCommand Implements Leadtools.ImageProcessing.IRasterCommand
'Usage Dim instance As ApplyModalityLookupTableCommand
public sealed class ApplyModalityLookupTableCommand : Leadtools.ImageProcessing.IRasterCommand
@interface LTApplyModalityLookupTableCommand : LTRasterCommand
public class ApplyModalityLookupTableCommand extends RasterCommand
function Leadtools.ImageProcessing.Core.ApplyModalityLookupTableCommand()
public ref class ApplyModalityLookupTableCommand : 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 ApplyModalityLookupTableCommandExample() 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(65535) Dim LookupTableDescriptor As DicomLookupTableDescriptor = New DicomLookupTableDescriptor ' set a LookupTable which reduces the intensity of each pixel to half For i = 0 To 65535 pLookupTable(i) = CType(i \ 2, Int16) Next ' fill the LookupTableDescriptor object LookupTableDescriptor.FirstStoredPixelValueMapped = 0 LookupTableDescriptor.EntryBits = 16 ' apply the LookupTable Dim command As ApplyModalityLookupTableCommand = New ApplyModalityLookupTableCommand command.Flags = ModalityLookupTableCommandFlags.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 ApplyModalityLookupTableCommandExample() { // 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(); // set a LookupTable which reduces the intensity of each pixel to half for(i = 0; i <= 0xFFFF; i++) pLookupTable[i] = (short)(i / 2); // fill the LookupTableDescriptor object LookupTableDescriptor.FirstStoredPixelValueMapped = 0; LookupTableDescriptor.EntryBits = 16; // apply the LookupTable ApplyModalityLookupTableCommand command = new ApplyModalityLookupTableCommand(); command.Flags = ModalityLookupTableCommandFlags.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 ApplyModalityLookupTableCommandExample() { 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){ with (Leadtools.ImageProcessing.Core) { // Prepare the command var i; var pLookupTable = new Array();; var LookupTableDescriptor = new DicomLookupTableDescriptor(); // set a LookupTable which reduces the intensity of each pixel to half for(i = 0; i <= 0xFFFF; i++) pLookupTable[i] = parseInt(i / 2); // fill the LookupTableDescriptor object LookupTableDescriptor.firstStoredPixelValueMapped = 0; LookupTableDescriptor.entryBits = 16; // apply the LookupTable var command = new ApplyModalityLookupTableCommand(); command.flags = ModalityLookupTableCommandFlags.none; command.lookupTable = pLookupTable; command.lookupTableDescriptor = LookupTableDescriptor; command.run(image); } }); }
using Leadtools; using Leadtools.Codecs; using Leadtools.ImageProcessing.Core; public async Task ApplyModalityLookupTableCommandExample() { // 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(); // set a LookupTable which reduces the intensity of each pixel to half for(i = 0; i <= 0xFFFF; i++) pLookupTable[i] = (short)(i / 2); // fill the LookupTableDescriptor object LookupTableDescriptor.FirstStoredPixelValueMapped = 0; LookupTableDescriptor.EntryBits = 16; // apply the LookupTable ApplyModalityLookupTableCommand command = new ApplyModalityLookupTableCommand(); command.Flags = ModalityLookupTableCommandFlags.None; command.LookupTable = pLookupTable; command.LookupTableDescriptor = LookupTableDescriptor; command.Run(image); }
using Leadtools; using Leadtools.Examples; using Leadtools.Codecs; using Leadtools.ImageProcessing.Core; public void ApplyModalityLookupTableCommandExample(RasterImage image, Stream outStream) { // Prepare the command int i; short[] pLookupTable = new short[0x10000]; DicomLookupTableDescriptor LookupTableDescriptor = new DicomLookupTableDescriptor(); // set a LookupTable which reduces the intensity of each pixel to half for (i = 0; i <= 0xFFFF; i++) pLookupTable[i] = (short)(i / 2); // fill the LookupTableDescriptor object LookupTableDescriptor.FirstStoredPixelValueMapped = 0; LookupTableDescriptor.EntryBits = 16; // apply the LookupTable ApplyModalityLookupTableCommand command = new ApplyModalityLookupTableCommand(); command.Flags = ModalityLookupTableCommandFlags.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 ApplyModalityLookupTableCommandExample(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() ' set a LookupTable which reduces the intensity of each pixel to half i = 0 Do While i <= &HFFFF pLookupTable(i) = CShort(i / 2) i += 1 Loop ' fill the LookupTableDescriptor object LookupTableDescriptor.FirstStoredPixelValueMapped = 0 LookupTableDescriptor.EntryBits = 16 ' apply the LookupTable Dim command As ApplyModalityLookupTableCommand = New ApplyModalityLookupTableCommand() command.Flags = ModalityLookupTableCommandFlags.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
ApplyModalityLookupTableCommand Members
Leadtools.ImageProcessing.Core Namespace
Changing Brightness and Contrast
Leadtools.ImageProcessing.Color.RemapIntensityCommand
ApplyLinearModalityLookupTableCommand Class
ApplyVoiLookupTableCommand Class
ApplyLinearVoiLookupTableCommand Class
Leadtools.ImageProcessing.Color.AdjustTintCommand
Leadtools.ImageProcessing.Color.GammaCorrectExtendedCommand