Leadtools.Dicom Requires Medical product license | Send comments on this topic. | Back to Introduction - All Topics | Help Version 15.10.31
DeletePaletteColorLut Method
See Also  Example
Leadtools.Dicom Namespace > DicomDataSet Class : DeletePaletteColorLut Method




Deletes all the elements that describe the "Palette Color Lookup Table".

Syntax

Visual Basic (Declaration) 
Public Sub DeletePaletteColorLut() 
Visual Basic (Usage)Copy Code
Dim instance As DicomDataSet
 
instance.DeletePaletteColorLut()
C# 
public void DeletePaletteColorLut()
Managed Extensions for C++ 
public: void DeletePaletteColorLut(); 
C++/CLI 
public:
void DeletePaletteColorLut(); 

Example

This example will load a DICOM dataset, update its palette color LUT and then verify that the LUT was updated properly.

Visual BasicCopy Code
Public Sub TestPaletteColorLut()
  Dim dicomFileName As String = "C:\Program Files\LEAD Technologies, Inc\LEADTOOLS 14.5\Images\IMAGE3.dic"
  'Make sure to initialize the DICOM engine, this needs to be done only once
  'In the whole application
  DicomEngine.Startup()

  Dim ds As DicomDataSet = New DicomDataSet()
    Using (ds)
       Dim paletteColorLutSize As Integer = 65536
       'Load DICOM File
       ds.Load(dicomFileName, DicomDataSetLoadFlags.None)
       ds.DeletePaletteColorLut()
       Dim paletteColorLutAttributes As DicomPaletteColorLutAttributes = 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)

       Dim LutData As Integer() = New Integer(paletteColorLutSize - 1) {}
       Dim i As Integer = 0
       Do While i < paletteColorLutSize
          LutData(i) = i
          i += 1
       Loop

       ds.SetPaletteColorLutData(LutData, DicomPaletteColorLutType.Red)
       ds.SetPaletteColorLutData(LutData, DicomPaletteColorLutType.Green)
       ds.SetPaletteColorLutData(LutData, DicomPaletteColorLutType.Blue)

       Dim attributes As DicomPaletteColorLutAttributes = ds.GetPaletteColorLutAttributes()
       If Not attributes Is Nothing Then
          Debug.Assert(attributes.RedNumberOfEntries = paletteColorLutSize)
          Debug.Assert(attributes.GreenNumberOfEntries = paletteColorLutSize)
          Debug.Assert(attributes.BlueNumberOfEntries = paletteColorLutSize)

          Dim data As Integer() = ds.GetPaletteColorLutData(DicomPaletteColorLutType.Red)
          ' Do something with the data
       End If
       ds.Save("C:\PLUT.dic", DicomDataSetSaveFlags.None)
    End Using
    DicomEngine.Shutdown()
 End Sub
C#Copy Code
public void TestPaletteColorLut() 

   string dicomFileName = @"C:\Program Files\LEAD Technologies, Inc\LEADTOOLS 14.5\Images\IMAGE3.dic"; 
   //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(@"C:\PLUT.dic", DicomDataSetSaveFlags.None); 
   } 
   DicomEngine.Shutdown(); 
}

Remarks

This method will delete all the elements defined under the "Palette Color Lookup Module", this includes:

Red Palette Color Lookup Table Descriptor (0028,1101),

Green Palette Color Lookup Table Descriptor (0028,1102),

Blue Palette Color Lookup Table Descriptor (0028,1103),

Palette Color Lookup Table UID (0028,1199),

Red Palette Color Lookup Table Data (0028,1201),

Green Palette Color Lookup Table Data (0028,1202),

Blue Palette Color Lookup Table Data (0028,1203),

Segmented Red Palette Color Lookup Table Data (0028,1221),

Segmented Green Palette Color Lookup Table Data (0028,1222),

Segmented Blue Palette Color Lookup Table Data (0028,1223)

Requirements

Target Platforms: Microsoft .NET Framework 2.0, Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

See Also

Leadtools.Dicom requires a Medical toolkit license and unlock key. For more information, refer to: Raster Pro/Document/Medical Features