GDCM  2.2.0
gdcmFileDerivation.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program: GDCM (Grassroots DICOM). A DICOM library
00004 
00005   Copyright (c) 2006-2011 Mathieu Malaterre
00006   All rights reserved.
00007   See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html for details.
00008 
00009      This software is distributed WITHOUT ANY WARRANTY; without even
00010      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00011      PURPOSE.  See the above copyright notice for more information.
00012 
00013 =========================================================================*/
00014 #ifndef GDCMFILEDERIVATION_H
00015 #define GDCMFILEDERIVATION_H
00016 
00017 #include "gdcmFile.h"
00018 
00019 namespace gdcm
00020 {
00021 
00022 class FileDerivationInternals;
00023 class DataSet;
00039 class GDCM_EXPORT FileDerivation
00040 {
00041 public:
00042   FileDerivation();
00043   ~FileDerivation();
00044 
00049   bool AddReference(const char *referencedsopclassuid, const char *referencedsopinstanceuid);
00050 
00051   // CID 7202 Source Image Purposes of Reference
00052   // {"DCM",121320,"Uncompressed predecessor"},
00053 
00055   void SetPurposeOfReferenceCodeSequenceCodeValue(unsigned int codevalue);
00056 
00057   // CID 7203 Image Derivation
00058   // { "DCM",113040,"Lossy Compression" },
00059 
00061   void SetDerivationCodeSequenceCodeValue(unsigned int codevalue);
00062 
00064   void SetDerivationDescription( const char *dd );
00065 
00067   bool Derive();
00068 
00070   void SetFile(const File& f) { F = f; }
00071   File &GetFile() { return *F; }
00072   const File &GetFile() const { return *F; }
00073 
00074 protected:
00075   bool AddDerivationDescription();
00076   bool AddSourceImageSequence();
00077   bool AddPurposeOfReferenceCodeSequence(DataSet &ds);
00078 
00079 private:
00080   SmartPointer<File> F;
00081   FileDerivationInternals *Internals;
00082 };
00083 
00091 } // end namespace gdcm
00092 
00093 #endif //GDCMFILEDERIVATION_H

Generated on Tue Mar 27 2012 18:19:32 for GDCM by doxygen 1.8.0
SourceForge.net Logo