Mercurial > hg > orthanc
comparison OrthancFramework/Sources/DicomParsing/FromDcmtkBridge.h @ 4682:d38a7040474a
FromDcmtkBridge::RemovePath() and FromDcmtkBridge::ReplacePath()
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 07 Jun 2021 18:35:46 +0200 |
parents | 5b929e6b3c36 |
children | 7182f5732480 |
comparison
equal
deleted
inserted
replaced
4681:c5528c7847a6 | 4682:d38a7040474a |
---|---|
23 #pragma once | 23 #pragma once |
24 | 24 |
25 #include "ITagVisitor.h" | 25 #include "ITagVisitor.h" |
26 #include "../DicomFormat/DicomElement.h" | 26 #include "../DicomFormat/DicomElement.h" |
27 #include "../DicomFormat/DicomMap.h" | 27 #include "../DicomFormat/DicomMap.h" |
28 #include "../DicomFormat/DicomPath.h" | |
28 | 29 |
29 #include <dcmtk/dcmdata/dcdatset.h> | 30 #include <dcmtk/dcmdata/dcdatset.h> |
30 #include <dcmtk/dcmdata/dcmetinf.h> | 31 #include <dcmtk/dcmdata/dcmetinf.h> |
31 #include <dcmtk/dcmdata/dcpixseq.h> | 32 #include <dcmtk/dcmdata/dcpixseq.h> |
32 #include <dcmtk/dcmdata/dcfilefo.h> | 33 #include <dcmtk/dcmdata/dcfilefo.h> |
56 #if ORTHANC_BUILD_UNIT_TESTS == 1 | 57 #if ORTHANC_BUILD_UNIT_TESTS == 1 |
57 FRIEND_TEST(FromDcmtkBridge, FromJson); | 58 FRIEND_TEST(FromDcmtkBridge, FromJson); |
58 #endif | 59 #endif |
59 | 60 |
60 friend class ParsedDicomFile; | 61 friend class ParsedDicomFile; |
62 | |
63 public: | |
64 // New in Orthanc 1.9.4 | |
65 class ORTHANC_PUBLIC IDicomPathVisitor : public boost::noncopyable | |
66 { | |
67 public: | |
68 virtual ~IDicomPathVisitor() | |
69 { | |
70 } | |
71 | |
72 virtual void Visit(DcmItem& item, | |
73 const DicomTag& tag) = 0; | |
74 }; | |
75 | |
61 | 76 |
62 private: | 77 private: |
63 FromDcmtkBridge(); // Pure static class | 78 FromDcmtkBridge(); // Pure static class |
64 | 79 |
65 static void DatasetToJson(Json::Value& parent, | 80 static void DatasetToJson(Json::Value& parent, |
224 | 239 |
225 static bool LookupOrthancTransferSyntax(DicomTransferSyntax& target, | 240 static bool LookupOrthancTransferSyntax(DicomTransferSyntax& target, |
226 DcmDataset& dicom); | 241 DcmDataset& dicom); |
227 | 242 |
228 static void LogMissingTagsForStore(DcmDataset& dicom); | 243 static void LogMissingTagsForStore(DcmDataset& dicom); |
244 | |
245 static void Apply(IDicomPathVisitor& visitor, | |
246 DcmDataset& dataset, | |
247 const DicomPath& path); | |
248 | |
249 static void RemovePath(DcmDataset& dataset, | |
250 const DicomPath& path); | |
251 | |
252 static void ReplacePath(DcmDataset& dataset, | |
253 const DicomPath& path, | |
254 const DcmElement& element); | |
229 }; | 255 }; |
230 } | 256 } |