35 const std::string &fieldPrefix,
36 bool provideCommonInstanceReferenceStudyUIDFld,
37 bool provideSeriesInstanceUIDFld=
true);
67 bool inheritOnEquality);
97 const std::string &seriesInstanceUIDValue,
98 const std::string &referencedSOPClassUIDs,
99 const std::string &referencedSOPInstanceUIDs,
102 bool setSeriesInstanceUIDFld);
Project global and OS specific declarations.
#define MLDICOMTAGINTERFACES_EXPORT
DLL export macro definition.
The class DicomModifyFieldAddOnBase is dedicated to manage fields for ML modules and instances derive...
Manages the module field interface according to Series And Instance Reference Macro in DICOM Part 3.
const std::string _fieldPrefix
Prefix to be added before each added field name.
bool _inheritOnEquality
If true then the field contents will be inherited from the given dcmTree if its StudyInstanceUID matc...
StringField * _commonInstanceReferenceStudyInstanceUIDFld
Unique identifier referencing the study if enabled with provideCommonInstanceReferenceStudyFld,...
std::string checkConsistency() const override
Checks for invalid parameters; return textual description on error, or empty string on success; requi...
StringField * getCommonInstanceReferenceStudyInstanceUIDFld()
static void setUpReferencedSeriesSequence(DCMTree::TreePtr dcmTree, const std::string &seriesInstanceUIDValue, const std::string &referencedSOPClassUIDs, const std::string &referencedSOPInstanceUIDs, DCMTree::RawTagId writtenReferencedSeriesSequenceTagId, DCMTree::RawTagId writtenReferencedInstanceSequenceTagId, bool setSeriesInstanceUIDFld)
Sets and fills the Referenced Sequence tag denoted by the tag id writtenReferencedSequenceTagId into ...
StringField * _referencedSOPClassUIDsFld
The list of SOP Class UIDs uniquely identifying the referenced SOP Classes in the same order as they ...
DicomSeriesAndInstanceReferenceMacroTagInterface(Module &modRef, const std::string &fieldPrefix, bool provideCommonInstanceReferenceStudyUIDFld, bool provideSeriesInstanceUIDFld=true)
Constructor, setting the reference of the module for which the fields shall be managed.
void addFields() override
Add fields to field container of module.
std::string _mainStudyInstanceUID
The StudyInstanceUID which will be used in exported/modified DCMTrees or empty if unknown or unset.
virtual void setMainStudyInstanceUIDInheritance(const std::string &mainStudyInstanceUID, bool inheritOnEquality)
Set the StudyInstanceUID which will be used by exported or modified DCMTrees and whether the inheritV...
std::string applyModifications(DCMTree::TreePtr dcmTree, const FieldContainer *treeInfos=nullptr) override
See DicomModifyFieldAddOnBase::applyModifications() for documentation; adds field values as tags to d...
FieldAddOnBase::FieldChangeState handleFieldChanges(Field *field) override
Handle field notifications according to Module::handleNotification with a return of field change stat...
StringField * getReferencedSOPInstanceUIDsFld()
NotifyField * _clearFieldsFld
If notified then all fields are reset to empty strings.
StringField * _seriesInstanceUIDFld
Unique identifier referencing the referenced instances.
StringField * getSeriesInstanceUIDFld()
const bool _provideCommonInstanceReferenceStudyUIDFld
If true then this fieldAddOn will also create the field _commonInstanceReferenceStudyUIDFld,...
virtual void clearFields()
Make all fields empty.
NotifyField * getClearFieldsFld()
Provide access to fields; for documentation see corresponding fields.
StringField * _referencedSOPInstanceUIDsFld
The list of SOP Instance UIDs uniquely identifying the referenced SOP Instances in the same order as ...
const bool _provideSeriesInstanceUIDFld
If true then this fieldAddOn will also create the field _seriesInstanceUIDFld, otherwise not.
StringField * getReferencedSOPClassUIDsFld()
virtual bool areAllFieldsEmpty() const
Returns true if all fields are empty, otherwise false.
void inheritValues(DCMTree::Const_TreePtr dcmTree) override
Implements the copy of tag values from the given dcmTree to the fields.
FieldChangeState
Describes the type of a field changes detected in handleFieldChanges(Field *field).
Defines the class FieldContainer to encapsulate a vector of fields for (see class Field).
Base class for all fields used in the ML.
Base class for an image processing module of the ML.
Field without value for notifications.
Field to encapsulate a string value.
Header file of the DicomModifyFieldAddOnBase class dedicated to manage fields for ML modules and inst...
boost::shared_ptr< const Tree > Const_TreePtr
boost::shared_ptr< Tree > TreePtr
shared pointer to a DCMTree::Tree