Mercurial > hg > orthanc-stone
comparison RenderingPlugin/Sources/Plugin.cpp @ 1916:bd527bbc34df
cppcheck
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Sun, 20 Mar 2022 18:23:39 +0100 |
parents | 14c8f339d480 |
children | a601b8abc1cb |
comparison
equal
deleted
inserted
replaced
1915:0d1235ca4abc | 1916:bd527bbc34df |
---|---|
38 #include <Toolbox.h> | 38 #include <Toolbox.h> |
39 | 39 |
40 #include <boost/math/constants/constants.hpp> | 40 #include <boost/math/constants/constants.hpp> |
41 | 41 |
42 | 42 |
43 static const char* const INSTANCES = "Instances"; | |
44 static const char* const RT_STRUCT_IOD = "1.2.840.10008.5.1.4.1.1.481.3"; | |
45 static const char* const SOP_CLASS_UID = "0008,0016"; | |
46 static const char* const STRUCTURES = "Structures"; | |
47 | |
48 | |
43 class DicomStructureCache : public boost::noncopyable | 49 class DicomStructureCache : public boost::noncopyable |
44 { | 50 { |
45 private: | 51 private: |
46 boost::mutex mutex_; | 52 boost::mutex mutex_; |
47 std::string instanceId_; | 53 std::string instanceId_; |
526 } | 532 } |
527 | 533 |
528 | 534 |
529 static bool IsRtStruct(const std::string& instanceId) | 535 static bool IsRtStruct(const std::string& instanceId) |
530 { | 536 { |
531 static const char* SOP_CLASS_UID = "0008,0016"; | |
532 static const char* RT_STRUCT_IOD = "1.2.840.10008.5.1.4.1.1.481.3"; | |
533 | |
534 std::string s; | 537 std::string s; |
535 if (OrthancPlugins::RestApiGetString(s, "/instances/" + instanceId + "/content/" + SOP_CLASS_UID, false) && | 538 if (OrthancPlugins::RestApiGetString(s, "/instances/" + instanceId + "/content/" + SOP_CLASS_UID, false) && |
536 !s.empty()) | 539 !s.empty()) |
537 { | 540 { |
538 if (s[s.size() - 1] == '\0') // Deal with DICOM padding | 541 if (s[s.size() - 1] == '\0') // Deal with DICOM padding |
554 const OrthancPluginHttpRequest* request) | 557 const OrthancPluginHttpRequest* request) |
555 { | 558 { |
556 // This is a quick version of "/tools/find" on "SOPClassUID" (the | 559 // This is a quick version of "/tools/find" on "SOPClassUID" (the |
557 // latter would load all the DICOM files from disk) | 560 // latter would load all the DICOM files from disk) |
558 | 561 |
559 static const char* INSTANCES = "Instances"; | |
560 | |
561 Json::Value series; | 562 Json::Value series; |
562 OrthancPlugins::RestApiGet(series, "/series?expand", false); | 563 OrthancPlugins::RestApiGet(series, "/series?expand", false); |
563 | 564 |
564 if (series.type() != Json::arrayValue) | 565 if (series.type() != Json::arrayValue) |
565 { | 566 { |
604 | 605 |
605 static void GetRtStruct(OrthancPluginRestOutput* output, | 606 static void GetRtStruct(OrthancPluginRestOutput* output, |
606 const char* url, | 607 const char* url, |
607 const OrthancPluginHttpRequest* request) | 608 const OrthancPluginHttpRequest* request) |
608 { | 609 { |
609 static const char* STRUCTURES = "Structures"; | |
610 static const char* INSTANCES = "Instances"; | |
611 | |
612 DicomStructureCache::Accessor accessor(DicomStructureCache::GetSingleton(), request->groups[0]); | 610 DicomStructureCache::Accessor accessor(DicomStructureCache::GetSingleton(), request->groups[0]); |
613 | 611 |
614 if (!accessor.IsValid()) | 612 if (!accessor.IsValid()) |
615 { | 613 { |
616 throw Orthanc::OrthancException(Orthanc::ErrorCode_InexistentItem); | 614 throw Orthanc::OrthancException(Orthanc::ErrorCode_InexistentItem); |