Mercurial > hg > orthanc
comparison OrthancServer/ParsedDicomFile.cpp @ 2381:b8969010b534
uncoupling DCMTK primitives from Orthanc::Configuration
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 29 Aug 2017 19:59:01 +0200 |
parents | 96b3ec054b69 |
children |
comparison
equal
deleted
inserted
replaced
2380:96b3ec054b69 | 2381:b8969010b534 |
---|---|
79 #define NOMINMAX | 79 #define NOMINMAX |
80 #endif | 80 #endif |
81 | 81 |
82 #include "ParsedDicomFile.h" | 82 #include "ParsedDicomFile.h" |
83 | 83 |
84 #include "OrthancInitialization.h" | |
85 #include "FromDcmtkBridge.h" | 84 #include "FromDcmtkBridge.h" |
86 #include "ToDcmtkBridge.h" | 85 #include "ToDcmtkBridge.h" |
87 #include "Internals/DicomFrameIndex.h" | 86 #include "Internals/DicomFrameIndex.h" |
88 #include "../Core/Logging.h" | 87 #include "../Core/Logging.h" |
89 #include "../Core/OrthancException.h" | 88 #include "../Core/OrthancException.h" |
90 #include "../Core/Toolbox.h" | 89 #include "../Core/Toolbox.h" |
90 #include "../Core/SystemToolbox.h" | |
91 | 91 |
92 #if ORTHANC_ENABLE_JPEG == 1 | 92 #if ORTHANC_ENABLE_JPEG == 1 |
93 # include "../Core/Images/JpegReader.h" | 93 # include "../Core/Images/JpegReader.h" |
94 #endif | 94 #endif |
95 | 95 |
946 | 946 |
947 | 947 |
948 ParsedDicomFile::ParsedDicomFile(const DicomMap& map) : | 948 ParsedDicomFile::ParsedDicomFile(const DicomMap& map) : |
949 pimpl_(new PImpl) | 949 pimpl_(new PImpl) |
950 { | 950 { |
951 CreateFromDicomMap(map, Configuration::GetDefaultEncoding()); | 951 CreateFromDicomMap(map, GetDefaultDicomEncoding()); |
952 } | 952 } |
953 | 953 |
954 | 954 |
955 ParsedDicomFile::ParsedDicomFile(const void* content, | 955 ParsedDicomFile::ParsedDicomFile(const void* content, |
956 size_t size) : pimpl_(new PImpl) | 956 size_t size) : pimpl_(new PImpl) |
1210 | 1210 |
1211 | 1211 |
1212 Encoding ParsedDicomFile::GetEncoding() const | 1212 Encoding ParsedDicomFile::GetEncoding() const |
1213 { | 1213 { |
1214 return FromDcmtkBridge::DetectEncoding(*pimpl_->file_->getDataset(), | 1214 return FromDcmtkBridge::DetectEncoding(*pimpl_->file_->getDataset(), |
1215 Configuration::GetDefaultEncoding()); | 1215 GetDefaultDicomEncoding()); |
1216 } | 1216 } |
1217 | 1217 |
1218 | 1218 |
1219 void ParsedDicomFile::SetEncoding(Encoding encoding) | 1219 void ParsedDicomFile::SetEncoding(Encoding encoding) |
1220 { | 1220 { |
1233 DicomToJsonFormat format, | 1233 DicomToJsonFormat format, |
1234 DicomToJsonFlags flags, | 1234 DicomToJsonFlags flags, |
1235 unsigned int maxStringLength) | 1235 unsigned int maxStringLength) |
1236 { | 1236 { |
1237 FromDcmtkBridge::ExtractDicomAsJson(target, *pimpl_->file_->getDataset(), | 1237 FromDcmtkBridge::ExtractDicomAsJson(target, *pimpl_->file_->getDataset(), |
1238 format, flags, maxStringLength, Configuration::GetDefaultEncoding()); | 1238 format, flags, maxStringLength, GetDefaultDicomEncoding()); |
1239 } | 1239 } |
1240 | 1240 |
1241 | 1241 |
1242 void ParsedDicomFile::DatasetToJson(Json::Value& target) | 1242 void ParsedDicomFile::DatasetToJson(Json::Value& target) |
1243 { | 1243 { |
1244 Configuration::ExtractDicomAsJson(target, *pimpl_->file_->getDataset()); | 1244 FromDcmtkBridge::ExtractDicomAsJson(target, *pimpl_->file_->getDataset()); |
1245 } | 1245 } |
1246 | 1246 |
1247 | 1247 |
1248 void ParsedDicomFile::HeaderToJson(Json::Value& target, | 1248 void ParsedDicomFile::HeaderToJson(Json::Value& target, |
1249 DicomToJsonFormat format) | 1249 DicomToJsonFormat format) |
1349 { | 1349 { |
1350 const bool generateIdentifiers = (flags & DicomFromJsonFlags_GenerateIdentifiers) ? true : false; | 1350 const bool generateIdentifiers = (flags & DicomFromJsonFlags_GenerateIdentifiers) ? true : false; |
1351 const bool decodeDataUriScheme = (flags & DicomFromJsonFlags_DecodeDataUriScheme) ? true : false; | 1351 const bool decodeDataUriScheme = (flags & DicomFromJsonFlags_DecodeDataUriScheme) ? true : false; |
1352 | 1352 |
1353 std::auto_ptr<ParsedDicomFile> result(new ParsedDicomFile(generateIdentifiers)); | 1353 std::auto_ptr<ParsedDicomFile> result(new ParsedDicomFile(generateIdentifiers)); |
1354 result->SetEncoding(FromDcmtkBridge::ExtractEncoding(json, Configuration::GetDefaultEncoding())); | 1354 result->SetEncoding(FromDcmtkBridge::ExtractEncoding(json, GetDefaultDicomEncoding())); |
1355 | 1355 |
1356 const Json::Value::Members tags = json.getMemberNames(); | 1356 const Json::Value::Members tags = json.getMemberNames(); |
1357 | 1357 |
1358 for (size_t i = 0; i < tags.size(); i++) | 1358 for (size_t i = 0; i < tags.size(); i++) |
1359 { | 1359 { |
1436 } | 1436 } |
1437 | 1437 |
1438 | 1438 |
1439 void ParsedDicomFile::ExtractDicomSummary(DicomMap& target) const | 1439 void ParsedDicomFile::ExtractDicomSummary(DicomMap& target) const |
1440 { | 1440 { |
1441 Configuration::ExtractDicomSummary(target, *pimpl_->file_->getDataset()); | 1441 FromDcmtkBridge::ExtractDicomSummary(target, *pimpl_->file_->getDataset()); |
1442 } | 1442 } |
1443 | 1443 |
1444 | 1444 |
1445 void ParsedDicomFile::ExtractDicomAsJson(Json::Value& target) const | 1445 void ParsedDicomFile::ExtractDicomAsJson(Json::Value& target) const |
1446 { | 1446 { |
1447 Configuration::ExtractDicomAsJson(target, *pimpl_->file_->getDataset()); | 1447 FromDcmtkBridge::ExtractDicomAsJson(target, *pimpl_->file_->getDataset()); |
1448 } | 1448 } |
1449 | 1449 |
1450 | 1450 |
1451 bool ParsedDicomFile::LookupTransferSyntax(std::string& result) | 1451 bool ParsedDicomFile::LookupTransferSyntax(std::string& result) |
1452 { | 1452 { |