DCMTK
Version 3.6.9
OFFIS DICOM Toolkit
|
Class for managing sets of DICOM attributes (e.g. macros and modules). More...
Public Member Functions | |
IODComponent (OFshared_ptr< DcmItem > item, OFshared_ptr< IODRules > rules, IODComponent *parent=NULL) | |
Constructor. More... | |
IODComponent (IODComponent *parent=NULL) | |
Constructor, creates rules and item from scratch. More... | |
IODComponent & | operator= (const IODComponent &rhs) |
Assignment operator, copies contained item and rule set from rhs to "this" attribute set. More... | |
IODComponent (const IODComponent &rhs) | |
Copy constructor, copies reference to contained item and rule set to "this" attribute set. More... | |
virtual | ~IODComponent () |
Virtual Destructor. | |
void | clearData () |
Clear all attributes from the data that are handled by this module. More... | |
virtual void | inventMissing () |
Set missing values by inventing "default values". More... | |
virtual void | resetRules ()=0 |
Resets rules to their original values. | |
OFshared_ptr< IODRules > | getRules () |
Get rules handled by this module. More... | |
virtual void | makeOptional () |
Make component optional by turning all attributes requirement types of it to type 3. More... | |
virtual OFString | getName () const =0 |
Get name of component. More... | |
DcmItem & | getData () |
Get the data handled by this module. More... | |
virtual OFCondition | read (DcmItem &source, const OFBool clearOldData=OFTrue) |
Read attributes from given item into this class. More... | |
virtual OFCondition | write (DcmItem &destination) |
Write attributes from this class into given item. More... | |
virtual OFCondition | check (const OFBool quiet=OFFalse) |
Check whether this component's data satisfies the underlying rules. More... | |
virtual int | compare (const IODComponent &rhs) const |
Comparison operator for IOD Components. More... | |
virtual bool | getValueCheckOnWrite () const |
Get whether attribute value errors will be handled as errors on writing. More... | |
virtual void | setValueCheckOnWrite (const OFBool checkValue) |
Set whether attribute values should be checked on writing, i.e. More... | |
Static Public Member Functions | |
static OFCondition | read (DcmItem &source, IODRules &rules, DcmItem &destination, const OFString &componentName) |
Static helper function that reads attributes from given item into destination item, as determined by the provided rules and component name. More... | |
static OFCondition | write (DcmItem &source, IODRules &rules, DcmItem &destination, const OFString &componentName, const OFBool checkValue) |
Static helper function that writes attributes from given item into destination item, as determined by the provided rules and component name. More... | |
Protected Attributes | |
OFshared_ptr< DcmItem > | m_Item |
Shared pointer to the data handled by this class. More... | |
OFshared_ptr< IODRules > | m_Rules |
Rules describing the attributes governed by this class. | |
IODComponent * | m_Parent |
The parent component (may be NULL) of this class. | |
OFBool | m_CheckValueOnWrite |
Denotes whether attribute values should be checked on writing, i.e. More... | |
Class for managing sets of DICOM attributes (e.g. macros and modules).
The data is hold in a container (DcmItem) that can be shared with other components, i.e. different modules that hold their data in a common container. In order to know which attributes in the container should be actually handled by a component, the component also has a set of rules, which can also be shared between different components (e.g. all modules of an IOD can share the same set of rules). For each attribute there is one rule in the rule set, denoting the requirement type (1,2,3,1C,2C), the VM, and besides others also the name of the component that the attribute belongs to (e.g. "PatientModule"). Since the component knows its own name, it can decide which attributes in the data container it is responsible for. This class is meant to support nested substructures but so far only writes attributes on a single level (including sequences). Also, in this context the class carries a parent relationship which is not used at the moment.
IODComponent::IODComponent | ( | OFshared_ptr< DcmItem > | item, |
OFshared_ptr< IODRules > | rules, | ||
IODComponent * | parent = NULL |
||
) |
Constructor.
item | The item to be used for data storage. If NULL, the class creates an empty data container. |
rules | The rule set for this class. If NULL, the class creates an empty rule set. |
parent | The parent of the IOD component (NULL if none or unknown) |
IODComponent::IODComponent | ( | IODComponent * | parent = NULL | ) |
Constructor, creates rules and item from scratch.
parent | The parent of the IOD component (NULL if none or unknown) |
IODComponent::IODComponent | ( | const IODComponent & | rhs | ) |
Copy constructor, copies reference to contained item and rule set to "this" attribute set.
rhs | The component to be assigned |
|
virtual |
Check whether this component's data satisfies the underlying rules.
quiet | If OFTrue, not error / warning messages will be produced. Only the returned error code will indicate error or OK. Per default, logging output is produced (OFFalse). |
Reimplemented in TrcTrack, TrcTractographyResultsModule, CodeWithModifiers, and CodeSequenceMacro.
void IODComponent::clearData | ( | ) |
Clear all attributes from the data that are handled by this module.
An attribute is considered belonging to the module if there are rules marked as belonging to this module via the rule's module name.
Referenced by DcmIODImage<>::clearData().
|
virtual |
Comparison operator for IOD Components.
rhs | The right hand side of the comparison |
Reimplemented in ImageSOPInstanceReferenceMacro, and CodeWithModifiers.
|
inline |
Get the data handled by this module.
|
pure virtual |
Get name of component.
Implemented in TrcTrackSet, TrcTrack, TrcTrackSetStatistic, TrcTracksStatistic, TrcTractographyResultsModule, TrcMeasurement, TrcMeasurement::Values, DPMParametricMapSeriesModule, DPMParametricMapImageModule, IODUSFoRModule, IODSynchronizationModule, IODSOPCommonModule, IODSegmentationSeriesModule, IODPatientStudyModule, IODPatientModule, IODMultiFrameFGModule::ConcatenationInfo, IODMultiFrameFGModule, IODMultiframeDimensionModule, IODMultiframeDimensionModule::DimensionIndexItem, IODMultiframeDimensionModule::DimensionOrganizationItem, IODImagePixelBase, IODImagePixelModule< T >, IODGeneralStudyModule, IODGeneralSeriesModule, IODGeneralImageModule, IODFoRModule, IODDoubleFloatingPointImagePixelModule, IODFloatingPointImagePixelModule, IODGeneralEquipmentModule, IODEnhancedUSSeriesModule, IODEnhUSImageModule, IODEnhGeneralEquipmentModule, IODCommonInstanceReferenceModule, IODCommonInstanceReferenceModule, IODAcquisitionContextModule, MandatoryViewAndSliceProgressionDirectionMacro, HL7HierarchicDesignatorMacro, IODSeriesAndInstanceReferenceMacro, IODSeriesAndInstanceReferenceMacro, SOPInstanceReferenceMacro, CodeWithModifiers, CodeSequenceMacro, ContentItemMacro, and ContentItemMacro::ReferencedSOPSequenceItem.
|
inline |
Get rules handled by this module.
|
virtual |
Get whether attribute value errors will be handled as errors on writing.
|
virtual |
Set missing values by inventing "default values".
Automatically called during write() in IODComponent. In this bas class implementation, this method checks for every rule of this component whether it has a default value, and if, invents the attribute if it is not present in the data, i.e. creating it with the default value or setting it to the default value if no value is present. This happens independently of the requirement type.
Reimplemented in TrcTrackSet, IODSOPCommonModule, IODGeneralStudyModule, and IODGeneralSeriesModule.
|
virtual |
Make component optional by turning all attributes requirement types of it to type 3.
In order to reset to the attribute's original types, resetRules() can be used.
IODComponent& IODComponent::operator= | ( | const IODComponent & | rhs | ) |
Assignment operator, copies contained item and rule set from rhs to "this" attribute set.
Performs deep copy, i.e. the contained item and the rule set are copied. The parent component is set to NULL.
rhs | The IODComponent to be assigned |
|
virtual |
Read attributes from given item into this class.
source | The source to read from |
clearOldData | If OFTrue, old data is cleared before reading. Otherwise old data is overwritten (or amended) |
Reimplemented in TrcTrackSet, TrcTrack, TrcTrackSetStatistic, TrcTracksStatistic, TrcStatistic, TrcTractographyResultsModule, TrcMeasurement, DPMParametricMapSeriesModule, DPMParametricMapImageModule, IODMultiFrameFGModule, IODMultiframeDimensionModule, IODImagePixelModule< T >, IODGeneralStudyModule, IODGeneralSeriesModule, IODDoubleFloatingPointImagePixelModule, IODFloatingPointImagePixelModule, IODEnhancedUSSeriesModule, IODEnhUSImageModule, IODCommonInstanceReferenceModule, IODCommonInstanceReferenceModule, MandatoryViewAndSliceProgressionDirectionMacro, ImageSOPInstanceReferenceMacro, IODSeriesAndInstanceReferenceMacro, IODSeriesAndInstanceReferenceMacro, CodeWithModifiers, ContentItemMacro, and ContentItemMacro::ReferencedSOPSequenceItem.
Referenced by DcmIODImage<>::read().
|
static |
Static helper function that reads attributes from given item into destination item, as determined by the provided rules and component name.
The rules are only applied when reading from the source (which may result in warning messages on the logger), but if they could be found they are taken over into the destination item no matter whether the element validates against the rule.
source | The item to read from |
rules | The rules that provide the attributes and requirements for these attributes |
destination | The destination to write to |
componentName | The name of the module/component to write |
|
virtual |
Set whether attribute values should be checked on writing, i.e.
if writing should fail if attribute values violate their VR, VM, character set or value length. A missing but required value is always considered an error, independent of this setting. If set to OFFalse, writing will always succeed, even if attribute value constraints are violated. A warning instead of an error will be printed to the logger.
checkValue | If OFTrue, attribute value errors are handled as errors on writing, if OFFalse any errors are ignored. |
|
virtual |
Write attributes from this class into given item.
destination | The item to write to |
Reimplemented in MandatoryViewAndSliceProgressionDirectionMacro, ImageSOPInstanceReferenceMacro, TrcTrackSet, TrcTrack, TrcTrackSetStatistic, TrcTracksStatistic, TrcStatistic, TrcTractographyResultsModule, TrcMeasurement, DPMParametricMapSeriesModule, DPMParametricMapImageModule, IODMultiFrameFGModule, IODMultiframeDimensionModule, IODImagePixelModule< T >, IODGeneralStudyModule, IODGeneralSeriesModule, IODDoubleFloatingPointImagePixelModule, IODFloatingPointImagePixelModule, IODEnhancedUSSeriesModule, IODEnhUSImageModule, IODCommonInstanceReferenceModule, IODCommonInstanceReferenceModule, IODSeriesAndInstanceReferenceMacro, IODSeriesAndInstanceReferenceMacro, CodeWithModifiers, ContentItemMacro, and ContentItemMacro::ReferencedSOPSequenceItem.
Referenced by DcmIODImage<>::write().
|
static |
Static helper function that writes attributes from given item into destination item, as determined by the provided rules and component name.
The rules are only applied when writing to the destination (which may result in warning messages on the logger, and the whole call returning with an error). During reading from the source item the elements read are not validated against the rules.
source | The item to read from |
rules | The rules that provide the attributes and requirements for these attributes |
destination | The destination to write to |
componentName | The name of the module/component to write |
checkValue | If OFTrue, attribute value errors are handled as errors on writing, if OFFalse any errors are ignored. |
|
protected |
Denotes whether attribute values should be checked on writing, i.e.
if writing should fail if attribute values violate their VR, VM, character set or value length. A missing but required value is always considered an error, independent of this setting. If set to OFFalse, writing will always succeed, even if attribute values constraints are violated. A warning instead of an error will be printed to the logger. OFTrue if attribute value errors are handled as errors on writing, OFFalse otherwise.
|
protected |
Shared pointer to the data handled by this class.
The item may contain more attributes than this class is actually responsible for