CTL  0.6.1
Computed Tomography Library
filter.h
Go to the documentation of this file.
1 #ifndef CTL_FILTER_H
2 #define CTL_FILTER_H
3 
4 typedef unsigned int uint;
5 
6 namespace CTL {
7 
8 template <typename T>
9 class Chunk2D;
10 template <typename T>
11 class VoxelVolume;
12 
13 namespace imgproc {
14 
15 enum FiltMethod {
16  None, // filter size: 0
17  Gauss3, // filter size: 3
18  Gauss5, // filter size: 5
19  Gauss7, // filter size: 7
20  Average3, // filter size: 3
21  Median3, // filter size: 3
22  MedianAbs3, // filter size: 3
23  MaxAbs3, // filter size: 3
24  RamLak, // filter size: 1407
25 };
26 
27 // one-dimensional filter
28 template <uint dim>
29 void filter(Chunk2D<float>& image, FiltMethod m);
30 template <uint dim>
31 void filter(Chunk2D<double>& image, FiltMethod m);
32 
33 template <uint dim>
34 void filter(VoxelVolume<float>& volume, FiltMethod m);
35 template <uint dim>
36 void filter(VoxelVolume<double>& volume, FiltMethod m);
37 
38 // three-dimensional filter
39 void median3(VoxelVolume<float>& volume);
40 void median3NN(VoxelVolume<float>& volume);
41 
42 // available specializations (explicit instantiation declaration)
43 extern template void filter<0u>(VoxelVolume<float>& volume, FiltMethod m);
44 extern template void filter<1u>(VoxelVolume<float>& volume, FiltMethod m);
45 extern template void filter<2u>(VoxelVolume<float>& volume, FiltMethod m);
46 extern template void filter<0u>(VoxelVolume<double>& volume, FiltMethod m);
47 extern template void filter<1u>(VoxelVolume<double>& volume, FiltMethod m);
48 extern template void filter<2u>(VoxelVolume<double>& volume, FiltMethod m);
49 
50 extern template void filter<0u>(Chunk2D<float>& image, FiltMethod m);
51 extern template void filter<1u>(Chunk2D<float>& image, FiltMethod m);
52 extern template void filter<0u>(Chunk2D<double>& image, FiltMethod m);
53 extern template void filter<1u>(Chunk2D<double>& image, FiltMethod m);
54 
55 } // namespace imgproc
56 } // namespace CTL
57 
59 
62 
63 #endif // CTL_FILTER_H
Definition: filter.h:22
Definition: filter.h:23
unsigned int uint
Alias for unsigned int.
Definition: filter.h:4
Definition: filter.h:20
Definition: filter.h:16
FiltMethod
Definition: filter.h:15
Definition: filter.h:17
Definition: filter.h:21
Definition: filter.h:18
Definition: filter.h:19