GDCM  2.2.0
gdcmFileExplicitFilter.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 GDCMFILEEXPLICITFILTER_H
00015 #define GDCMFILEEXPLICITFILTER_H
00016 
00017 #include "gdcmFile.h"
00018 
00019 namespace gdcm
00020 {
00021 class Dicts;
00022 
00038 class GDCM_EXPORT FileExplicitFilter
00039 {
00040 public:
00041   FileExplicitFilter():F(new File),ChangePrivateTags(false),UseVRUN(true),RecomputeItemLength(false),RecomputeSequenceLength(false) {}
00042   ~FileExplicitFilter() {}
00043 
00045   void SetChangePrivateTags(bool b) { ChangePrivateTags = b;}
00046 
00048   void SetUseVRUN(bool b) { UseVRUN = b; }
00049 
00051   void SetRecomputeItemLength(bool b);
00052   void SetRecomputeSequenceLength(bool b);
00053 
00055 
00057   bool Change();
00058 
00060   void SetFile(const File& f) { F = f; }
00061   File &GetFile() { return *F; }
00062 
00063 protected:
00064   bool ProcessDataSet(DataSet &ds, Dicts const & dicts);
00065   bool ChangeFMI();
00066 
00067 private:
00068   SmartPointer<File> F;
00069   bool ChangePrivateTags;
00070   bool UseVRUN;
00071   bool RecomputeItemLength;
00072   bool RecomputeSequenceLength;
00073 };
00074 
00075 
00076 } // end namespace gdcm
00077 
00078 #endif //GDCMFILEEXPLICITFILTER_H

Generated on Sun Jun 3 2012 15:26:47 for GDCM by doxygen 1.8.0
SourceForge.net Logo