Mercurial > hg > orthanc
diff OrthancFramework/Sources/DicomParsing/FromDcmtkBridge.cpp @ 4935:acd3f72e2a21 more-tags
split ExpandResource in 2: read from DB and serialize to json. This will allow us to merge requested tags from both the DB and the file system
author | Alain Mazy <am@osimis.io> |
---|---|
date | Thu, 10 Mar 2022 19:00:43 +0100 |
parents | 43e613a7756b |
children | 8422e4f99a18 |
line wrap: on
line diff
--- a/OrthancFramework/Sources/DicomParsing/FromDcmtkBridge.cpp Thu Mar 10 09:03:24 2022 +0100 +++ b/OrthancFramework/Sources/DicomParsing/FromDcmtkBridge.cpp Thu Mar 10 19:00:43 2022 +0100 @@ -1296,7 +1296,7 @@ else { CLOG(INFO, DICOM) << "Unknown DICOM tag: \"" << name << "\""; - throw OrthancException(ErrorCode_UnknownDicomTag); + throw OrthancException(ErrorCode_UnknownDicomTag, name, false); } #endif } @@ -1311,6 +1311,27 @@ return fields.HasTag(ParseTag(tagName)); } + + // parses a list like "0010,0010;PatientBirthDate;0020,0020" + void FromDcmtkBridge::ParseListOfTags(std::set<DicomTag>& result, const std::string& source) + { + result.clear(); + + std::vector<std::string> tokens; + Toolbox::TokenizeString(tokens, source, ';'); + + for (std::vector<std::string>::const_iterator it = tokens.begin(); + it != tokens.end(); it++) + { + if (it->size() > 0) + { + DicomTag tag = FromDcmtkBridge::ParseTag(*it); + result.insert(tag); + } + } + } + + const DicomValue &FromDcmtkBridge::GetValue(const DicomMap &fields, const std::string &tagName) {