DCMTK data part class map

DcmObject是dcm所有数据对象的基类,它实现了一些基本的方法。它派生了DcmElement类和DcmItem类。DcmElement是dicom文件的基本元素。DcmItem是这些数据元素的一个集合(它的主要数据成员是DcmElement对象的list),DcmItem的派生类DcmDataset更能体现这一点。数据集描述现实世界信息对象的实例。数据集由数据元素构成。数据元素包含对象的属性代码值。这些属性的特定内容和语义学在信息对象定义(参阅DICOM标准中的第3部分)中指定

它的方法列表如下:
 


Public Member Functions

  DcmObject (const DcmTag &tag, const Uint32 len=0)
  constructor.

通过一个tag 和 这个tag对应的value的长度作为构造函数的两个参数。
  DcmObject (const DcmObject &obj)
  copy constructor 

复制构造函数 作用见C++ 将对象传递给函数和函数返回对象时潜在的问题

virtual  ~DcmObject ()
  destructor 

DcmObject operator= (const DcmObject &obj)
  assignment operator

virtual DcmEVR  ident () const=0
  get type identifier (abstract)

类型识别 (抽象类)

DcmEVR  getVR () const 
OFBool  isaString () const
virtual OFBool  isLeaf () const=0
virtual void  print (ostream &out, const size_t flags=0, const int level=0, const char *pixelFileName=NULL, size_t *pixelCounter=NULL)=0
  print object to a stream

OFCondition  error () const
E_TransferState  transferState () const
virtual void  transferInit (void)
virtual void  transferEnd (void)
Uint16  getGTag () const
Uint16  getETag () const
const DcmTag getTag () const
void  setGTag (Uint16 gtag)
virtual OFCondition  setVR (DcmEVR)
virtual unsigned long  getVM ()=0
virtual Uint32  calcElementLength (const E_TransferSyntax xfer, const E_EncodingType enctype)=0
virtual Uint32  getLength (const E_TransferSyntax xfer=EXS_LittleEndianImplicit, const E_EncodingType enctype=EET_UndefinedLength)=0
virtual OFBool  canWriteXfer (const E_TransferSyntax newXfer, const E_TransferSyntax oldXfer)=0
virtual OFCondition  read (DcmInputStream &inStream, const E_TransferSyntax ixfer, const E_GrpLenEncoding glenc=EGL_noChange, const Uint32 maxReadLength=DCM_MaxReadLength)=0
virtual OFCondition  write (DcmOutputStream &outStream, const E_TransferSyntax oxfer, const E_EncodingType enctype=EET_UndefinedLength)=0
  write object to a stream (abstract)

virtual OFCondition  writeXML (ostream &out, const size_t flags=0)
  write object in XML format to a stream

将对象写成xml流

virtual OFCondition  writeSignatureFormat (DcmOutputStream &outStream, const E_TransferSyntax oxfer, const E_EncodingType enctype=EET_UndefinedLength)=0
  special write method for creation of digital signatures (abstract)

virtual OFBool  isSignable () const
  returns true if the current object may be included in a digital signature

virtual OFBool  containsUnknownVR () const
  returns true if the object contains an element with Unknown VR at any nesting level

virtual OFCondition  clear ()=0
virtual OFCondition  verify (const OFBool autocorrect=OFFalse)=0
virtual DcmObject nextInContainer (const DcmObject *obj)
virtual OFCondition  nextObject (DcmStack &stack, const OFBool intoSub)
virtual OFCondition  search (const DcmTagKey &xtag, DcmStack &resultStack, E_SearchMode mode=ESM_fromHere, OFBool searchIntoSub=OFTrue)
virtual OFCondition  searchErrors (DcmStack &resultStack)
virtual OFCondition  loadAllDataIntoMemory ()=0

Protected Member Functions

void  printNestingLevel (ostream &out, const size_t flags, const int level)
  print line indentation, e.g.

void  printInfoLineStart (ostream &out, const size_t flags, const int level, DcmTag *tag=NULL)
  print beginning of the info line.

void  printInfoLineEnd (ostream &out, const size_t flags, const unsigned long printedLength=0xffffffff, DcmTag *tag=NULL)
  print end of the info line.

virtual void  printInfoLine (ostream &out, const size_t flags, const int level=0, const char *info=NULL, DcmTag *tag=NULL)
  print given text with element information.

virtual OFCondition  writeTagAndLength (DcmOutputStream &outStream, const E_TransferSyntax oxfer, Uint32 &writtenBytes) const
virtual Uint32  getTagAndLengthSize (const E_TransferSyntax oxfer) const
  return the number of bytes needed to serialize the tag, VR and length information of the current object using the given transfer syntax.


Static Protected Member Functions

OFCondition  writeTag (DcmOutputStream &outStream, const DcmTag &tag, const E_TransferSyntax oxfer)

Protected Attributes

DcmTag  Tag
Uint32  Length
E_TransferState  fTransferState
OFCondition  errorFlag
Uint32  fTransferredBytes

 

posted on 2004-09-05 22:04  chobits  阅读(1546)  评论(0)    收藏  举报

导航