DCMTK: DcmDicomDir Class Reference

DCMTK Version 3.6.9 OFFIS DICOM Toolkit

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

this class implements support for DICOMDIR files, which are special DICOM files containing a list of directory records, with a logical tree structure being implemented through references between records as byte offsets in file. More...

## Public Member Functions
| DcmDicomDir ()
| default constructor
| DcmDicomDir (const OFFilename &fileName, const char *fileSetID=NULL)
| constructor
virtual | ~DcmDicomDir ()
| destructor. If DICOMDIR was modified, writes new file.
virtual void | print (STD_NAMESPACE ostream &out, const size_t flags=0, const int level=0, const char *pixelFileName=NULL, size_t *pixelCounter=NULL)
| print all elements of the item to a stream
virtual OFCondition | error ()
| returns current status flag
virtual DcmFileFormat & | getDirFileFormat ()
| returns reference to DICOM file from which DICOMDIR was read.
virtual const OFFilename & | getDirFileName ()
| returns file name from which DICOMDIR was read.
virtual DcmDirectoryRecord & | getRootRecord ()
| returns root directory record
virtual DcmSequenceOfItems & | getMRDRSequence ()
| returns container in which all MRDR (multi-reference directory records) are stored
virtual DcmDirectoryRecord * | matchFilename (const char *filename)
| look up directory record for the given referenced file ID (not OS file path)
virtual DcmDirectoryRecord * | matchOrCreateMRDR (const char *filename)
| look up MRDR for the given referenced file ID (not OS file path).
virtual OFCondition | write (const E_TransferSyntax oxfer=DICOMDIR_DEFAULT_TRANSFERSYNTAX, const E_EncodingType enctype=EET_UndefinedLength, const E_GrpLenEncoding glenc=EGL_withoutGL)
| writes DICOMDIR to file
virtual OFCondition | verify (OFBool autocorrect=OFFalse)
| check the currently stored element value

## Private Member Functions
DcmDicomDir & | operator= (const DcmDicomDir &)
| private undefined copy assignment operator
| DcmDicomDir (const DcmDicomDir &newDir)
| private undefined copy constructor

## Private Attributes
OFCondition | errorFlag
| condition flag
OFFilename | dicomDirFileName
| file name the DICOMDIR was read from, or DEFAULT_DICOMDIR_NAME
OFBool | modified
| flag indicating whether or not this DICOMDIR has been modified after being read from file.
OFBool | mustCreateNewDir
| flag indicating whether the DICOM file in DirFile needs to be re-created upon writing
DcmFileFormat * | DirFile
| DICOM file into which a DICOMDIR is read first before the logical tree structure is created.
DcmDirectoryRecord * | RootRec
| root directory record of this DICOMDIR
DcmSequenceOfItems * | MRDRSeq
| container in which all MRDR (multi-reference directory records) for this DICOMDIR are kept

## Detailed Description

this class implements support for DICOMDIR files, which are special DICOM files containing a list of directory records, with a logical tree structure being implemented through references between records as byte offsets in file.

## Constructor & Destructor Documentation

## ◆ DcmDicomDir() [1/2]

DcmDicomDir::DcmDicomDir | ( | const OFFilename & | fileName,
|  | const char * | fileSetID = NULL )

constructor

Parameters

  fileName | filename to read a DICOMDIR from. If empty, an attempt is made to read file DEFAULT_DICOMDIR_NAME ("DICOMDIR").
  fileSetID | file set ID of this file set, used only for new DICOMDIRs

## ◆ DcmDicomDir() [2/2]

DcmDicomDir::DcmDicomDir | ( | const DcmDicomDir & | newDir | ) |
| private

private undefined copy constructor

Parameters

  newDir | documented to avoid doxygen warnings

References DcmDicomDir().

## Member Function Documentation

## ◆ getDirFileFormat()

virtual DcmFileFormat & DcmDicomDir::getDirFileFormat | ( |  | ) |
| virtual

returns reference to DICOM file from which DICOMDIR was read.

Note, this file may be obsolete if the DICOMDIR was modified

Returns
  reference to DICOM file

## ◆ getDirFileName()

virtual const OFFilename & DcmDicomDir::getDirFileName | ( |  | ) |
| virtual

returns file name from which DICOMDIR was read.

Returns
  filename of DICOMDIR

## ◆ matchFilename()

virtual DcmDirectoryRecord * DcmDicomDir::matchFilename | ( | const char * | filename | ) |
| virtual

look up directory record for the given referenced file ID (not OS file path)

Parameters

  filename | the file to take the id from

Returns
  directory record if found, NULL otherwise

## ◆ matchOrCreateMRDR()

virtual DcmDirectoryRecord * DcmDicomDir::matchOrCreateMRDR | ( | const char * | filename | ) |
| virtual

look up MRDR for the given referenced file ID (not OS file path).

If there is none yet, create one.

Parameters

  filename | the file to take the id from

Returns
  MRDR for given referenced file ID

## ◆ print()

virtual void DcmDicomDir::print | ( | STD_NAMESPACE ostream & | out,
|  | const size_t | flags = 0,
|  | const int | level = 0,
|  | const char * | pixelFileName = NULL,
|  | size_t * | pixelCounter = NULL )
| virtual

print all elements of the item to a stream

Parameters

  out | output stream
  flags | optional flag used to customize the output (see DCMTypes::PF_xxx)
  level | current level of nested items. Used for indentation.
  pixelFileName | not used
  pixelCounter | not used

## ◆ verify()

virtual OFCondition DcmDicomDir::verify | ( | OFBool | autocorrect = OFFalse | ) |
| virtual

check the currently stored element value

Parameters

  autocorrect | correct value length if OFTrue

Returns
  status, EC_Normal if value length is correct, an error code otherwise

## ◆ write()

virtual OFCondition DcmDicomDir::write | ( | const E_TransferSyntax | oxfer = DICOMDIR_DEFAULT_TRANSFERSYNTAX,
|  | const E_EncodingType | enctype = EET_UndefinedLength,
|  | const E_GrpLenEncoding | glenc = EGL_withoutGL )
| virtual

writes DICOMDIR to file

Parameters

  oxfer | must be DICOMDIR_DEFAULT_TRANSFERSYNTAX
  enctype | encoding type for sequences
  glenc | encoding type for group lengths

Returns
  status, EC_Normal if value length is correct, an error code otherwise

References EET_UndefinedLength, and EGL_withoutGL.

## Member Data Documentation

## ◆ modified

OFBool DcmDicomDir::modified
| private

flag indicating whether or not this DICOMDIR has been modified after being read from file.

If true, the destructor of this class will write the modified DICOMDIR back to file

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

- dcmdata/include/dcmtk/dcmdata/dcdicdir.h

Generated on Wed Apr 30 2025 for DCMTK Version 3.6.9 by Doxygen 1.13.2