Mercurial > hg > orthanc
comparison 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 |
comparison
equal
deleted
inserted
replaced
4934:94a7b681b340 | 4935:acd3f72e2a21 |
---|---|
1294 return DicomTag(tag.getGTag(), tag.getETag()); | 1294 return DicomTag(tag.getGTag(), tag.getETag()); |
1295 } | 1295 } |
1296 else | 1296 else |
1297 { | 1297 { |
1298 CLOG(INFO, DICOM) << "Unknown DICOM tag: \"" << name << "\""; | 1298 CLOG(INFO, DICOM) << "Unknown DICOM tag: \"" << name << "\""; |
1299 throw OrthancException(ErrorCode_UnknownDicomTag); | 1299 throw OrthancException(ErrorCode_UnknownDicomTag, name, false); |
1300 } | 1300 } |
1301 #endif | 1301 #endif |
1302 } | 1302 } |
1303 | 1303 |
1304 DicomTag FromDcmtkBridge::ParseTag(const std::string &name) | 1304 DicomTag FromDcmtkBridge::ParseTag(const std::string &name) |
1308 | 1308 |
1309 bool FromDcmtkBridge::HasTag(const DicomMap &fields, const std::string &tagName) | 1309 bool FromDcmtkBridge::HasTag(const DicomMap &fields, const std::string &tagName) |
1310 { | 1310 { |
1311 return fields.HasTag(ParseTag(tagName)); | 1311 return fields.HasTag(ParseTag(tagName)); |
1312 } | 1312 } |
1313 | |
1314 | |
1315 // parses a list like "0010,0010;PatientBirthDate;0020,0020" | |
1316 void FromDcmtkBridge::ParseListOfTags(std::set<DicomTag>& result, const std::string& source) | |
1317 { | |
1318 result.clear(); | |
1319 | |
1320 std::vector<std::string> tokens; | |
1321 Toolbox::TokenizeString(tokens, source, ';'); | |
1322 | |
1323 for (std::vector<std::string>::const_iterator it = tokens.begin(); | |
1324 it != tokens.end(); it++) | |
1325 { | |
1326 if (it->size() > 0) | |
1327 { | |
1328 DicomTag tag = FromDcmtkBridge::ParseTag(*it); | |
1329 result.insert(tag); | |
1330 } | |
1331 } | |
1332 } | |
1333 | |
1313 | 1334 |
1314 const DicomValue &FromDcmtkBridge::GetValue(const DicomMap &fields, | 1335 const DicomValue &FromDcmtkBridge::GetValue(const DicomMap &fields, |
1315 const std::string &tagName) | 1336 const std::string &tagName) |
1316 { | 1337 { |
1317 return fields.GetValue(ParseTag(tagName)); | 1338 return fields.GetValue(ParseTag(tagName)); |