MeVisLab Toolbox Reference
|
Manages the module field interface according to Series And Instance Reference Macro in DICOM Part 3. More...
#include <mlDicomSeriesAndInstanceReferenceMacroTagInterface.h>
Public Member Functions | |
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. More... | |
void | addFields () override |
Add fields to field container of module. More... | |
void | inheritValues (DCMTree::Const_TreePtr dcmTree) override |
Implements the copy of tag values from the given dcmTree to the fields. More... | |
FieldAddOnBase::FieldChangeState | handleFieldChanges (Field *field) override |
Handle field notifications according to Module::handleNotification with a return of field change state. More... | |
std::string | applyModifications (DCMTree::TreePtr dcmTree, const FieldContainer *treeInfos=nullptr) override |
See DicomModifyFieldAddOnBase::applyModifications() for documentation; adds field values as tags to dcmTree. More... | |
std::string | checkConsistency () const override |
Checks for invalid parameters; return textual description on error, or empty string on success; requires that setInputPagedImage was called with a valid image before for successful proper operation. More... | |
virtual bool | areAllFieldsEmpty () const |
Returns true if all fields are empty, otherwise false. More... | |
virtual void | clearFields () |
Make all fields empty. More... | |
virtual void | setMainStudyInstanceUIDInheritance (const std::string &mainStudyInstanceUID, bool inheritOnEquality) |
Set the StudyInstanceUID which will be used by exported or modified DCMTrees and whether the inheritValues methods shall inherit tags on equality or tags or on inequality. More... | |
NotifyField * | getClearFieldsFld () |
Provide access to fields; for documentation see corresponding fields. More... | |
StringField * | getSeriesInstanceUIDFld () |
StringField * | getReferencedSOPClassUIDsFld () |
StringField * | getReferencedSOPInstanceUIDsFld () |
StringField * | getCommonInstanceReferenceStudyInstanceUIDFld () |
![]() | |
DicomModifyFieldAddOnBase (FieldContainer &fieldContainerRef, size_t numInstances=1, bool createInputModifyTagsPluginBaseConnectorField=false, bool createOutputModifyTagsPluginBaseConnectorField=false) | |
Constructor, setting the reference of the FieldContainer managing the fields, the number of field instances to create and optionally input and output fields to create modification pipelines. More... | |
~DicomModifyFieldAddOnBase () override | |
Destructor resetting connector fields if they exist. More... | |
size_t | getNumInstances () const |
Returns the number of instances to be created by derived fields. More... | |
void | handleFieldActivationChanges () override |
Handle class changes according to Module::activateAttachments. More... | |
BaseField * | getOutputModifierListFld () const |
Provide access to output base field if it was created. More... | |
BaseField * | getInputModifierListFld () const |
Provide access to input base connector field if it was created. More... | |
![]() | |
DicomModifyList () | |
Constructor creating an empty list of tag modifiers and setting the optional input plugin with a concatenated DicomModifyList. More... | |
~DicomModifyList () override | |
Destructor also destroying all of its stored Modifiers. More... | |
void | addModifier (DicomModifyBase *modifier, bool atEnd=true) |
Add an object derived from DicomModifyBase which then will be owned (and on destruction deleted) by this. More... | |
void | clear () |
Makes modifier array empty and deletes all of them. More... | |
std::vector< DicomModifyBase * > & | getModifierList () |
Get direct access to internal list to allow callers direct manipulations which, however, must obey the restriction that ownership belongs to *this, i.e. More... | |
const std::vector< DicomModifyBase * > & | getModifierList () const |
Same as getModifierList() only for constant access. More... | |
void | setInputPlugin (DicomModifyList *inputPlugin=nullptr) |
Sets an optional plugin to be called by applyModififcations or resets it to nullptr; the input is called after the objects in _modfiers list. More... | |
DicomModifyList * | getInputPlugin () const |
Returns the optional plugin to be called by applyModififcations. More... | |
![]() | |
Base () | |
Constructor. More... | |
virtual | ~Base () |
Destructor. More... | |
virtual Base * | deepCopy () const |
Creates a deep copy of the given object. More... | |
bool | isOfAllowedType (const std::vector< const RuntimeType * > &types) const |
Checks whether this object's type is equal to or derived from one of the types given in the argument. More... | |
virtual bool | isRefCountedBase () const |
Returns whether the instance is derived from RefCountedBase. More... | |
virtual std::string | detailString () const |
Returns a string describing this object. More... | |
virtual bool | implementsPersistence (PersistenceInterface) const |
Override this method to declare which persistence interfaces are implemented by your derived class. More... | |
virtual std::string | persistentState () const |
Returns a string describing the object's internal state. More... | |
virtual void | setPersistentState (const std::string &state) |
Restores the object's internal state from a string that had been previously generated using persistentState(). More... | |
virtual void | addStateToTree (TreeNode *) const |
Attaches the object state as children of the given parent node. More... | |
virtual void | readStateFromTree (TreeNode *) |
Reads the object state from the children of the given parent node. More... | |
virtual void | writeTo (AbstractPersistenceOutputStream *) const |
Writes the objects state to the data stream object. More... | |
virtual void | readFrom (AbstractPersistenceInputStream *, int) |
Reads the objects state from the data stream object. More... | |
![]() | |
FieldAddOnBase (FieldContainer &fieldContainerRef) | |
Constructor, setting the reference of the FieldContainer managing the fields. More... | |
virtual | ~FieldAddOnBase () |
Destructor. More... | |
FieldContainer & | getFieldContainer () |
Returns the referenced container. More... | |
const FieldContainer & | getFieldContainer () const |
Returns the referenced container. More... | |
std::vector< Field * > & | getFields () |
Return modification access to the list of managed fields, use at own risk! More... | |
const std::vector< Field * > & | getFields () const |
Return constant access to the list of managed fields! More... | |
virtual FieldChangeState | getMergedFieldChangeState (FieldChangeState state1, FieldChangeState state2) const |
Returns a FieldChangeState which best represents a merge of the two given states. More... | |
virtual bool | hasField (Field *field) const |
Returns true if the passed fieldPtr is in _fieldPointers, otherwise false. More... | |
Static Public Member Functions | |
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 the dcmTree; an existing tag will by recycled, otherwise a new one will be added. More... | |
![]() | |
static bool | isIn (const std::string &str, const char *const *values, size_t numValues) |
Static helper function which checks whether str is part of the given list of values which has numValues entries. More... | |
Protected Attributes | |
const std::string | _fieldPrefix |
Prefix to be added before each added field name. More... | |
const bool | _provideCommonInstanceReferenceStudyUIDFld |
If true then this fieldAddOn will also create the field _commonInstanceReferenceStudyUIDFld, otherwise not. More... | |
const bool | _provideSeriesInstanceUIDFld |
If true then this fieldAddOn will also create the field _seriesInstanceUIDFld, otherwise not. More... | |
std::string | _mainStudyInstanceUID |
The StudyInstanceUID which will be used in exported/modified DCMTrees or empty if unknown or unset. More... | |
bool | _inheritOnEquality |
If true then the field contents will be inherited from the given dcmTree if its StudyInstanceUID matches _mainStudyInstanceUID, otherwise if they do not match. More... | |
NotifyField * | _clearFieldsFld |
If notified then all fields are reset to empty strings. More... | |
StringField * | _seriesInstanceUIDFld |
Unique identifier referencing the referenced instances. More... | |
StringField * | _referencedSOPClassUIDsFld |
The list of SOP Class UIDs uniquely identifying the referenced SOP Classes in the same order as they shall are located in the Referenced Series Sequence. More... | |
StringField * | _referencedSOPInstanceUIDsFld |
The list of SOP Instance UIDs uniquely identifying the referenced SOP Instances in the same order as they shall are located in the Referenced Series Sequence. More... | |
StringField * | _commonInstanceReferenceStudyInstanceUIDFld |
Unique identifier referencing the study if enabled with provideCommonInstanceReferenceStudyFld, otherwise always nullptr. More... | |
Additional Inherited Members | |
![]() | |
enum | PersistenceInterface { PersistenceByString , PersistenceByTreeNode , PersistenceByStream } |
This enum describes the different persistence interfaces available. More... | |
![]() | |
enum | FieldChangeState { NoChange = 0 , StatusOnlyChange , RecalculationRequired } |
Describes the type of a field changes detected in handleFieldChanges(Field *field). More... | |
![]() | |
void | _addFieldPointer (Field *field) |
Helper routine to add a Field pointer to _fieldPointers, empty pointers and pointers added more than once will be handled fatally. More... | |
Manages the module field interface according to Series And Instance Reference Macro in DICOM Part 3.
Definition at line 22 of file mlDicomSeriesAndInstanceReferenceMacroTagInterface.h.
ml::DicomSeriesAndInstanceReferenceMacroTagInterface::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.
modRef | The ML module in which the fields shall be created and managed. |
fieldPrefix | A prefix to be added before all field names to avoid collisions with other same named fields. |
provideCommonInstanceReferenceStudyUIDFld | If true then this fieldAddOn will also create the field _commonInstanceReferenceStudyUIDFld, otherwise not. |
provideSeriesInstanceUIDFld | If true then a SeriesInstanceUID field is created and the corresponding tag is written into DICOM trees, otherwise the field is ignored and no such tag is added. |
|
overridevirtual |
Add fields to field container of module.
Reimplemented from ml::DicomModifyFieldAddOnBase.
|
overridevirtual |
See DicomModifyFieldAddOnBase::applyModifications() for documentation; adds field values as tags to dcmTree.
Reimplemented from ml::DicomModifyFieldAddOnBase.
|
virtual |
Returns true if all fields are empty, otherwise false.
|
overridevirtual |
Checks for invalid parameters; return textual description on error, or empty string on success; requires that setInputPagedImage was called with a valid image before for successful proper operation.
Reimplemented from ml::DicomModifyFieldAddOnBase.
|
virtual |
Make all fields empty.
|
inline |
Provide access to fields; for documentation see corresponding fields.
Definition at line 70 of file mlDicomSeriesAndInstanceReferenceMacroTagInterface.h.
|
inline |
Definition at line 74 of file mlDicomSeriesAndInstanceReferenceMacroTagInterface.h.
|
inline |
Definition at line 72 of file mlDicomSeriesAndInstanceReferenceMacroTagInterface.h.
|
inline |
Definition at line 73 of file mlDicomSeriesAndInstanceReferenceMacroTagInterface.h.
|
inline |
Definition at line 71 of file mlDicomSeriesAndInstanceReferenceMacroTagInterface.h.
|
overridevirtual |
Handle field notifications according to Module::handleNotification with a return of field change state.
Reimplemented from ml::DicomModifyFieldAddOnBase.
|
overridevirtual |
Implements the copy of tag values from the given dcmTree to the fields.
Reimplemented from ml::DicomModifyFieldAddOnBase.
|
virtual |
Set the StudyInstanceUID which will be used by exported or modified DCMTrees and whether the inheritValues methods shall inherit tags on equality or tags or on inequality.
|
static |
Sets and fills the Referenced Sequence tag denoted by the tag id writtenReferencedSequenceTagId into the dcmTree; an existing tag will by recycled, otherwise a new one will be added.
On any error DCMTree::Exceptions are thrown. It is expected that referencedSOPClassUIDs and referencedSOPInstanceUIDs have the same number of newline separated UID entries.
dcmTree | The DICOM tree in which the Referenced Series Sequence shall be set up. |
seriesInstanceUIDValue | The content of the Series Instance UID to be set as tag. |
referencedSOPClassUIDs | The newline separated list of Referenced SOP Class UIDs (0008,1150) to be set as entries of the Referenced Instance Sequence (0008,114A). |
referencedSOPInstanceUIDs | The newline separated list of Referenced SOP Instance UIDs (0008,1155) to be set as entries of the Referenced Instance Sequence (0008,114A). |
writtenReferencedSeriesSequenceTagId | The tag id of the sequence into which the UIDs shall be written; typically DCMTree_ReferencedSeriesSequence. If 0u then writtenReferencedInstanceSequence entries will be added directly under dcmTree (evt. multiply), otherwise in the items of the writtenReferencedSeriesSequenceTag. |
writtenReferencedInstanceSequenceTagId | The tag id of the sequence which is inserted under items of writtenReferencedSeriesSequenceTag if that exist, otherwise directly under dcmTree, typically DCMTree_ReferencedInstanceSequence. |
setSeriesInstanceUIDFld | If true then DCMTree_SeriesInstanceUID is set/overwritten in(to) dcmTree, otherwise not. |
|
protected |
If notified then all fields are reset to empty strings.
Definition at line 122 of file mlDicomSeriesAndInstanceReferenceMacroTagInterface.h.
|
protected |
Unique identifier referencing the study if enabled with provideCommonInstanceReferenceStudyFld, otherwise always nullptr.
Definition at line 136 of file mlDicomSeriesAndInstanceReferenceMacroTagInterface.h.
|
protected |
Prefix to be added before each added field name.
Definition at line 106 of file mlDicomSeriesAndInstanceReferenceMacroTagInterface.h.
|
protected |
If true then the field contents will be inherited from the given dcmTree if its StudyInstanceUID matches _mainStudyInstanceUID, otherwise if they do not match.
Definition at line 119 of file mlDicomSeriesAndInstanceReferenceMacroTagInterface.h.
|
protected |
The StudyInstanceUID which will be used in exported/modified DCMTrees or empty if unknown or unset.
Definition at line 115 of file mlDicomSeriesAndInstanceReferenceMacroTagInterface.h.
|
protected |
If true then this fieldAddOn will also create the field _commonInstanceReferenceStudyUIDFld, otherwise not.
Definition at line 109 of file mlDicomSeriesAndInstanceReferenceMacroTagInterface.h.
|
protected |
If true then this fieldAddOn will also create the field _seriesInstanceUIDFld, otherwise not.
Definition at line 112 of file mlDicomSeriesAndInstanceReferenceMacroTagInterface.h.
|
protected |
The list of SOP Class UIDs uniquely identifying the referenced SOP Classes in the same order as they shall are located in the Referenced Series Sequence.
Definition at line 130 of file mlDicomSeriesAndInstanceReferenceMacroTagInterface.h.
|
protected |
The list of SOP Instance UIDs uniquely identifying the referenced SOP Instances in the same order as they shall are located in the Referenced Series Sequence.
Definition at line 133 of file mlDicomSeriesAndInstanceReferenceMacroTagInterface.h.
|
protected |
Unique identifier referencing the referenced instances.
Definition at line 126 of file mlDicomSeriesAndInstanceReferenceMacroTagInterface.h.