Mercurial > hg > orthanc
comparison OrthancFramework/Sources/DicomFormat/DicomMap.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 | 312c6f4da888 |
children | 8422e4f99a18 |
comparison
equal
deleted
inserted
replaced
4934:94a7b681b340 | 4935:acd3f72e2a21 |
---|---|
207 for (std::set<DicomTag>::const_iterator it = tags.begin(); it != tags.end(); it++) | 207 for (std::set<DicomTag>::const_iterator it = tags.begin(); it != tags.end(); it++) |
208 { | 208 { |
209 tagsIds.insert(it->Format()); | 209 tagsIds.insert(it->Format()); |
210 } | 210 } |
211 | 211 |
212 std::string signatureText = boost::algorithm::join(tagsIds, "|"); | 212 std::string signatureText = boost::algorithm::join(tagsIds, ";"); |
213 std::string signatureMD5; | 213 |
214 Toolbox::ComputeMD5(signatureMD5, signatureText); | 214 return signatureText; |
215 | |
216 return signatureMD5; | |
217 } | 215 } |
218 | 216 |
219 void LoadDefaultMainDicomTags(ResourceType level) | 217 void LoadDefaultMainDicomTags(ResourceType level) |
220 { | 218 { |
221 assert(mainDicomTagsByTag_.find(level) == mainDicomTagsByTag_.end()); | 219 assert(mainDicomTagsByTag_.find(level) == mainDicomTagsByTag_.end()); |
420 result.SetValue(it->first, *it->second /* value will be cloned */); | 418 result.SetValue(it->first, *it->second /* value will be cloned */); |
421 } | 419 } |
422 } | 420 } |
423 } | 421 } |
424 | 422 |
423 void DicomMap::ExtractResourceInformation(DicomMap& result, ResourceType level) const | |
424 { | |
425 const std::map<DicomTag, std::string>& mainDicomTags = DicomMap::MainDicomTagsConfiguration::GetInstance().GetMainDicomTags(level); | |
426 ExtractTags(result, content_, mainDicomTags); | |
427 } | |
425 | 428 |
426 void DicomMap::ExtractPatientInformation(DicomMap& result) const | 429 void DicomMap::ExtractPatientInformation(DicomMap& result) const |
427 { | 430 { |
428 const std::map<DicomTag, std::string>& mainDicomTags = DicomMap::MainDicomTagsConfiguration::GetInstance().GetMainDicomTags(ResourceType_Patient); | 431 ExtractResourceInformation(result, ResourceType_Patient); |
429 ExtractTags(result, content_, mainDicomTags); | |
430 } | 432 } |
431 | 433 |
432 void DicomMap::ExtractStudyInformation(DicomMap& result) const | 434 void DicomMap::ExtractStudyInformation(DicomMap& result) const |
433 { | 435 { |
434 const std::map<DicomTag, std::string>& mainDicomTags = DicomMap::MainDicomTagsConfiguration::GetInstance().GetMainDicomTags(ResourceType_Study); | 436 ExtractResourceInformation(result, ResourceType_Study); |
435 ExtractTags(result, content_, mainDicomTags); | |
436 } | 437 } |
437 | 438 |
438 void DicomMap::ExtractSeriesInformation(DicomMap& result) const | 439 void DicomMap::ExtractSeriesInformation(DicomMap& result) const |
439 { | 440 { |
440 const std::map<DicomTag, std::string>& mainDicomTags = DicomMap::MainDicomTagsConfiguration::GetInstance().GetMainDicomTags(ResourceType_Series); | 441 ExtractResourceInformation(result, ResourceType_Series); |
441 ExtractTags(result, content_, mainDicomTags); | |
442 } | 442 } |
443 | 443 |
444 void DicomMap::ExtractInstanceInformation(DicomMap& result) const | 444 void DicomMap::ExtractInstanceInformation(DicomMap& result) const |
445 { | 445 { |
446 const std::map<DicomTag, std::string>& mainDicomTags = DicomMap::MainDicomTagsConfiguration::GetInstance().GetMainDicomTags(ResourceType_Instance); | 446 ExtractResourceInformation(result, ResourceType_Instance); |
447 ExtractTags(result, content_, mainDicomTags); | |
448 } | 447 } |
449 | 448 |
450 | 449 |
451 DicomMap::~DicomMap() | 450 DicomMap::~DicomMap() |
452 { | 451 { |