GDCM 2.2.1

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

- File List
- File Members

gdcmIPPSorter.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 GDCMIPPSORTER_H
15 #define GDCMIPPSORTER_H
16
17 #include "gdcmSorter.h"
18
19 #include <vector>
20 #include <string>
21
22 namespace gdcm
23 {
43 class GDCM_EXPORT IPPSorter : public Sorter
44 {
45 public:
46 IPPSorter();
47 ~IPPSorter();
48
49 // FIXME: I do not like public virtual function...
56 virtual bool Sort(std::vector<std::string> const & filenames);
57
65 void SetComputeZSpacing(bool b) { ComputeZSpacing = b; }
69 void SetZSpacingTolerance(double tol) { ZTolerance = tol; }
70 double GetZSpacingTolerance() const { return ZTolerance; }
71
81 void SetDirectionCosinesTolerance(double tol) { DirCosTolerance = tol; }
82 double GetDirectionCosinesTolerance() const { return DirCosTolerance; }
83
90 double GetZSpacing() const { return ZSpacing; }
91
92 protected:
93 bool ComputeZSpacing;
94 double ZSpacing;
95 double ZTolerance;
96 double DirCosTolerance;
97
98 private:
99 bool ComputeSpacing(std::vector<std::string> const & filenames);
100 };
101
102
103 } // end namespace gdcm
104
105 #endif //GDCMIPPSORTER_H