18 #ifndef __stir_ArrayFilter3DUsingConvolution_H__ 19 #define __stir_ArrayFilter3DUsingConvolution_H__ 26 template <
typename elemT>
27 class VectorWithOffset;
29 template <
typename elemT>
30 class ArrayFilter3DUsingConvolution :
public ArrayFunctionObject_2ArgumentImplementation<3, elemT>
37 ArrayFilter3DUsingConvolution();
39 ArrayFilter3DUsingConvolution(
const Array<3, float>& filter_kernel);
41 bool is_trivial()
const override;
43 virtual Succeeded get_influencing_indices(IndexRange<1>& influencing_indices,
const IndexRange<1>& output_indices)
const;
45 virtual Succeeded get_influenced_indices(IndexRange<1>& influenced_indices,
const IndexRange<1>& input_indices)
const;
48 Array<3, float> filter_coefficients;
49 void do_it(Array<3, elemT>& out_array,
const Array<3, elemT>& in_array)
const override;
50 void do_it_2d(Array<2, elemT>& out_array,
const Array<2, elemT>& in_array)
const;
55 #endif // ArrayFilter3DUsingConvolution Declaration of class stir::ArrayFunctionObject_2ArgumentImplementation.