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() |
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 Basic | Copy Code |
---|
Public Sub TestPaletteColorLut()
Dim dicomFileName As String = LeadtoolsExamples.Common.ImagesPath.Path + "IMAGE3.dic"
DicomEngine.Startup()
Dim ds As DicomDataSet = New DicomDataSet()
Using (ds)
Dim paletteColorLutSize As Integer = 65536
ds.Load(dicomFileName, DicomDataSetLoadFlags.None)
ds.DeletePaletteColorLut()
Dim paletteColorLutAttributes As DicomPaletteColorLutAttributes = New DicomPaletteColorLutAttributes()
paletteColorLutAttributes.RedFirstStoredPixelValueMapped = 0
paletteColorLutAttributes.RedEntryBits = 16
paletteColorLutAttributes.RedNumberOfEntries = paletteColorLutSize
paletteColorLutAttributes.GreenFirstStoredPixelValueMapped = 0
paletteColorLutAttributes.GreenEntryBits = 16
paletteColorLutAttributes.GreenNumberOfEntries = paletteColorLutSize
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)
End If
ds.Save(LeadtoolsExamples.Common.ImagesPath.Path + "PLUT.dic", DicomDataSetSaveFlags.None)
End Using
DicomEngine.Shutdown()
End Sub |
C# | Copy Code |
---|
public void TestPaletteColorLut() { string dicomFileName = LeadtoolsExamples.Common.ImagesPath.Path + "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(LeadtoolsExamples.Common.ImagesPath.Path + "PLUT.dic", DicomDataSetSaveFlags.None); } DicomEngine.Shutdown(); } |
Remarks
Requirements
Target Platforms: Microsoft .NET Framework 3.0, Windows XP, Windows Server 2003 family, Windows Server 2008 family
See Also