gpt4 book ai didi

c++ - 在 C++ 的 gdcm 中将 dicom 标签转换为其字符串名称

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:43:34 26 4
gpt4 key购买 nike

给定一个 gdcm 标签,例如gdcm::Tag(0x0010,0x0010) 如何将其转换为相应的标签名称字符串,在本例中为 C++ 中的 "PatientsName"

最佳答案

这是我使用 GDCM 在基于 Qt 的应用程序中所做的:

QString duDicomDictionary::getTagName( const gdcm::Tag & tag )
{
QString retVal;

const gdcm::Global& g = gdcm::Global::GetInstance();
const gdcm::Dicts &dicts = g.GetDicts();
const gdcm::Dict &pubdict = dicts.GetPublicDict();

gdcm::DictEntry ent = pubdict.GetDictEntry(tag);

if (ent.GetVR() != gdcm::VR::INVALID ) {
retVal = QString::fromStdString(ent.GetName());
}

return retVal;
}

此代码仅适用于公共(public)团体。

获取我使用的私有(private)组(在我填充私有(private)字典之后):

QString duDicomDictionary::getTagName( const gdcm::PrivateTag & tag )
{
QString retVal;

const gdcm::Global& g = gdcm::Global::GetInstance();
const gdcm::Dicts &dicts = g.GetDicts();
const gdcm::PrivateDict &privdict = dicts.GetPrivateDict();

gdcm::DictEntry ent = privdict.GetDictEntry(tag);

if (ent.GetVR() != gdcm::VR::INVALID ) {
retVal = QString::fromStdString(ent.GetName());
}
else
{
ent = g_privateDict.GetDictEntry(tag);

if (ent.GetVR() != gdcm::VR::INVALID ) {
retVal = QString::fromStdString(ent.GetName());
}

}

return retVal;
}

关于c++ - 在 C++ 的 gdcm 中将 dicom 标签转换为其字符串名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24943979/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com