GDCM 2.2.1

- Main Page
- Related Pages
- Namespaces
- Classes
- Files
- Examples

- File List
- File Members

gdcmFileDerivation.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 GDCMFILEDERIVATION_H
15 #define GDCMFILEDERIVATION_H
16
17 #include "gdcmFile.h"
18
19 namespace gdcm
20 {
21
22 class FileDerivationInternals;
23 class DataSet;
39 class GDCM_EXPORT FileDerivation
40 {
41 public:
42 FileDerivation();
43 ~FileDerivation();
44
49 bool AddReference(const char *referencedsopclassuid, const char *referencedsopinstanceuid);
50
51 // CID 7202 Source Image Purposes of Reference
52 // {"DCM",121320,"Uncompressed predecessor"},
53
55 void SetPurposeOfReferenceCodeSequenceCodeValue(unsigned int codevalue);
56
57 // CID 7203 Image Derivation
58 // { "DCM",113040,"Lossy Compression" },
59
61 void SetDerivationCodeSequenceCodeValue(unsigned int codevalue);
62
64 void SetDerivationDescription( const char *dd );
65
67 bool Derive();
68
70 void SetFile(const File& f) { F = f; }
71 File &GetFile() { return *F; }
72 const File &GetFile() const { return *F; }
73
74 protected:
75 bool AddDerivationDescription();
76 bool AddSourceImageSequence();
77 bool AddPurposeOfReferenceCodeSequence(DataSet &ds);
78
79 private:
80 SmartPointer<File> F;
81 FileDerivationInternals *Internals;
82 };
83
91 } // end namespace gdcm
92
93 #endif //GDCMFILEDERIVATION_H