←Select platform

DicomPaletteColorLutAttributes Class

This DicomPaletteColorLutAttributes class is used by the method GetPaletteColorLutAttributes and SetPaletteColorLutAttributes to get and set the attributes that describe the "Palette Color Lookup Table".
public class DicomPaletteColorLutAttributes 
@interface LTDicomPaletteColorLutAttributes : NSObject 
public class DicomPaletteColorLutAttributes  
public ref class DicomPaletteColorLutAttributes  
  • The properties of this class are based on the attributes of the "Palette Color Lookup Module". Please see "Palette Color Lookup Module" in the DICOM standard for more details.
  • According to the DICOM standard when the number of table entries under the "Palette Color Lookup Table" is equal to 2^16 then the number of entries should be 0. However, the 2 methods, GetPaletteColorLutAttributes and SetPaletteColorLutAttributes, do NOT have this limitation. When you call GetPaletteColorLutAttributes it will automatically set the value inside the dataset to 0 if NumberOfEntries is equal to 2^16. The same applies to SetPaletteColorLutAttributes.
using Leadtools; 
using Leadtools.Dicom; 
public void TestPaletteColorLut() 
   string dicomFileName = Path.Combine(LEAD_VARS.ImagesDir, "DICOM", "image3.dcm"); 
   //Make sure to initialize the DICOM engine, this needs to be done only once  
   //In the whole application 
   using (DicomDataSet ds = new DicomDataSet()) 
      int paletteColorLutSize = 65536; 
      //Load DICOM File 
      ds.Load(dicomFileName, DicomDataSetLoadFlags.None); 
      DicomPaletteColorLutAttributes paletteColorLutAttributes = new DicomPaletteColorLutAttributes(); 
      // Initialize Red Palette Color Lookup Table Descriptor (0028,1101)  
      paletteColorLutAttributes.RedFirstStoredPixelValueMapped = 0; 
      paletteColorLutAttributes.RedEntryBits = 16; 
      paletteColorLutAttributes.RedNumberOfEntries = paletteColorLutSize; 
      // Initialize Green Palette Color Lookup Table Descriptor (0028,1102)  
      paletteColorLutAttributes.GreenFirstStoredPixelValueMapped = 0; 
      paletteColorLutAttributes.GreenEntryBits = 16; 
      paletteColorLutAttributes.GreenNumberOfEntries = paletteColorLutSize; 
      // Initialize Blue Palette Color Lookup Table Descriptor (0028,1103)  
      paletteColorLutAttributes.BlueFirstStoredPixelValueMapped = 0; 
      paletteColorLutAttributes.BlueEntryBits = 16; 
      paletteColorLutAttributes.BlueNumberOfEntries = paletteColorLutSize; 
      int[] LutData = new int[paletteColorLutSize]; 
      for (int i = 0; i < paletteColorLutSize; i++) 
         LutData[i] = i; 
      ds.SetPaletteColorLutData(LutData, DicomPaletteColorLutType.Red); 
      ds.SetPaletteColorLutData(LutData, DicomPaletteColorLutType.Green); 
      ds.SetPaletteColorLutData(LutData, DicomPaletteColorLutType.Blue); 
      DicomPaletteColorLutAttributes attributes = ds.GetPaletteColorLutAttributes(); 
      if (attributes != null) 
         Debug.Assert(attributes.RedNumberOfEntries == paletteColorLutSize); 
         Debug.Assert(attributes.GreenNumberOfEntries == paletteColorLutSize); 
         Debug.Assert(attributes.BlueNumberOfEntries == paletteColorLutSize); 
         int[] data = ds.GetPaletteColorLutData(DicomPaletteColorLutType.Red); 
         // Do something with the data 
      ds.Save(Path.Combine(LEAD_VARS.ImagesDir, "DICOM", "PLUT.dcm"), DicomDataSetSaveFlags.None); 
static class LEAD_VARS 
   public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images"; 

Target Platforms

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

Leadtools.Dicom Assembly