Mercurial > hg > orthanc
comparison OrthancServer/Sources/OrthancConfiguration.cpp @ 4508:8f9090b137f1
Optimization in C-STORE SCP by avoiding an unnecessary DICOM parsing
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 11 Feb 2021 11:00:05 +0100 |
parents | c06659885362 |
children | 2c702cfae274 |
comparison
equal
deleted
inserted
replaced
4507:b4c58795f3a8 | 4508:8f9090b137f1 |
---|---|
32 | 32 |
33 | 33 |
34 #include "PrecompiledHeadersServer.h" | 34 #include "PrecompiledHeadersServer.h" |
35 #include "OrthancConfiguration.h" | 35 #include "OrthancConfiguration.h" |
36 | 36 |
37 #include "../../OrthancFramework/Sources/DicomParsing/FromDcmtkBridge.h" | |
37 #include "../../OrthancFramework/Sources/DicomParsing/ParsedDicomFile.h" | 38 #include "../../OrthancFramework/Sources/DicomParsing/ParsedDicomFile.h" |
38 #include "../../OrthancFramework/Sources/HttpServer/HttpServer.h" | 39 #include "../../OrthancFramework/Sources/HttpServer/HttpServer.h" |
39 #include "../../OrthancFramework/Sources/Logging.h" | 40 #include "../../OrthancFramework/Sources/Logging.h" |
40 #include "../../OrthancFramework/Sources/OrthancException.h" | 41 #include "../../OrthancFramework/Sources/OrthancException.h" |
41 #include "../../OrthancFramework/Sources/SystemToolbox.h" | 42 #include "../../OrthancFramework/Sources/SystemToolbox.h" |
1019 std::set<DicomTag> ignoreTagLength; | 1020 std::set<DicomTag> ignoreTagLength; |
1020 dicom.ExtractDicomSummary(target, ORTHANC_MAXIMUM_TAG_LENGTH, ignoreTagLength); | 1021 dicom.ExtractDicomSummary(target, ORTHANC_MAXIMUM_TAG_LENGTH, ignoreTagLength); |
1021 } | 1022 } |
1022 | 1023 |
1023 | 1024 |
1025 void OrthancConfiguration::DefaultExtractDicomSummary(DicomMap& target, | |
1026 DcmDataset& dicom) | |
1027 { | |
1028 std::set<DicomTag> ignoreTagLength; | |
1029 FromDcmtkBridge::ExtractDicomSummary(target, dicom, ORTHANC_MAXIMUM_TAG_LENGTH, ignoreTagLength); | |
1030 } | |
1031 | |
1032 | |
1024 void OrthancConfiguration::DefaultDicomDatasetToJson(Json::Value& target, | 1033 void OrthancConfiguration::DefaultDicomDatasetToJson(Json::Value& target, |
1025 const ParsedDicomFile& dicom) | 1034 const ParsedDicomFile& dicom) |
1026 { | 1035 { |
1027 std::set<DicomTag> ignoreTagLength; | 1036 std::set<DicomTag> ignoreTagLength; |
1028 DefaultDicomDatasetToJson(target, dicom, ignoreTagLength); | 1037 DefaultDicomDatasetToJson(target, dicom, ignoreTagLength); |
1029 } | 1038 } |
1039 | |
1040 | |
1041 void OrthancConfiguration::DefaultDicomDatasetToJson(Json::Value& target, | |
1042 DcmDataset& dicom) | |
1043 { | |
1044 std::set<DicomTag> ignoreTagLength; | |
1045 FromDcmtkBridge::ExtractDicomAsJson(target, dicom, DicomToJsonFormat_Full, DicomToJsonFlags_Default, | |
1046 ORTHANC_MAXIMUM_TAG_LENGTH, ignoreTagLength); | |
1047 } | |
1030 | 1048 |
1031 | 1049 |
1032 void OrthancConfiguration::DefaultDicomDatasetToJson(Json::Value& target, | 1050 void OrthancConfiguration::DefaultDicomDatasetToJson(Json::Value& target, |
1033 const ParsedDicomFile& dicom, | 1051 const ParsedDicomFile& dicom, |
1034 const std::set<DicomTag>& ignoreTagLength) | 1052 const std::set<DicomTag>& ignoreTagLength) |