[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