GDCM
2.2.3
|
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 GDCMIPPSORTER_H 00015 #define GDCMIPPSORTER_H 00016 00017 #include "gdcmSorter.h" 00018 00019 #include <vector> 00020 #include <string> 00021 00022 namespace gdcm 00023 { 00042 class GDCM_EXPORT IPPSorter : public Sorter 00043 { 00044 public: 00045 IPPSorter(); 00046 ~IPPSorter(); 00047 00048 // FIXME: I do not like public virtual function... 00055 virtual bool Sort(std::vector<std::string> const & filenames); 00056 00064 void SetComputeZSpacing(bool b) { ComputeZSpacing = b; } 00068 void SetZSpacingTolerance(double tol) { ZTolerance = tol; } 00069 double GetZSpacingTolerance() const { return ZTolerance; } 00070 00080 void SetDirectionCosinesTolerance(double tol) { DirCosTolerance = tol; } 00081 double GetDirectionCosinesTolerance() const { return DirCosTolerance; } 00082 00089 double GetZSpacing() const { return ZSpacing; } 00090 00091 protected: 00092 bool ComputeZSpacing; 00093 double ZSpacing; 00094 double ZTolerance; 00095 double DirCosTolerance; 00096 00097 private: 00098 bool ComputeSpacing(std::vector<std::string> const & filenames); 00099 }; 00100 00101 00102 } // end namespace gdcm 00103 00104 #endif //GDCMIPPSORTER_H