MeVisLabToolboxReference
DCMTree::IOParameter Class Reference

base class to wrap parameters to be used for reading/writing messages this is needed because the toolkits have different capabilities (merge needs file-names, offis seems to work with streams too etc.) More...

#include <DCMTree_IOParameter.h>

List of all members.

Public Member Functions

 IOParameter ()
 ctor
 IOParameter (const IOParameter &other)
 copy - ctor
virtual std::string filename () const =0
 name of the file to be read or written
virtual bool readPixelData () const =0
 true if the reader should read the binary pixel data
virtual bool readPrivateTags () const =0
 true if private tags should be read
virtual bool convertToUTF8 () const =0
 true if character should be converted to UTF8
virtual ~IOParameter ()
 dtor
IOParameteroperator= (const IOParameter &other)
 assignment operator (makes deep copy)
TagIdPtrPairtagId_Interval ()
 access the interval description of tag-ids to be processed first is the first (including) tag-id to be processed second is the last (EXcluding) tag-id to be processed if first is NULL and second not than all tags up to (EXcluding) second are to be processed if second is NULL and first no than all tags after (including) first are to be processed
const TagIdPtrPairtagId_Interval () const
 same as above but const
TagIdVectortag_Ids_ToIgnore ()
 tag-ids to be ignored if empty all tags are processed
const TagIdVectortag_Ids_ToIgnore () const
 same as above but const
TagIdVectortag_Ids_ToProcess ()
 tag-ids to be processed if empty all tags are processed
const TagIdVectortag_Ids_ToProcess () const
 same as above but const
VrVectorvrs_ToIgnore ()
 all VRs to be ignored if empty all VRs are to be processed
const VrVectorvrs_ToIgnore () const
 same as above but const
VrVectorvrs_ToProcess ()
 all VRs to be processed if empty all VRs are to be processed
const VrVectorvrs_ToProcess () const
 same as above but const
bool processVR (const Vr &vr)
 decide if the given vr is to be processed
bool processTagId (const TagId &id)
 decide if the given tagid is to be processed
bool process (const TagInfo &info)
 decide if the given TagInfo is to be processed
virtual void setNumberOfToleratedBadTags (unsigned int numBadTags=5)
 set number of tolerated bad tags which are found in a file before skipping it as bad
virtual unsigned int getNumberOfToleratedBadTags () const
 returns number of tolerated bad tags which are found in a file before skipping it as bad

Static Public Member Functions

static IOParameterPtr create (std::string filename, bool readPixelData=true, bool readPrivateTags=true, bool convertToUTF8=true)
 abstract factory create method
static bool processVR (const VrVector &toignore, const VrVector &toprocess, const Vr &vr)
 decide if the given vr is to be processed
static bool processTagId (const TagIdVector &toignore, const TagIdVector &toprocess, const TagIdPtrPair &interval, const TagId &id)
 decide if the given tagid is to be processed

Protected Member Functions

virtual IOParameterPtr createConcrete (std::string filename, bool readPixelData, bool readPrivateTags, bool convertToUTF8) const =0
 concrete factory create method of the implementing prototype, called by the abstract one

Static Protected Member Functions

static Const_IOParameterPtr prototype ()
 the current concrete prototype
static void setPrototype (Const_IOParameterPtr prototype)
 The concrete prototype is set by the implementing DLL.

Detailed Description

base class to wrap parameters to be used for reading/writing messages this is needed because the toolkits have different capabilities (merge needs file-names, offis seems to work with streams too etc.)

the tags to be processed can be filtered by the additional members of this class processVR and processTagId shall be used by read/writer implementation to get the right decision (may be changed to a more practical rule-matching) order of 'rules' is

  • ignore
  • process
  • interval (including first,excluding second)

Definition at line 54 of file DCMTree_IOParameter.h.


Constructor & Destructor Documentation

DCMTree::IOParameter::IOParameter ( )

ctor

DCMTree::IOParameter::IOParameter ( const IOParameter other) [explicit]

copy - ctor

virtual DCMTree::IOParameter::~IOParameter ( ) [virtual]

dtor


Member Function Documentation

virtual bool DCMTree::IOParameter::convertToUTF8 ( ) const [pure virtual]

true if character should be converted to UTF8

static IOParameterPtr DCMTree::IOParameter::create ( std::string  filename,
bool  readPixelData = true,
bool  readPrivateTags = true,
bool  convertToUTF8 = true 
) [static]

abstract factory create method

Parameters:
filename- full path of the input DICOM file
readPixelData- if false, pixel data are skipped
readPrivateTags- if false, private tags are skipped
convertToUTF8- if true, do character set conversion
virtual IOParameterPtr DCMTree::IOParameter::createConcrete ( std::string  filename,
bool  readPixelData,
bool  readPrivateTags,
bool  convertToUTF8 
) const [protected, pure virtual]

concrete factory create method of the implementing prototype, called by the abstract one

Parameters:
filename- full path of the input DICOM file
readPixelData- if false, pixel data are skipped
readPrivateTags- if false, private tags are skipped
convertToUTF8- if true, do character set conversion
virtual std::string DCMTree::IOParameter::filename ( ) const [pure virtual]

name of the file to be read or written

virtual unsigned int DCMTree::IOParameter::getNumberOfToleratedBadTags ( ) const [virtual]

returns number of tolerated bad tags which are found in a file before skipping it as bad

IOParameter& DCMTree::IOParameter::operator= ( const IOParameter other)

assignment operator (makes deep copy)

bool DCMTree::IOParameter::process ( const TagInfo info)

decide if the given TagInfo is to be processed

static bool DCMTree::IOParameter::processTagId ( const TagIdVector toignore,
const TagIdVector toprocess,
const TagIdPtrPair interval,
const TagId id 
) [static]

decide if the given tagid is to be processed

bool DCMTree::IOParameter::processTagId ( const TagId id)

decide if the given tagid is to be processed

static bool DCMTree::IOParameter::processVR ( const VrVector toignore,
const VrVector toprocess,
const Vr vr 
) [static]

decide if the given vr is to be processed

bool DCMTree::IOParameter::processVR ( const Vr vr)

decide if the given vr is to be processed

static Const_IOParameterPtr DCMTree::IOParameter::prototype ( ) [static, protected]

the current concrete prototype

virtual bool DCMTree::IOParameter::readPixelData ( ) const [pure virtual]

true if the reader should read the binary pixel data

virtual bool DCMTree::IOParameter::readPrivateTags ( ) const [pure virtual]

true if private tags should be read

virtual void DCMTree::IOParameter::setNumberOfToleratedBadTags ( unsigned int  numBadTags = 5) [virtual]

set number of tolerated bad tags which are found in a file before skipping it as bad

static void DCMTree::IOParameter::setPrototype ( Const_IOParameterPtr  prototype) [static, protected]

The concrete prototype is set by the implementing DLL.

TagIdVector& DCMTree::IOParameter::tag_Ids_ToIgnore ( )

tag-ids to be ignored if empty all tags are processed

const TagIdVector& DCMTree::IOParameter::tag_Ids_ToIgnore ( ) const

same as above but const

const TagIdVector& DCMTree::IOParameter::tag_Ids_ToProcess ( ) const

same as above but const

TagIdVector& DCMTree::IOParameter::tag_Ids_ToProcess ( )

tag-ids to be processed if empty all tags are processed

const TagIdPtrPair& DCMTree::IOParameter::tagId_Interval ( ) const

same as above but const

TagIdPtrPair& DCMTree::IOParameter::tagId_Interval ( )

access the interval description of tag-ids to be processed first is the first (including) tag-id to be processed second is the last (EXcluding) tag-id to be processed if first is NULL and second not than all tags up to (EXcluding) second are to be processed if second is NULL and first no than all tags after (including) first are to be processed

VrVector& DCMTree::IOParameter::vrs_ToIgnore ( )

all VRs to be ignored if empty all VRs are to be processed

const VrVector& DCMTree::IOParameter::vrs_ToIgnore ( ) const

same as above but const

VrVector& DCMTree::IOParameter::vrs_ToProcess ( )

all VRs to be processed if empty all VRs are to be processed

const VrVector& DCMTree::IOParameter::vrs_ToProcess ( ) const

same as above but const


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