GDCM 3.0.24
gdcmDICOMDIRGenerator.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: GDCM (Grassroots DICOM). A DICOM library
4
5 Copyright (c) 2006-2011 Mathieu Malaterre
6 All rights reserved.
7 See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html for details.
8
9 This software is distributed WITHOUT ANY WARRANTY; without even
10 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11 PURPOSE. See the above copyright notice for more information.
12
13=========================================================================*/
14#ifndef GDCMDICOMDIRGENERATOR_H
15#define GDCMDICOMDIRGENERATOR_H
16
17#include "gdcmDirectory.h"
18#include "gdcmTag.h"
19#include <utility> // std::pair
20
21namespace gdcm
22{
23class File;
24class Scanner;
25class SequenceOfItems;
26class VL;
27class DICOMDIRGeneratorInternal;
28
57{
58public:
63
65 void SetFilenames( FilenamesType const & fns );
66
68 void SetRootDirectory( FilenameType const & root );
69
72 void SetDescriptor( const char *d );
73
75 bool Generate();
76
78 void SetFile(const File& f);
80
81protected:
87
88private:
89 const char *ComputeFileID(const char *);
90 bool TraverseDirectoryRecords(VL start );
91 bool ComputeDirectoryRecordsOffset(const SequenceOfItems *sqi, VL start);
92 size_t FindNextDirectoryRecord( size_t item1, const char *directorytype );
93 SequenceOfItems *GetDirectoryRecordSequence();
94 size_t FindLowerLevelDirectoryRecord( size_t item1, const char *directorytype );
95 typedef std::pair< std::string, Tag> MyPair;
96 MyPair GetReferenceValueForDirectoryType(size_t item);
97 bool SeriesBelongToStudy(const char *seriesuid, const char *studyuid);
98 bool ImageBelongToSeries(const char *sopuid, const char *seriesuid, Tag const &t1, Tag const &t2);
99 bool ImageBelongToSameSeries(const char *sopuid, const char *seriesuid, Tag const &t);
100
101 DICOMDIRGeneratorInternal * Internals;
102};
103
109} // end namespace gdcm
110
111#endif //GDCMDICOMDIRGENERATOR_H
DICOMDIRGenerator class.
Definition gdcmDICOMDIRGenerator.h:57
Directory::FilenamesType FilenamesType
Definition gdcmDICOMDIRGenerator.h:59
bool Generate()
Main function to generate the DICOMDIR.
void SetRootDirectory(FilenameType const &root)
Set the root directory from which the filenames should be considered.
void SetFile(const File &f)
Set/Get file. The DICOMDIR file will be valid once a call to Generate has been done.
void SetDescriptor(const char *d)
void SetFilenames(FilenamesType const &fns)
Set the list of filenames from which the DICOMDIR should be generated from.
Directory::FilenameType FilenameType
Definition gdcmDICOMDIRGenerator.h:60
std::vector< FilenameType > FilenamesType
Definition gdcmDirectory.h:49
std::string FilenameType
Definition gdcmDirectory.h:48
a DICOM File
Definition gdcmFile.h:34
Scanner.
Definition gdcmScanner.h:56
Class to represent a Sequence Of Items.
Definition gdcmSequenceOfItems.h:40
Class to represent a DICOM Data Element (Attribute) Tag (Group, Element).
Definition gdcmTag.h:39
Value Length.
Definition gdcmVL.h:30
#define GDCM_EXPORT
Definition gdcmWin32.h:34
Definition gdcmASN1.h:21