←Select platform

ApplyModalityLookupTableCommand Constructor(DicomLookupTableDescriptor,short[],ModalityLookupTableCommandFlags)

Summary

Initializes a new ApplyModalityLookupTableCommand with explicit parameters.

Syntax
C#
VB
Java
Objective-C
C++
Public Function New( _ 
   ByVal lookupTableDescriptor As DicomLookupTableDescriptor, _ 
   ByVal lookupTable() As Short, _ 
   ByVal flags As ModalityLookupTableCommandFlags _ 
) 
- (instancetype)initWithLookupTableDescriptor:(LTDicomLookupTableDescriptor *)lookupTableDescriptor 
                                  lookupTable:(const unsigned short *)lookupTable 
                            lookupTableLength:(NSUInteger)lookupTableLength 
                                        flags:(LTModalityLookupTableCommandFlags)flags 
public ApplyModalityLookupTableCommand( 
   DicomLookupTableDescriptor lookupTableDescriptor,  
   int[] lookupTable,  
   int flags 
) 
public: 
ApplyModalityLookupTableCommand(  
   DicomLookupTableDescriptor^ lookupTableDescriptor, 
   array<short>^ lookupTable, 
   ModalityLookupTableCommandFlags flags 
) 

Parameters

lookupTableDescriptor
Structure describing the LookupTable. The following members are used:

Value Meaning
FirstStoredPixelValueMapped Indicates the first index whose remapped value is stored in the LookupTable. All pixels that are less than this value will be remapped to LookupTable[0].

lookupTable
Array of short values that contains the lookup table. Its length determines the number of entries. All the pixels that are greater than FirstStoredPixelValueMapped + (LookupTable->Length) will be set to the last entry in the LookupTable (LookupTable[LookupTable->Length - 1]).

flags
Flags that determine the behavior of this method. These flags can be OR-ed together.

Example

Run the ApplyModalityLookupTableCommand on an image.

C#
VB
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing.Core; 
 
public void ApplyModalityLookupTableConstructorExample() 
{ 
   // 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[65536]; 
   DicomLookupTableDescriptor LookupTableDescriptor = new DicomLookupTableDescriptor(0, 16); 
 
   // set a LookupTable which reduces the intensity of each pixel to half 
   for (i = 0; i < 65536; i++) 
      pLookupTable[i] = (short)(i / 2); 
 
   // apply the LookupTable 
   ApplyModalityLookupTableCommand command = new ApplyModalityLookupTableCommand(LookupTableDescriptor, pLookupTable, ModalityLookupTableCommandFlags.None); 
   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 ApplyModalityLookupTableConstructorExample() 
   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(0, 16) 
   ' set a LookupTable which reduces the intensity of each pixel to half 
   For i = 0 To 65535 
      pLookupTable(i) = CType(i / 2, Int16) 
   Next 
   ' apply the LookupTable 
   Dim command As ApplyModalityLookupTableCommand = New ApplyModalityLookupTableCommand(LookupTableDescriptor, pLookupTable, ModalityLookupTableCommandFlags.None) 
   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 ApplyModalityLookupTableConstructorExample(RasterImage image, Stream outStream) 
{ 
   // Prepare the command 
   int i; 
   short[] pLookupTable = new short[65536]; 
   DicomLookupTableDescriptor LookupTableDescriptor = new DicomLookupTableDescriptor(0, 16); 
 
   // set a LookupTable which reduces the intensity of each pixel to half 
   for (i = 0; i < 65536; i++) 
      pLookupTable[i] = (short)(i / 2); 
 
   // apply the LookupTable 
   ApplyModalityLookupTableCommand command = new ApplyModalityLookupTableCommand(LookupTableDescriptor, pLookupTable, ModalityLookupTableCommandFlags.None); 
   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 ApplyModalityLookupTableConstructorExample(ByVal image As RasterImage, ByVal outStream As Stream) 
   ' Prepare the command 
   Dim i As Integer 
   Dim pLookupTable As Short() = New Short(65535) {} 
   Dim LookupTableDescriptor As DicomLookupTableDescriptor = New DicomLookupTableDescriptor(0, 16) 
 
   ' set a LookupTable which reduces the intensity of each pixel to half 
   For i = 0 To 65535 
      pLookupTable(i) = CShort(i / 2) 
   Next i 
 
   ' apply the LookupTable 
   Dim command As ApplyModalityLookupTableCommand = New ApplyModalityLookupTableCommand(LookupTableDescriptor, pLookupTable, ModalityLookupTableCommandFlags.None) 
   command.Run(image) 
 
   ' Save result image 
   Dim codecs As RasterCodecs = New RasterCodecs() 
   codecs.Save(image, outStream, RasterImageFormat.Jpeg, 24) 
   image.Dispose() 
End Sub 

Requirements

Target Platforms

Help Version 20.0.2019.9.19
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2019 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.ImageProcessing.Core Assembly