←Select platform

SetPaletteColorLutData Method

Summary
Sets red, green or blue "Palette Color Lookup Table" data.
Syntax
C#
C++/CLI
Java
public void SetPaletteColorLutData( 
   int[] data, 
   DicomPaletteColorLutType type 
) 
public void setPaletteColorLutData(int[] data, DicomPaletteColorLutType paletteColorLutType) 
public: 
void SetPaletteColorLutData(  
   array<int>^ data, 
   DicomPaletteColorLutType type 
)  

Parameters

data
Buffer that holds the "Palette Color Lookup Table Data" to set.

type
Type of palette color lookup table data to set.

Remarks

This method will set the data for the "Red", "Green" or "Blue" "Palette Color Lookup Table". Before calling this method you must call SetPaletteColorLutAttributes to set the attributes of the "Palette Color Lookup Table". Otherwise, this method will fail and throw a DicomExceptionCode.LutDescriptorMissing exception.

Example
C#
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 
   DicomEngine.Startup(); 
   using (DicomDataSet ds = new DicomDataSet()) 
   { 
      int paletteColorLutSize = 65536; 
      //Load DICOM File 
      ds.Load(dicomFileName, DicomDataSetLoadFlags.None); 
      ds.DeletePaletteColorLut(); 
      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; 
 
      ds.SetPaletteColorLutAttributes(paletteColorLutAttributes); 
 
      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); 
   } 
   DicomEngine.Shutdown(); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images"; 
} 
Requirements

Target Platforms

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

Leadtools.Dicom Assembly