Mercurial > hg > orthanc
comparison 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 |
comparison
equal
deleted
inserted
replaced
3369:20b38a533254 | 3370:872bd3b6ec72 |
---|---|
480 } | 480 } |
481 } | 481 } |
482 } | 482 } |
483 | 483 |
484 | 484 |
485 static void FixFindQuery(DicomMap& fixedQuery, | 485 static void NormalizeFindQuery(DicomMap& fixedQuery, |
486 ResourceType level, | 486 ResourceType level, |
487 const DicomMap& fields) | 487 const DicomMap& fields) |
488 { | 488 { |
489 std::set<DicomTag> allowedTags; | 489 std::set<DicomTag> allowedTags; |
490 | 490 |
491 // WARNING: Do not add "break" or reorder items in this switch-case! | 491 // WARNING: Do not add "break" or reorder items in this switch-case! |
492 switch (level) | 492 switch (level) |
655 } | 655 } |
656 | 656 |
657 | 657 |
658 void DicomUserConnection::Find(DicomFindAnswers& result, | 658 void DicomUserConnection::Find(DicomFindAnswers& result, |
659 ResourceType level, | 659 ResourceType level, |
660 const DicomMap& originalFields) | 660 const DicomMap& originalFields, |
661 bool normalize) | |
661 { | 662 { |
662 CheckIsOpen(); | 663 CheckIsOpen(); |
663 | 664 |
664 std::auto_ptr<ParsedDicomFile> query; | 665 std::auto_ptr<ParsedDicomFile> query; |
665 | 666 |
666 if (0) | 667 if (normalize) |
668 { | |
669 DicomMap fields; | |
670 NormalizeFindQuery(fields, level, originalFields); | |
671 query.reset(ConvertQueryFields(fields, manufacturer_)); | |
672 } | |
673 else | |
667 { | 674 { |
668 query.reset(new ParsedDicomFile(originalFields, | 675 query.reset(new ParsedDicomFile(originalFields, |
669 GetDefaultDicomEncoding(), | 676 GetDefaultDicomEncoding(), |
670 false /* be strict */)); | 677 false /* be strict */)); |
671 } | |
672 else | |
673 { | |
674 DicomMap fields; | |
675 FixFindQuery(fields, level, originalFields); | |
676 query.reset(ConvertQueryFields(fields, manufacturer_)); | |
677 } | 678 } |
678 | 679 |
679 DcmDataset* dataset = query->GetDcmtkObject().getDataset(); | 680 DcmDataset* dataset = query->GetDcmtkObject().getDataset(); |
680 | 681 |
681 const char* clevel = NULL; | 682 const char* clevel = NULL; |