+ // Load 'non string' values
+
+ std::string PhotometricInterpretation = GetEntryByNumber(0x0028,0x0004);
+ if( PhotometricInterpretation == "PALETTE COLOR " )
+ {
+ LoadEntryBinArea(0x0028,0x1200); // gray LUT
+ /// FIXME FIXME FIXME
+ /// The tags refered by the three following lines used to be CORRECTLY
+ /// defined as having an US Value Representation in the public
+ /// dictionnary. BUT the semantics implied by the three following
+ /// lines state that the corresponding tag contents are in fact
+ /// the ones of a gdcmBinEntry.
+ /// In order to fix things "Quick and Dirty" the dictionnary was
+ /// altered on PURPOUS but now contains a WRONG value.
+ /// In order to fix things and restore the dictionary to its
+ /// correct value, one needs to decided of the semantics by deciding
+ /// wether the following tags are either:
+ /// - multivaluated US, and hence loaded as gdcmValEntry, but afterwards
+ /// also used as gdcmBinEntry, which requires the proper conversion,
+ /// - OW, and hence loaded as gdcmBinEntry, but afterwards also used
+ /// as gdcmValEntry, which requires the proper conversion.
+ LoadEntryBinArea(0x0028,0x1201); // R LUT
+ LoadEntryBinArea(0x0028,0x1202); // G LUT
+ LoadEntryBinArea(0x0028,0x1203); // B LUT
+
+ // Segmented Red Palette Color LUT Data
+ LoadEntryBinArea(0x0028,0x1221);
+ // Segmented Green Palette Color LUT Data
+ LoadEntryBinArea(0x0028,0x1222);
+ // Segmented Blue Palette Color LUT Data
+ LoadEntryBinArea(0x0028,0x1223);
+ }
+ //FIXME later : how to use it?
+ LoadEntryBinArea(0x0028,0x3006); //LUT Data (CTX dependent)
+