DCMTK: DiDocument Class Reference

DCMTK Version 3.6.9 OFFIS DICOM Toolkit

Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Attributes | List of all members
DiDocument Class Reference

Interface class to DICOM data management (dcmdata). More...

Inheritance diagram for DiDocument:

## Public Member Functions
| DiDocument (const OFFilename &filename, const unsigned long flags=0, const unsigned long fstart=0, const unsigned long fcount=0)
| constructor, open a DICOM file
| DiDocument (DcmObject *object, const E_TransferSyntax xfer, const unsigned long flags=0, const unsigned long fstart=0, const unsigned long fcount=0)
| constructor, use a given DcmObject
virtual | ~DiDocument ()
| destructor
int | good () const
| check whether current document is valid
DcmObject * | getDicomObject () const
| get current DICOM object (dataset)
DcmDataset * | getDataset () const
| get current DICOM dataset
unsigned long | getFrameStart () const
| get first frame to be processed
unsigned long | getFrameCount () const
| get number of frames to be processed
unsigned long | getFlags () const
| get configuration flags
E_TransferSyntax | getTransferSyntax () const
| get transfer syntax of the DICOM dataset
const char * | getPhotometricInterpretation () const
| get photometric interpretation (color model).
DcmPixelData * | getPixelData () const
| get pixel data object
OFBool | isCompressed () const
| check whether pixel data only exist in compressed format
DcmElement * | search (const DcmTagKey &tag, DcmObject *obj=NULL) const
| search for given tag
int | search (const DcmTagKey &tag, DcmStack &stack) const
| search for given tag and put result(s) on a stack
unsigned long | getVM (const DcmTagKey &tag) const
| get value multiplicity (VM) of given tag
unsigned long | getValue (const DcmTagKey &tag, Uint16 &returnVal, const unsigned long pos=0, DcmItem *item=NULL, const OFBool allowSigned=OFFalse) const
| get value of given tag (Uint16)
unsigned long | getValue (const DcmTagKey &tag, Sint16 &returnVal, const unsigned long pos=0, DcmItem *item=NULL) const
| get value of given tag (Sint16)
unsigned long | getValue (const DcmTagKey &tag, Uint32 &returnVal, const unsigned long pos=0, DcmItem *item=NULL) const
| get value of given tag (Uint32)
unsigned long | getValue (const DcmTagKey &tag, Sint32 &returnVal, const unsigned long pos=0, DcmItem *item=NULL) const
| get value of given tag (Sint32)
unsigned long | getValue (const DcmTagKey &tag, double &returnVal, const unsigned long pos=0, DcmItem *item=NULL) const
| get value of given tag (double)
unsigned long | getValue (const DcmTagKey &tag, const Uint16 *&returnVal, DcmItem *item=NULL) const
| get value of given tag (Uint16 array)
unsigned long | getValue (const DcmTagKey &tag, const char *&returnVal, DcmItem *item=NULL) const
| get value of given tag (const char *)
unsigned long | getValue (const DcmTagKey &tag, OFString &returnVal, const unsigned long pos=0, DcmItem *item=NULL) const
| get value of given tag (OFString)
unsigned long | getSequence (const DcmTagKey &tag, DcmSequenceOfItems *&seq, DcmItem *item=NULL) const
| get sequence of given tag
Public Member Functions inherited from DiObjectCounter
void | addReference ()
| add a reference.
void | removeReference ()
| remove a reference.

## Static Public Member Functions
static unsigned long | getElemValue (const DcmElement *elem, Uint16 &returnVal, const unsigned long pos=0, const OFBool allowSigned=OFFalse)
| get value of given element (Uint16)
static unsigned long | getElemValue (const DcmElement *elem, const Uint16 *&returnVal)
| get value of given element (Uint16 array)
static unsigned long | getElemValue (const DcmElement *elem, const char *&returnVal)
| get value of given element (const char *)
static unsigned long | getElemValue (const DcmElement *elem, OFString &returnVal, const unsigned long pos=0)
| get value of given element (OFString)

## Protected Member Functions
void | convertPixelData ()
| convert pixel data to uncompressed representation (if required)
Protected Member Functions inherited from DiObjectCounter
| DiObjectCounter ()
| constructor.
virtual | ~DiObjectCounter ()
| destructor

## Private Attributes
DcmObject * | Object
| reference to DICOM dataset (in memory)
DcmFileFormat * | FileFormat
| reference to DICOM fileformat (read from file, maybe NULL)
DcmPixelData * | PixelData
| reference to pixel data object
E_TransferSyntax | Xfer
| transfer syntax used for reading the dataset
unsigned long | FrameStart
| first frame to be processed
unsigned long | FrameCount
| number of frames to be processed
unsigned long | Flags
| configuration flags
OFString | PhotometricInterpretation
| photometric interpretation (color model)

## Detailed Description

Interface class to DICOM data management (dcmdata).

NB: This is an internal class of module dcmimgle/dcmimage. Please do not use it for accessing DICOM data structures. Instead use the classes and functions provided by dcmdata (e.g. class DcmFileFormat, DcmItem).

## Constructor & Destructor Documentation

## ◆ DiDocument() [1/2]

DiDocument::DiDocument | ( | const OFFilename & | filename,
|  | const unsigned long | flags = 0,
|  | const unsigned long | fstart = 0,
|  | const unsigned long | fcount = 0 )

constructor, open a DICOM file

Parameters

  filename | the DICOM file specified by its filename
  flags | configuration flags (only stored for later use)
  fstart | first frame to be processed (only stored for later use)
  fcount | number of frames (only stored for later use)

## ◆ DiDocument() [2/2]

DiDocument::DiDocument | ( | DcmObject * | object,
|  | const E_TransferSyntax | xfer,
|  | const unsigned long | flags = 0,
|  | const unsigned long | fstart = 0,
|  | const unsigned long | fcount = 0 )

constructor, use a given DcmObject

Parameters

  object | pointer to DICOM data structures (fileformat, dataset or item)
  xfer | transfer syntax of the 'object'. (could also be EXS_Unknown in case of fileformat or dataset)
  flags | configuration flags (only stored for later use)
  fstart | first frame to be processed (only stored for later use)
  fcount | number of frames (only stored for later use)

## Member Function Documentation

## ◆ getDataset()

DcmDataset * DiDocument::getDataset | ( |  | ) | const
| inline

get current DICOM dataset

Returns
  pointer to DICOM dataset

References Object.

Referenced by DiInputPixelTemplate< T1, T2 >::convert().

## ◆ getDicomObject()

DcmObject * DiDocument::getDicomObject | ( |  | ) | const
| inline

get current DICOM object (dataset)

Returns
  pointer to DICOM object

References Object.

## ◆ getElemValue() [1/4]

static unsigned long DiDocument::getElemValue | ( | const DcmElement * | elem,
|  | const char *& | returnVal )
| static

get value of given element (const char *)

Parameters

  elem | element where the value is stored
  returnVal | reference to the storage area for the resulting value

Returns
  VM if successful, 0 otherwise

## ◆ getElemValue() [2/4]

static unsigned long DiDocument::getElemValue | ( | const DcmElement * | elem,
|  | const Uint16 *& | returnVal )
| static

get value of given element (Uint16 array)

Parameters

  elem | element where the value is stored
  returnVal | reference to the storage area for the resulting value

Returns
  VM / number of values if successful, 0 otherwise

## ◆ getElemValue() [3/4]

static unsigned long DiDocument::getElemValue | ( | const DcmElement * | elem,
|  | OFString & | returnVal,
|  | const unsigned long | pos = 0 )
| static

get value of given element (OFString)

Parameters

  elem | element where the value is stored
  returnVal | reference to the storage area for the resulting value
  pos | position in multi-valued elements (starting with 0)

Returns
  VM if successful, 0 otherwise

## ◆ getElemValue() [4/4]

static unsigned long DiDocument::getElemValue | ( | const DcmElement * | elem,
|  | Uint16 & | returnVal,
|  | const unsigned long | pos = 0,
|  | const OFBool | allowSigned = OFFalse )
| static

get value of given element (Uint16)

Parameters

  elem | element where the value is stored
  returnVal | reference to the storage area for the resulting value
  pos | position in multi-valued elements (starting with 0)
  allowSigned | also allow signed value (Sint16) if true

Returns
  VM if successful, 0 otherwise

## ◆ getFlags()

unsigned long DiDocument::getFlags | ( |  | ) | const
| inline

get configuration flags

Returns
  configuration flags

References Flags.

Referenced by DiInputPixelTemplate< T1, T2 >::convert().

## ◆ getFrameCount()

unsigned long DiDocument::getFrameCount | ( |  | ) | const
| inline

get number of frames to be processed

Returns
  number of frames to be processed

References FrameCount.

## ◆ getFrameStart()

unsigned long DiDocument::getFrameStart | ( |  | ) | const
| inline

get first frame to be processed

Returns
  first frame to be processed

References FrameStart.

## ◆ getPhotometricInterpretation()

const char * DiDocument::getPhotometricInterpretation | ( |  | ) | const
| inline

get photometric interpretation (color model).

Please note that this is the color model of the decompressed image which might deviate from the color model of the original compressed image.

Returns
  photometric interpretation of the DICOM object

References PhotometricInterpretation.

Referenced by DiInputPixelTemplate< T1, T2 >::convert().

## ◆ getPixelData()

DcmPixelData * DiDocument::getPixelData | ( |  | ) | const
| inline

get pixel data object

Returns
  reference to pixel data object (might be NULL)

References PixelData.

Referenced by DiInputPixelTemplate< T1, T2 >::DiInputPixelTemplate(), and DiInputPixelTemplate< T1, T2 >::convert().

## ◆ getSequence()

unsigned long DiDocument::getSequence | ( | const DcmTagKey & | tag,
|  | DcmSequenceOfItems *& | seq,
|  | DcmItem * | item = NULL ) const

get sequence of given tag

Parameters

  tag | tag to search for
  seq | reference to the storage area for the resulting value
  item | pointer to item in dataset where to start (default: main dataset)

Returns
  cardinality if successful, 0 otherwise

## ◆ getTransferSyntax()

E_TransferSyntax DiDocument::getTransferSyntax | ( |  | ) | const
| inline

get transfer syntax of the DICOM dataset

Returns
  transfer syntax

References Xfer.

## ◆ getValue() [1/8]

unsigned long DiDocument::getValue | ( | const DcmTagKey & | tag,
|  | const char *& | returnVal,
|  | DcmItem * | item = NULL ) const

get value of given tag (const char *)

Parameters

  tag | tag to search for
  returnVal | reference to the storage area for the resulting value
  item | pointer to item in dataset where to start (default: main dataset)

Returns
  VM if successful, 0 otherwise

## ◆ getValue() [2/8]

unsigned long DiDocument::getValue | ( | const DcmTagKey & | tag,
|  | const Uint16 *& | returnVal,
|  | DcmItem * | item = NULL ) const

get value of given tag (Uint16 array)

Parameters

  tag | tag to search for
  returnVal | reference to the storage area for the resulting value
  item | pointer to item in dataset where to start (default: main dataset)

Returns
  VM / number of values if successful, 0 otherwise

## ◆ getValue() [3/8]

unsigned long DiDocument::getValue | ( | const DcmTagKey & | tag,
|  | double & | returnVal,
|  | const unsigned long | pos = 0,
|  | DcmItem * | item = NULL ) const

get value of given tag (double)

Parameters

  tag | tag to search for
  returnVal | reference to the storage area for the resulting value
  pos | position in multi-valued elements (starting with 0)
  item | pointer to item in dataset where to start (default: main dataset)

Returns
  VM if successful, 0 otherwise

## ◆ getValue() [4/8]

unsigned long DiDocument::getValue | ( | const DcmTagKey & | tag,
|  | OFString & | returnVal,
|  | const unsigned long | pos = 0,
|  | DcmItem * | item = NULL ) const

get value of given tag (OFString)

Parameters

  tag | tag to search for
  returnVal | reference to the storage area for the resulting value
  pos | position in multi-valued elements (starting with 0)
  item | pointer to item in dataset where to start (default: main dataset)

Returns
  VM if successful, 0 otherwise

## ◆ getValue() [5/8]

unsigned long DiDocument::getValue | ( | const DcmTagKey & | tag,
|  | Sint16 & | returnVal,
|  | const unsigned long | pos = 0,
|  | DcmItem * | item = NULL ) const

get value of given tag (Sint16)

Parameters

  tag | tag to search for
  returnVal | reference to the storage area for the resulting value
  pos | position in multi-valued elements (starting with 0)
  item | pointer to item in dataset where to start (default: main dataset)

Returns
  VM if successful, 0 otherwise

## ◆ getValue() [6/8]

unsigned long DiDocument::getValue | ( | const DcmTagKey & | tag,
|  | Sint32 & | returnVal,
|  | const unsigned long | pos = 0,
|  | DcmItem * | item = NULL ) const

get value of given tag (Sint32)

Parameters

  tag | tag to search for
  returnVal | reference to the storage area for the resulting value
  pos | position in multi-valued elements (starting with 0)
  item | pointer to item in dataset where to start (default: main dataset)

Returns
  VM if successful, 0 otherwise

## ◆ getValue() [7/8]

unsigned long DiDocument::getValue | ( | const DcmTagKey & | tag,
|  | Uint16 & | returnVal,
|  | const unsigned long | pos = 0,
|  | DcmItem * | item = NULL,
|  | const OFBool | allowSigned = OFFalse ) const

get value of given tag (Uint16)

Parameters

  tag | tag to search for
  returnVal | reference to the storage area for the resulting value
  pos | position in multi-valued elements (starting with 0)
  item | pointer to item in dataset where to start (default: main dataset)
  allowSigned | also allow signed value (Sint16) if true

Returns
  VM if successful, 0 otherwise

## ◆ getValue() [8/8]

unsigned long DiDocument::getValue | ( | const DcmTagKey & | tag,
|  | Uint32 & | returnVal,
|  | const unsigned long | pos = 0,
|  | DcmItem * | item = NULL ) const

get value of given tag (Uint32)

Parameters

  tag | tag to search for
  returnVal | reference to the storage area for the resulting value
  pos | position in multi-valued elements (starting with 0)
  item | pointer to item in dataset where to start (default: main dataset)

Returns
  VM if successful, 0 otherwise

## ◆ getVM()

unsigned long DiDocument::getVM | ( | const DcmTagKey & | tag | ) | const

get value multiplicity (VM) of given tag

Parameters

  tag | tag to be searched

Returns
  VM if successful, 0 otherwise

## ◆ good()

int DiDocument::good | ( |  | ) | const
| inline

check whether current document is valid

Returns
  status, true if successful, false otherwise

References Object.

## ◆ isCompressed()

OFBool DiDocument::isCompressed | ( |  | ) | const
| inline

check whether pixel data only exist in compressed format

Returns
  true if pixel data is compressed, false if an uncompressed version exists

References DcmXfer::isPixelDataCompressed(), and Xfer.

## ◆ search() [1/2]

DcmElement * DiDocument::search | ( | const DcmTagKey & | tag,
|  | DcmObject * | obj = NULL ) const

search for given tag

Parameters

  tag | tag to search for
  obj | element in the dataset where the search should start (default: root)

Returns
  pointer to element if successful, NULL otherwise

## ◆ search() [2/2]

int DiDocument::search | ( | const DcmTagKey & | tag,
|  | DcmStack & | stack ) const

search for given tag and put result(s) on a stack

Parameters

  tag | tag to search for
  stack | stack where the result(s) should be stored

Returns
  status, true if successful, false otherwise

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

- dcmimgle/include/dcmtk/dcmimgle/didocu.h

Generated on Sat Mar 1 2025 for DCMTK Version 3.6.9 by Doxygen 1.13.2