Mercurial > hg > orthanc
comparison OrthancServer/ServerJobs/MergeStudyJob.h @ 3941:771dbd9eb3bd transcoding
class CleaningInstancesJob to share cleaning code by merge/split jobs
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 18 May 2020 18:20:19 +0200 |
parents | 94f4a18a79cc |
children |
comparison
equal
deleted
inserted
replaced
3940:3661e2a72482 | 3941:771dbd9eb3bd |
---|---|
32 | 32 |
33 | 33 |
34 #pragma once | 34 #pragma once |
35 | 35 |
36 #include "../../Core/DicomFormat/DicomMap.h" | 36 #include "../../Core/DicomFormat/DicomMap.h" |
37 #include "../../Core/JobsEngine/SetOfInstancesJob.h" | |
38 #include "../DicomInstanceOrigin.h" | 37 #include "../DicomInstanceOrigin.h" |
38 #include "CleaningInstancesJob.h" | |
39 | 39 |
40 namespace Orthanc | 40 namespace Orthanc |
41 { | 41 { |
42 class ServerContext; | 42 class ServerContext; |
43 | 43 |
44 class MergeStudyJob : public SetOfInstancesJob | 44 class MergeStudyJob : public CleaningInstancesJob |
45 { | 45 { |
46 private: | 46 private: |
47 typedef std::map<std::string, std::string> SeriesUidMap; | 47 typedef std::map<std::string, std::string> SeriesUidMap; |
48 typedef std::map<DicomTag, std::string> Replacements; | 48 typedef std::map<DicomTag, std::string> Replacements; |
49 | 49 |
50 | 50 |
51 ServerContext& context_; | |
52 bool keepSource_; | |
53 std::string targetStudy_; | 51 std::string targetStudy_; |
54 Replacements replacements_; | 52 Replacements replacements_; |
55 std::set<DicomTag> removals_; | 53 std::set<DicomTag> removals_; |
56 SeriesUidMap seriesUidMap_; | 54 SeriesUidMap seriesUidMap_; |
57 DicomInstanceOrigin origin_; | 55 DicomInstanceOrigin origin_; |
59 | 57 |
60 void AddSourceSeriesInternal(const std::string& series); | 58 void AddSourceSeriesInternal(const std::string& series); |
61 | 59 |
62 void AddSourceStudyInternal(const std::string& study); | 60 void AddSourceStudyInternal(const std::string& study); |
63 | 61 |
64 | |
65 protected: | 62 protected: |
66 virtual bool HandleInstance(const std::string& instance); | 63 virtual bool HandleInstance(const std::string& instance); |
67 | 64 |
68 virtual bool HandleTrailingStep(); | |
69 | |
70 public: | 65 public: |
71 MergeStudyJob(ServerContext& context, | 66 MergeStudyJob(ServerContext& context, |
72 const std::string& targetStudy); | 67 const std::string& targetStudy); |
73 | 68 |
74 MergeStudyJob(ServerContext& context, | 69 MergeStudyJob(ServerContext& context, |
82 void AddSource(const std::string& studyOrSeries); | 77 void AddSource(const std::string& studyOrSeries); |
83 | 78 |
84 void AddSourceStudy(const std::string& study); | 79 void AddSourceStudy(const std::string& study); |
85 | 80 |
86 void AddSourceSeries(const std::string& series); | 81 void AddSourceSeries(const std::string& series); |
87 | |
88 bool IsKeepSource() const | |
89 { | |
90 return keepSource_; | |
91 } | |
92 | |
93 void SetKeepSource(bool keep); | |
94 | 82 |
95 void SetOrigin(const DicomInstanceOrigin& origin); | 83 void SetOrigin(const DicomInstanceOrigin& origin); |
96 | 84 |
97 void SetOrigin(const RestApiCall& call); | 85 void SetOrigin(const RestApiCall& call); |
98 | 86 |