Retrieves red, green or blue "Palette Color Lookup Table Data".
#include "ltdic.h"
L_LTDIC_API L_UINT16 L_DicomGetPaletteColorLUTData(hDS, pLUTData, uDataSize, PaletteColorLUTType, uFlags)
A DICOM handle.
Pointer to the buffer to be updated with the "Palette Color Lookup Table Data". You must allocate the buffer before calling this function, and the buffer must be large enough to hold the "Palette Color Lookup Table Data".
Size of the buffer pointed to by pLUTData.
Type of palette color lookup table to data to get. Possible values are:
Value | Meaning |
---|---|
DICOMPALETTECOLORLUTTYPE_RED | Retrieve "Red Palette Color Lookup Table Data" (0028,1201) |
DICOMPALETTECOLORLUTTYPE_GREEN | Retrieve "Green Palette Color Lookup Table Data" (0028,1202) |
DICOMPALETTECOLORLUTTYPE_BLUE | Retrieve "Blue Color Lookup Table Data" (0028,1203) |
Reserved for future use. Pass 0.
Value | Meaning |
---|---|
DICOM_SUCCESS | The function was successful. |
>0 | An error occurred. Refer to Return Codes. |
This function will retrieve the data for the "Red", "Green" or "Blue" "Palette Color Lookup Table".
If the data is segmented, then this function will decode the data before coping it to the buffer pointed to by pLUTData.
Before calling this function you must call L_DicomGetPaletteColorLUTAttributes to see if a "Palette Color Lookup Table" exists in the DICOM dataset. If you are trying to retrieve the "Red Palette Color Lookup Table Data" you must allocate a buffer with a size greater or equal to pPaletteColorLUTAttributes->RedLUTDescriptor.uNumberOfEntries, where pPaletteColorLUTAttributes is the "Palette Color Lookup Table" attributes" structure returned by the L_DicomGetPaletteColorLUTAttributes function. If you are trying to retrieve the "Green Palette Color Lookup Table Data" you must allocate a buffer with a size greater or equal to pPaletteColorLUTAttributes->GreenLUTDescriptor.uNumberOfEntries. And, if you are trying to retrieve the "Blue Palette Color Lookup Table Data" you must allocate a buffer with a size greater or equal to pPaletteColorLUTAttributes->BlueLUTDescriptor.uNumberOfEntries.
Win32, x64, Linux.
This example will retrieve the data under "Red Palette Color Lookup Table Data"(0028,1201)
element and if the data is segmented it will get the data under "Segmented Red Palette Color Lookup Table Data" (0028,1221) and decode it.
L_INT DicomGetPaletteColorLUTDataExample(
HDICOMDS hDicomDS,
L_UINT16* pLUTDataBuffer,
L_UINT uInputBufferSize)
{
// Structure that will hold Palette Color LUT attributes
DICOMPALCOLORLUTATTRIBS PaletteColorLUTAttributes = {0};
L_UINT16 uRet;
// Sanity Check
if((hDicomDS == NULL ) || (pLUTDataBuffer== NULL))
return DICOM_ERROR_NULL_PTR;
if(uInputBufferSize == 0)
return DICOM_ERROR_PARAMETER;
memset(pLUTDataBuffer,0,uInputBufferSize);
// Get "Palette Color Lookup Table" attributes
uRet = L_DicomGetPaletteColorLUTAttributes(hDicomDS, &PaletteColorLUTAttributes, sizeof(DICOMPALCOLORLUTATTRIBS), 0);
if(uRet != DICOM_SUCCESS)
return uRet;
// The buffer should be big enough to hold the data!
if(!(uInputBufferSize >= PaletteColorLUTAttributes.RedLUTDescriptor.uNumberOfEntries))
return DICOM_ERROR_PARAMETER;
// Retrieve "Red Palette Color Lookup Table Data"
// This function will automatically decode the LUT data
// if it was segmented
return L_DicomGetPaletteColorLUTData(hDicomDS, pLUTDataBuffer, uInputBufferSize, DICOMPALETTECOLORLUTTYPE_RED, 0);
}
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