gdcmFileDerivation.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program: GDCM (Grassroots DICOM). A DICOM library
00004   Module:  $URL$
00005 
00006   Copyright (c) 2006-2009 Mathieu Malaterre
00007   All rights reserved.
00008   See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
00013 
00014 =========================================================================*/
00015 #ifndef __gdcmFileDerivation_h
00016 #define __gdcmFileDerivation_h
00017 
00018 #include "gdcmFile.h"
00019 
00020 namespace gdcm
00021 {
00022 
00023 class FileDerivationInternals;
00024 class DataSet;
00035 class GDCM_EXPORT FileDerivation
00036 {
00037 public:
00038   FileDerivation();
00039   ~FileDerivation();
00040 
00041   bool AddReference(const char *referencedsopclassuid, const char *referencedsopinstanceuid);
00042 
00043   void SetDerivationCodeSequenceCodeValue(unsigned int codevalue);
00044   void SetPurposeOfReferenceCodeSequenceCodeValue(unsigned int codevalue);
00045   void SetDerivationDescription( const char *dd );
00046 
00048   bool Derive();
00049 
00051   void SetFile(const File& f) { F = f; }
00052   File &GetFile() { return *F; }
00053   const File &GetFile() const { return *F; }
00054 
00055 protected:
00056   bool AddDerivationDescription();
00057   bool AddSourceImageSequence();
00058   bool AddPurposeOfReferenceCodeSequence(DataSet &ds);
00059 
00060 private:
00061   SmartPointer<File> F;
00062   FileDerivationInternals *Internals;
00063 };
00064 
00072 } // end namespace gdcm
00073 
00074 #endif //__gdcmFileDerivation_h
00075 

Generated on Sun Mar 7 03:17:20 2010 for GDCM by doxygen 1.6.3
SourceForge.net Logo