33 #include "dcmtk/config/osconfig.h"
35 #include "dcmtk/ofstd/oftypes.h"
36 #include "dcmtk/ofstd/ofcast.h"
38 #include "dcmtk/oflog/oflog.h"
42 #define DCMIMGLE_TRACE(msg) OFLOG_TRACE(DCM_dcmimgleGetLogger(), msg)
43 #define DCMIMGLE_DEBUG(msg) OFLOG_DEBUG(DCM_dcmimgleGetLogger(), msg)
44 #define DCMIMGLE_INFO(msg) OFLOG_INFO(DCM_dcmimgleGetLogger(), msg)
45 #define DCMIMGLE_WARN(msg) OFLOG_WARN(DCM_dcmimgleGetLogger(), msg)
46 #define DCMIMGLE_ERROR(msg) OFLOG_ERROR(DCM_dcmimgleGetLogger(), msg)
47 #define DCMIMGLE_FATAL(msg) OFLOG_FATAL(DCM_dcmimgleGetLogger(), msg)
60 const unsigned long CIF_AcrNemaCompatibility = 0x0000001;
63 const unsigned long CIF_WrongPaletteAttributeTags = 0x0000002;
66 const unsigned long CIF_MayDetachPixelData = 0x0000004;
69 const unsigned long CIF_UsePresentationState = 0x0000008;
72 const unsigned long CIF_KeepYCbCrColorModel = 0x0000010;
75 const unsigned long CIF_TakeOverExternalDataset = 0x0000020;
78 const unsigned long CIF_IgnoreModalityTransformation = 0x0000040;
81 const unsigned long CIF_IgnoreModalityLutBitDepth = 0x0000080;
84 const unsigned long CIF_CheckLutBitDepth = 0x0000100;
87 const unsigned long CIF_UseAbsolutePixelRange = 0x0000200;
90 const unsigned long CIF_UsePartialAccessToPixelData = 0x0000400;
93 const unsigned long CIF_DecompressCompletePixelData = 0x0000800;
96 const unsigned long CIF_NeverAccessEmbeddedOverlays = 0x0001000;
101 const int MI_PastelColor = -1;
110 enum EP_Interpretation
200 enum EP_Representation
203 EPR_Uint8, EPR_MinUnsigned = EPR_Uint8,
205 EPR_Sint8, EPR_MinSigned = EPR_Sint8,
211 EPR_Uint32, EPR_MaxUnsigned = EPR_Uint32,
213 EPR_Sint32, EPR_MaxSigned = EPR_Sint32
224 EIS_NoDataDictionary,
228 EIS_MissingAttribute,
232 EIS_NotSupportedValue,
252 EMO_Graphic = EMO_Replace,
254 EMO_ThresholdReplace,
260 EMO_RegionOfInterest,
268 enum EF_VoiLutFunction
281 enum ES_PresentationLut
308 enum EL_BitsPerTableEntry
325 {
"MONOCHROME1",
"MONOCHROME1", EPI_Monochrome1},
326 {
"MONOCHROME2",
"MONOCHROME2", EPI_Monochrome2},
327 {
"PALETTECOLOR",
"PALETTE COLOR", EPI_PaletteColor},
328 {
"RGB",
"RGB", EPI_RGB},
329 {
"HSV",
"HSV", EPI_HSV},
330 {
"ARGB",
"ARGB", EPI_ARGB},
331 {
"CMYK",
"CMYK", EPI_CMYK},
332 {
"YBRFULL",
"YBR_FULL", EPI_YBR_Full},
333 {
"YBRFULL422",
"YBR_FULL_422", EPI_YBR_Full_422},
334 {
"YBRPARTIAL422",
"YBR_PARTIAL_422", EPI_YBR_Partial_422},
335 {NULL, NULL, EPI_Unknown}
343 #define MAX_UINT Uint32
344 #define MAX_SINT Sint32
347 #define MAX_BITS_TYPE Uint32
348 #define MAX_RAWPPM_BITS 8
349 #define MAX_INTERPOLATION_BITS 16
351 #define bitsof(expr) (sizeof(expr) << 3)
373 static inline unsigned long maxval(
const int mv_bits,
374 const unsigned long mv_pos = 1)
376 return (mv_bits < MAX_BITS) ?
377 (OFstatic_cast(
unsigned long, 1) << mv_bits) - mv_pos : OFstatic_cast(MAX_BITS_TYPE, -1);
387 static inline unsigned int tobits(
unsigned long tb_value,
388 const unsigned long tb_pos = 1)
392 register unsigned int tb_bits = 0;