←Select platform

Is this page helpful?

In this page

DicomPaletteColorLutAttributes Class

Summary
This DicomPaletteColorLutAttributes class is used by the method GetPaletteColorLutAttributes and SetPaletteColorLutAttributes to get and set the attributes that describe the "Palette Color Lookup Table".
Syntax
C#
Objective-C
C++/CLI
Java
public class DicomPaletteColorLutAttributes 
@interface LTDicomPaletteColorLutAttributes : NSObject 
public class DicomPaletteColorLutAttributes  
public ref class DicomPaletteColorLutAttributes  
Remarks
  • 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.
Example
C#
Copied to clipboard
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.8.20
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

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