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 {