←Select platform

ApplyVoiLookupTableCommand Class

Summary
Sets up the paint or paint and image processing methods' window leveling options for a specific image through a lookup-table (LookupTable).
Syntax
C#
Objective-C
C++/CLI
Java
Python
public class ApplyVoiLookupTableCommand : RasterCommand 
@interface LTApplyVoiLookupTableCommand : LTRasterCommand 
public class ApplyVoiLookupTableCommand 
    extends RasterCommand 
public ref class ApplyVoiLookupTableCommand : public RasterCommand   
class ApplyVoiLookupTableCommand(RasterCommand): 
Remarks

This command is available in the Document and Medical Imaging toolkits.

  • This class sets up the paint or paint and image processing methods' window leveling options for a specific image through a lookup-table (LookupTable). In the DICOM world, this is referred to as "applying a non-linear VOI LookupTable".
  • This class will remap the LookupTable used to display and process an image by applying a user-defined lookup table. In the DICOM world this is referred to as applying a "non-linear VOI LookupTable". The DICOM standard states:
  • "A VOI LookupTable defines the transformation of the modality pixel values into pixel values that are meaningful for print, display, etc. This transformation is applied after any Modality LookupTable". Refer to "VOI LookupTable Module Attributes" in the DICOM standard for more details.
  • This class does not change the image data: it only updates the entries inside the image display LookupTable.
  • The value is remapped according to the LookupTable. Values smaller than the FirstStoredPixelValueMapped (property of the DicomLookupTableDescriptor class) are mapped to the first LookupTable entry, while values greater than the FirstStoredPixelValueMapped (property of the DicomLookupTableDescriptor class) + LookupTable->Length are mapped to the last LookupTable entry.
  • It is best to always set the VoiLookupTableCommandFlags flag.
  • In the DICOM world you will need to set the VoiLookupTableCommandFlags flag if the photometric interpretation of the image is "MONOCHROME1", where the minimum grayscale value is intended to be displayed as white after any VOI gray scale transformations have been performed.
  • This class supports 12 and 16-bit grayscale. Support for 12 and 16-bit grayscale is available only in the Document/Medical toolkits.
  • This command does not support 32-bit grayscale images.

For more information, refer to Changing Brightness and Contrast.

Example

Run the ApplyVoiLookupTableCommand on an image.

C#
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:\LEADTOOLS22\Resources\Images"; 
} 
Requirements

Target Platforms

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

Leadtools.ImageProcessing.Core Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.