[Insight-developers] dicom private dictionaries etc (gdcm problem?)
    Kris Thielemans 
    kris.thielemans at csc.mrc.ac.uk
       
    Wed Oct 11 14:01:25 EDT 2006
    
    
  
Hi
I need to load some DICOM private tags from GE DICOM files.
I've been doing a bit of digging and found the following problems with gdcm
* doxygen for std::string DictSet::BuildDictPath() is incorrect. it says
/**
 * \brief   Obtain from the GDCM_DICT_PATH environnement variable the
 *          path to directory containing the dictionaries. When
 *          the environnement variable is absent the path is defaulted
 *          to "../Dicts/".
 * @return  path to directory containing the dictionaries
 */
however, the path defaults to PUB_DICT_PATH
* DictEntry *DocEntrySet::GetDictEntry(uint16_t group,uint16_t elem) 
and 
DictEntry *DocEntrySet::GetDictEntry(uint16_t group, uint16_t elem,
                                     TagName const &vr)
doxygen says
/**
 * \brief   Searches [both] the public [and the shadow dictionary (when they
 *          exist)] for the presence of the DictEntry with given
 *          group and element. The public dictionary has precedence on the
 *          shadow one(s), if any.
 * @param   group  Group number of the searched DictEntry
 * @param   elem Element number of the searched DictEntry
 * @return  Corresponding DictEntry when it exists, NULL otherwise.  */ 
however, as far as I can see, the shadow dictionary is never used:
{
   DictEntry *found = 0;
   Dict *pubDict = Global::GetDicts()->GetDefaultPubDict();
   if (!pubDict) 
   {
      gdcmWarningMacro( "We SHOULD have a default dictionary");
   }
   else
   {
      found = pubDict->GetEntry(group, elem);
   }
   return found;
}
In fact, a grep on RefShaDict shows no relevant places where it is used.
As far as I can see, adding a private dictionary to Global::DicSets() will
thus never have any effect. I woul dhave to add the private fields to the
default dictionary.
Am I wrong?
Thanks
Kris Thielemans
Hammersmith Imanet, part of GE Healthcare
London W12 ONN, United Kingdom
    
    
More information about the Insight-developers
mailing list