public void SetPaletteColorLutData(
int[] data,
DicomPaletteColorLutType type
)
public void setPaletteColorLutData(int[] data, DicomPaletteColorLutType paletteColorLutType)
public:
void SetPaletteColorLutData(
array<int>^ data,
DicomPaletteColorLutType type
)
data
Buffer that holds the "Palette Color Lookup Table Data" to set.
type
Type of palette color lookup table data to set.
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.
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";
}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document