MeVisLab Toolbox Reference
mlDicomModifyBase.h
Go to the documentation of this file.
1// Copyright (c) Fraunhofer MEVIS, Germany. All rights reserved.
2// **InsertLicense** code
3//----------------------------------------------------------------------------------
6
11//----------------------------------------------------------------------------------
12#pragma once
13
14#include "MLDicomModifySystem.h"
15#include <mlTypeDefs.h>
16
17#include <FMEThirdPartyWarningsDisable.h>
18#include <string>
19#include <FMEThirdPartyWarningsRestore.h>
20
22
23#include <DCMTree_TagId.h>
24#include <DCMTree_Tag.h>
25#include <DCMTree_Tree.h>
26
27ML_START_NAMESPACE
28
29class FieldContainer;
30
31//----------------------------------------------------------------------------------
34//----------------------------------------------------------------------------------
36public:
37
40 const std::string &modStrVal = "");
41
44
47
50
67 virtual std::string applyModifications(DCMTree::TreePtr dcmTree,
68 const FieldContainer *treeInfos=nullptr);
69
72
76 void setTagId(const std::string &tagIdStr);
77
81
84 void setModificationStringValue(const std::string &modStrVal);
85
89 const std::string &getModificationStringValue() const;
90
96
99 const std::string &modStrVal);
100
104 bool tagExists(DCMTree::TreePtr dcmTree) const;
105
112 std::string *errStr=nullptr) const;
113
123 std::string *errStr=nullptr,
124 bool setValue=true,
125 bool splitValue=false) const;
126
130 void removeTag(DCMTree::TreePtr dcmTree) const;
131
140 std::string *errStr=nullptr,
142 bool splitValue=false) const;
143
144private:
147 mutable DCMTree::TagId _currentTagId;
148
151 DCMTree::TagId _tagId;
152
155 mutable std::string _currentModificationStringValue;
156
160 std::string _modificationStringValue;
161};
162
163ML_END_NAMESPACE
Project global and OS specific declarations.
#define ML_DICOM_MODIFY_EXPORT
DLL export macro definition.
Class to wrap a tag ID.
bool tagExists(DCMTree::TreePtr dcmTree) const
void removeTag(DCMTree::TreePtr dcmTree) const
void setTagIdAndModificationStringValue(DCMTree::TagId tagId, const std::string &modStrVal)
Calls setTagId(tagId) and setModificationStringValue(modStrVal).
DCMTree::TagId getTagId() const
void setTagId(const std::string &tagIdStr)
virtual ~DicomModifyBase()
Virtual destructor.
void setTagValue(DCMTree::TreePtr dcmTree, std::string *errStr=nullptr, const DICOMTagTools::ValueModifyModes modMode=DICOMTagTools::Replace, bool splitValue=false) const
virtual std::string applyModifications(DCMTree::TreePtr dcmTree, const FieldContainer *treeInfos=nullptr)
bool getModificationStringValueAsMLInt(MLint &retVal) const
DicomModifyBase(const DicomModifyBase &)=default
Default copy constructor.
void setModificationStringValue(const std::string &modStrVal)
DCMTree::TagPtr getTagIfItExists(DCMTree::TreePtr dcmTree, std::string *errStr=nullptr) const
void setTagId(DCMTree::TagId tagId)
Set the id of the tag to be modified.
DCMTree::TagPtr addTag(DCMTree::TreePtr dcmTree, std::string *errStr=nullptr, bool setValue=true, bool splitValue=false) const
const std::string & getModificationStringValue() const
DicomModifyBase & operator=(const DicomModifyBase &)=default
Default assignment operator.
DicomModifyBase(DCMTree::TagId tagId=DCMTree::TagId(), const std::string &modStrVal="")
Constructor setting the tag ID and the string value for modifications.
A collection of tools related to DICOM tags and dictionaries.
MLint64 MLint
Definition mlTypeDefs.h:489
boost::shared_ptr< Tag > TagPtr
Shared pointer to tag.
Definition DCMTree_Lib.h:56
boost::shared_ptr< Tree > TreePtr
Shared pointer to a DCMTree::Tree.
Definition DCMTree_Lib.h:66
ValueModifyModes
Ways how to modify a tag with with _modificationStringValue.
@ Replace
The value of the DICOM tag is replaced by a new one.