DCMTK
Version 3.6.1 20120515
OFFIS DICOM Toolkit
|
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 char *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 char * | 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 | |
Protected Member Functions | |
OFCondition | createNewElements (const char *fileSetID) |
DcmDataset & | getDataset (void) |
DcmSequenceOfItems & | getDirRecSeq (DcmDataset &dset) |
DcmUnsignedLongOffset * | lookForOffsetElem (DcmObject *obj, const DcmTagKey &offsetTag) |
DcmDirectoryRecord * | recurseMatchFile (DcmDirectoryRecord *startRec, const char *filename) |
DcmDirectoryRecord * | searchMatchFile (DcmSequenceOfItems &recSeq, const char *filename) |
OFCondition | resolveGivenOffsets (DcmObject *startPoint, const OFMap< Uint32, DcmDirectoryRecord * > &itOffsets, const DcmTagKey &offsetTag) |
OFCondition | resolveAllOffsets (DcmDataset &dset) |
OFCondition | linkMRDRtoRecord (DcmDirectoryRecord *dRec) |
OFCondition | moveRecordToTree (DcmDirectoryRecord *startRec, DcmSequenceOfItems &fromDirSQ, DcmDirectoryRecord *toRecord) |
OFCondition | moveMRDRbetweenSQs (DcmSequenceOfItems &fromSQ, DcmSequenceOfItems &toDirSQ) |
Uint32 | lengthUntilSQ (DcmDataset &dset, E_TransferSyntax oxfer, E_EncodingType enctype) |
Uint32 | lengthOfRecord (DcmItem *item, E_TransferSyntax oxfer, E_EncodingType enctype) |
OFCondition | convertGivenPointer (DcmObject *startPoint, const DcmTagKey &offsetTag) |
OFCondition | convertAllPointer (DcmDataset &dset, Uint32 beginOfFileSet, E_TransferSyntax oxfer, E_EncodingType enctype) |
OFCondition | copyRecordPtrToSQ (DcmDirectoryRecord *record, DcmSequenceOfItems &toDirSQ, DcmDirectoryRecord **firstRec, DcmDirectoryRecord **lastRec) |
OFCondition | insertMediaSOPUID (DcmMetaInfo &metaInfo) |
OFCondition | countMRDRRefs (DcmDirectoryRecord *startRec, ItemOffset *refCounter, const unsigned long numCounters) |
OFCondition | checkMRDRRefCounter (DcmDirectoryRecord *startRec, ItemOffset *refCounter, const unsigned long numCounters) |
OFCondition | convertLinearToTree () |
OFCondition | convertTreeToLinear (Uint32 beginOfFileSet, E_TransferSyntax oxfer, E_EncodingType enctype, E_GrpLenEncoding glenc, DcmSequenceOfItems &unresRecs) |
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 | |
char * | 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 |
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.
DcmDicomDir::DcmDicomDir | ( | const char * | fileName, |
const char * | fileSetID = NULL |
||
) |
constructor
fileName | filename to read a DICOMDIR from. If NULL, an attempt is made to read file DEFAULT_DICOMDIR_NAME ("DICOMDIR"). |
fileSetID | file set ID of this file set, used only for new DICOMDIRs |
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
virtual const char* DcmDicomDir::getDirFileName | ( | ) | [virtual] |
returns file name from which DICOMDIR was read.
virtual DcmDirectoryRecord* DcmDicomDir::matchFilename | ( | const char * | filename | ) | [virtual] |
look up directory record for the given referenced file ID (not OS file path)
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.
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
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 |
virtual OFCondition DcmDicomDir::verify | ( | OFBool | autocorrect = OFFalse | ) | [virtual] |
check the currently stored element value
autocorrect | correct value length if OFTrue |
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
oxfer | must be DICOMDIR_DEFAULT_TRANSFERSYNTAX |
enctype | encoding type for sequences |
glenc | encoding type for group lengths |
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