DCMTK  Version 3.6.1 20170228
OFFIS DICOM Toolkit
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
IODComponent Class Referenceabstract

Class for managing sets of dicom attributes (e.g. macros and modules). More...

+ Inheritance diagram for IODComponent:

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...
 
IODComponentoperator= (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< IODRulesgetRules ()
 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...
 
DcmItemgetData ()
 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...
 

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)
 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< DcmItemm_Item
 Shared pointer to the data handled by this class. More...
 
OFshared_ptr< IODRulesm_Rules
 Rules describing the attributes governed by this class.
 
IODComponentm_Parent
 The parent component (may be NULL) of this class.
 

Detailed Description

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.

Constructor & Destructor Documentation

IODComponent::IODComponent ( OFshared_ptr< DcmItem item,
OFshared_ptr< IODRules rules,
IODComponent parent = NULL 
)

Constructor.

Parameters
itemThe item to be used for data storage. If NULL, the class creates an empty data container.
rulesThe rule set for this class. If NULL, the class creates an empty rule set.
parentThe parent of the IOD component (NULL if none or unknown)
IODComponent::IODComponent ( IODComponent parent = NULL)

Constructor, creates rules and item from scratch.

Parameters
parentThe 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.

Parameters
rhsThe component to be assigned

Member Function Documentation

virtual OFCondition IODComponent::check ( const OFBool  quiet = OFFalse)
virtual

Check whether this component's data satisfies the underlying rules.

Parameters
quietIf 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).
Returns
EC_Normal if rules are satisfied, error otherwise

Reimplemented in CodeWithModifiers, TrcTractographyResultsModule, and TrcTrack.

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< IODImagePixelModule< Uint8 > >::clearData().

virtual int IODComponent::compare ( const IODComponent rhs) const
virtual

Comparison operator for IOD Components.

Parameters
rhsThe right hand side of the comparison
Returns
0, if the given object is equal to this object, other value otherwise

Reimplemented in ImageSOPInstanceReferenceMacro, and CodeWithModifiers.

DcmItem& IODComponent::getData ( )
inline

Get the data handled by this module.

Returns
The item containing the data of this module
virtual OFString IODComponent::getName ( ) const
pure virtual
OFshared_ptr<IODRules> IODComponent::getRules ( )
inline

Get rules handled by this module.

Returns
The rules
virtual void IODComponent::inventMissing ( )
virtual

Set missing values by inventing "default values".

Automatically called during write() in IODComponent; does nothing in this base class implementation but can be overwritten by derived classes if default values are desired.

Reimplemented in TrcTrackSet, IODGeneralSeriesModule, IODSOPCommonModule, and IODGeneralStudyModule.

virtual void IODComponent::makeOptional ( )
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.

Parameters
rhsThe IODComponent to be assigned
Returns
Reference to this module
virtual OFCondition IODComponent::read ( DcmItem source,
const OFBool  clearOldData = OFTrue 
)
virtual
static OFCondition IODComponent::read ( DcmItem source,
IODRules rules,
DcmItem destination,
const OFString componentName 
)
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.

Parameters
sourceThe item to read from
rulesThe rules that provide the attributes and requirements for these attributes
destinationThe destination to write to
componentNameThe name of the module/component to write
Returns
EC_Normal if reading was successful, error otherwise
virtual OFCondition IODComponent::write ( DcmItem destination)
virtual
static OFCondition IODComponent::write ( DcmItem source,
IODRules rules,
DcmItem destination,
const OFString componentName 
)
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.

Parameters
sourceThe item to read from
rulesThe rules that provide the attributes and requirements for these attributes
destinationThe destination to write to
componentNameThe name of the module/component to write
Returns
EC_Normal if reading was successful, error otherwise

Member Data Documentation

OFshared_ptr<DcmItem> IODComponent::m_Item
protected

Shared pointer to the data handled by this class.

The item may contain more attributes than this class is actually responsible for


The documentation for this class was generated from the following file:


Generated on Tue Feb 28 2017 for DCMTK Version 3.6.1 20170228 by Doxygen 1.8.8