MeVisLab Toolbox Reference
|
A base class which allows the modification of DICOM tags in a (cloned) DICOM tree. More...
#include <mlDicomModifyBase.h>
Public Member Functions | |
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. | |
virtual std::string | applyModifications (DCMTree::TreePtr dcmTree, const FieldContainer *treeInfos=nullptr) |
Apply a change to the given dcmTree. | |
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. | |
A base class which allows the modification of DICOM tags in a (cloned) DICOM tree.
Definition at line 35 of file mlDicomModifyBase.h.
ml::DicomModifyBase::DicomModifyBase | ( | DCMTree::TagId | tagId = DCMTree::TagId(), |
const std::string & | modStrVal = "" ) |
Constructor setting the tag ID and the string value for modifications.
|
virtual |
Virtual destructor.
DCMTree::TagPtr ml::DicomModifyBase::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.
dcmTree | The DICOM tree to which the tag shall be added. |
errStr | If nullptr then potential errors will be posted as ML_PRINT_ERROR, otherwise the error description will be appended to *errStr. |
setValue | If true then the value is set from the given string, otherwise no value is set. |
splitValue | If true then the value is decomposed at backslashes, otherwise one value is set/added. |
|
virtual |
Apply a change to the given dcmTree.
If this is overwritten in derived classes, this base class version should be called first, because it sets up tag values for subsequent operations.
dcmTree | The DICOM tree to be modified. |
treeInfos | A FieldContainer which - if not nullptr - can contain additional user defined information fields about dcmTree. Special field values:
|
Reimplemented in ml::DicomModifyOrdinary, ml::DicomModifyOtherTagOperations, ml::DicomModifyPrivateAdd, ml::DicomModifyPrivateRemove, and ml::DicomModifySequence.
const std::string & ml::DicomModifyBase::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()).
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.
The conversion is performed with bool StringConversion::readFromString(value, intVal);
DCMTree::TagId ml::DicomModifyBase::getTagId | ( | ) | const |
Returns the id of the tag to be modified (might be temporarily overridden be a "modificationTagIdReplacement" field in treeInfos parameter of applyModifications()).
DCMTree::TagPtr ml::DicomModifyBase::getTagIfItExists | ( | DCMTree::TreePtr | dcmTree, |
std::string * | errStr = nullptr ) const |
dcmTree | The DCMTree in which the tag shall be searched; must be non nullptr. |
errStr | If nullptr then potential errors will be posted as ML_PRINT_ERROR, otherwise the error description will be appended to *errStr. |
void ml::DicomModifyBase::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).
dcmTree | The DICOM tree from which the tag shall be removed. |
Set the string value to be used for the tag modification if not overridden by a treeInfos-"modificationStringValueReplacement" entry as described in applyModifications.
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).
void ml::DicomModifyBase::setTagId | ( | DCMTree::TagId | tagId | ) |
Set the id of the tag to be modified.
void ml::DicomModifyBase::setTagIdAndModificationStringValue | ( | DCMTree::TagId | tagId, |
const std::string & | modStrVal ) |
Calls setTagId(tagId) and setModificationStringValue(modStrVal).
void ml::DicomModifyBase::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.
Requires a valid non nullptr dcmTree.
dcmTree | The DICOM tree in which the tag value shall be set. |
errStr | If nullptr then potential errors will be posted as ML_PRINT_ERROR, otherwise the error description will be appended to *errStr. |
splitValue | If true then the value is decomposed at backslashes, otherwise one value is set/added. |
modMode | The way how the tag value shall be modified. |
bool ml::DicomModifyBase::tagExists | ( | DCMTree::TreePtr | dcmTree | ) | const |
dcmTree | The DCMTree in which the tagId shall be searched (false is returned if dcmTree is nullptr). |