MeVisLab Toolbox Reference
|
A concrete class derived from DicomModifyBase which allows the modification of ordinary, non-private, non-sequence DICOM tags in a (cloned) DICOM tree. More...
#include <mlDicomModifyOrdinary.h>
Public Types | |
enum | ModificationModes { DoNotModify = 0 , AddIfItDoesNotExist , RemoveTag , ReplaceOnlyIfItExists , PrependOnlyIfItExists , AppendOnlyIfItExists , SetNewUIDOnlyIfItExists , ReplaceIfItExistsOtherwiseAdd , PrependIfItExistsOtherwiseAdd , AppendIfItExistsOtherwiseAdd , SetNewUIDIfItExistsOtherwiseAdd , ReplaceOtherValuesOnlyIfItExists , SetOtherValuesIfItExistsOtherwiseAdd } |
Available modes for tag modifications. More... | |
enum | { NumModificationModes = SetOtherValuesIfItExistsOtherwiseAdd+1 } |
Defines the number of available modification modes. More... | |
Public Member Functions | |
DicomModifyOrdinary (DCMTree::TagId tagId=DCMTree::TagId(), const std::string &modStrVal="", ModificationModes modMode=DoNotModify, bool splitMode=false) | |
Constructor setting TagId, ModificationStringValue(""), splitMode(false), and ModificationMode(DoNotModify). | |
void | setModificationMode (ModificationModes modMode) |
Sets how the tag with given id and modification value shall be modified. | |
ModificationModes | getModificationMode () const |
Returns the currently set modification mode. | |
void | setSplitMode (bool split) |
If true then completely set values are split at backslashes into different values. | |
bool | getSplitMode () const |
Returns whether split mode is on. | |
void | setOtherVR (DCMTree::Vr otherVr) |
Sets the value representation to be used for (re)created "Other" tags. | |
DCMTree::Vr | getOtherVR () const |
Returns the currently set otherVR. | |
std::string | applyModifications (DCMTree::TreePtr dcmTree, const FieldContainer *treeInfos=nullptr) override |
Apply a change to dcmTree according to the currently selected _modificationMode. | |
Public Member Functions inherited from ml::DicomModifyBase | |
DicomModifyBase (DCMTree::TagId tagId=DCMTree::TagId(), const std::string &modStrVal="") | |
Constructor setting the tag ID and the string value for modifications. | |
virtual | ~DicomModifyBase () |
Virtual destructor. | |
void | setTagId (DCMTree::TagId tagId) |
Set the id of the tag to be modified. | |
void | setTagId (const std::string &tagIdStr) |
Set the id (as std::string) of the tag to be modified; invalid ids will cause an ML_ERROR_PRINT, empty strings shall be ignored by specification and will set an id (0000,0000). | |
DCMTree::TagId | getTagId () const |
Returns the id of the tag to be modified (might be temporarily overridden be a "modificationTagIdReplacement" field in treeInfos parameter of applyModifications()). | |
void | setModificationStringValue (const std::string &modStrVal) |
Set the string value to be used for the tag modification if not overridden by a treeInfos-"modificationStringValueReplacement" entry as described in applyModifications. | |
const std::string & | getModificationStringValue () const |
Returns the string which is used to manipulate tag value(s) (might be temporarily overridden by a "modificationStringValueReplacement" field in treeInfos parameter of applyModifications()). | |
bool | getModificationStringValueAsMLInt (MLint &retVal) const |
If the modificationStringValue() can be interpreted as an integer value then true is returned and the string is converted to that integer and returned in retVal; otherwise false is returned and retVal is left unchanged. | |
void | setTagIdAndModificationStringValue (DCMTree::TagId tagId, const std::string &modStrVal) |
Calls setTagId(tagId) and setModificationStringValue(modStrVal). | |
bool | tagExists (DCMTree::TreePtr dcmTree) const |
DCMTree::TagPtr | getTagIfItExists (DCMTree::TreePtr dcmTree, std::string *errStr=nullptr) const |
DCMTree::TagPtr | addTag (DCMTree::TreePtr dcmTree, std::string *errStr=nullptr, bool setValue=true, bool splitValue=false) const |
Add the tag with ID getTagId() to tree dcmTree and value _modificationStringValue; requires a valid non nullptr dcmTree. | |
void | removeTag (DCMTree::TreePtr dcmTree) const |
Remove the tag with the ID getTagId() if it exists, otherwise do nothing; (if dcmTree member is nullptr the call is ignored). | |
void | setTagValue (DCMTree::TreePtr dcmTree, std::string *errStr=nullptr, const DICOMTagTools::ValueModifyModes modMode=DICOMTagTools::Replace, bool splitValue=false) const |
Sets the value of tag with getTagId() in dcmTree with new value _modificationStringValue. | |
Static Public Attributes | |
static const char *const | ModificationModesStrings [NumModificationModes] |
String versions for ModificationModes. | |
A concrete class derived from DicomModifyBase which allows the modification of ordinary, non-private, non-sequence DICOM tags in a (cloned) DICOM tree.
Definition at line 25 of file mlDicomModifyOrdinary.h.
Defines the number of available modification modes.
Enumerator | |
---|---|
NumModificationModes |
Definition at line 53 of file mlDicomModifyOrdinary.h.
Available modes for tag modifications.
Definition at line 29 of file mlDicomModifyOrdinary.h.
ml::DicomModifyOrdinary::DicomModifyOrdinary | ( | DCMTree::TagId | tagId = DCMTree::TagId(), |
const std::string & | modStrVal = "", | ||
ModificationModes | modMode = DoNotModify, | ||
bool | splitMode = false ) |
Constructor setting TagId, ModificationStringValue(""), splitMode(false), and ModificationMode(DoNotModify).
|
overridevirtual |
Apply a change to dcmTree according to the currently selected _modificationMode.
dcmTree | The DICOM tree to be modified. |
treeInfos | A FieldContainer which - if not nullptr - can contain additional user defined information fields about dcmTree. |
Reimplemented from ml::DicomModifyBase.
ModificationModes ml::DicomModifyOrdinary::getModificationMode | ( | ) | const |
Returns the currently set modification mode.
DCMTree::Vr ml::DicomModifyOrdinary::getOtherVR | ( | ) | const |
Returns the currently set otherVR.
bool ml::DicomModifyOrdinary::getSplitMode | ( | ) | const |
Returns whether split mode is on.
void ml::DicomModifyOrdinary::setModificationMode | ( | ModificationModes | modMode | ) |
Sets how the tag with given id and modification value shall be modified.
void ml::DicomModifyOrdinary::setOtherVR | ( | DCMTree::Vr | otherVr | ) |
Sets the value representation to be used for (re)created "Other" tags.
If true then completely set values are split at backslashes into different values.
|
static |
String versions for ModificationModes.
Definition at line 56 of file mlDicomModifyOrdinary.h.