Mercurial > hg > orthanc
diff Core/DicomNetworking/DicomUserConnection.cpp @ 3370:872bd3b6ec72
"/modalities/{id}/query": New argument "Normalize"
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 14 May 2019 10:30:43 +0200 |
parents | 20b38a533254 |
children | cf31b5bacce3 |
line wrap: on
line diff
--- a/Core/DicomNetworking/DicomUserConnection.cpp Tue May 14 10:03:11 2019 +0200 +++ b/Core/DicomNetworking/DicomUserConnection.cpp Tue May 14 10:30:43 2019 +0200 @@ -482,9 +482,9 @@ } - static void FixFindQuery(DicomMap& fixedQuery, - ResourceType level, - const DicomMap& fields) + static void NormalizeFindQuery(DicomMap& fixedQuery, + ResourceType level, + const DicomMap& fields) { std::set<DicomTag> allowedTags; @@ -657,24 +657,25 @@ void DicomUserConnection::Find(DicomFindAnswers& result, ResourceType level, - const DicomMap& originalFields) + const DicomMap& originalFields, + bool normalize) { CheckIsOpen(); std::auto_ptr<ParsedDicomFile> query; - if (0) + if (normalize) + { + DicomMap fields; + NormalizeFindQuery(fields, level, originalFields); + query.reset(ConvertQueryFields(fields, manufacturer_)); + } + else { query.reset(new ParsedDicomFile(originalFields, GetDefaultDicomEncoding(), false /* be strict */)); } - else - { - DicomMap fields; - FixFindQuery(fields, level, originalFields); - query.reset(ConvertQueryFields(fields, manufacturer_)); - } DcmDataset* dataset = query->GetDcmtkObject().getDataset();