STIR  6.2.0
ModifiedInverseAverigingArrayFilter.h
Go to the documentation of this file.
1 //
2 // $Id:
3 //
21 /*
22  Copyright (C) 2000- 2001, IRSL
23  SPDX-License-Identifier: Apache-2.0
24  See STIR/LICENSE.txt for details
25 */
26 
27 #ifndef __stir_ModifiedInverseAverigingArrayFilter_H__
28 #define __stir_ModifiedInverseAverigingArrayFilter_H__
29 
33 #include "stir/Array.h"
34 #include "stir/IndexRange.h"
35 
36 START_NAMESPACE_STIR
37 
38 class FFT_routines
39 {
40 public:
41  void find_fft_filter(Array<1, float>& filter_coefficients);
42  void find_fft_unity(Array<1, float>& unity);
43 
44 private:
45  Array<1, float> filter_coefficients;
46  Array<1, float> unity;
47 };
48 
49 template <int num_dimensions, typename elemT>
50 class ModifiedInverseAverigingArrayFilter : public SeparableLowPassArrayFilter2<num_dimensions, elemT>
51 // public SeparableArrayFunctionObject <num_dimensions,elemT>
52 {
53 public:
55  ModifiedInverseAverigingArrayFilter();
56 
57  // ModifiedInverseAverigingArrayFilter(const float kapa0_over_kapa1);
58 
59  ModifiedInverseAverigingArrayFilter(const VectorWithOffset<elemT>& filter_coefficients, const float kapa0_over_kapa1);
60 
61  // temporary (?) member
62  IndexRange<num_dimensions> get_kernel_index_range() const { return kernel_index_range; }
63 
64 private:
65  VectorWithOffset<float> filter_coefficients;
66  IndexRange<num_dimensions> kernel_index_range;
67  float kapa0_over_kapa1;
68 };
69 
70 END_NAMESPACE_STIR
71 
72 #endif
Declaration of class stir::SeparableArrayFunctionObject.
defines the stir::DiscretisedDensity class
defines the Array class for multi-dimensional (numeric) arrays
This file defines the stir::IndexRange class.