STIR 6.4.0
ArrayFilter1DUsingConvolutionSymmetricKernel.h
Go to the documentation of this file.
1//
2//
13/*
14 Copyright (C) 2000- 2009, Hammersmith Imanet Ltd
15 This file is part of STIR.
16
17 SPDX-License-Identifier: Apache-2.0
18
19 See STIR/LICENSE.txt for details
20*/
21
22#ifndef __stir_ArrayFilter1DUsingConvolutionSymmetricKernel_H__
23#define __stir_ArrayFilter1DUsingConvolutionSymmetricKernel_H__
24
26
27START_NAMESPACE_STIR
28
29template <typename elemT>
30class VectorWithOffset;
31
46template <typename elemT>
48{
49public:
51
60
63 bool is_trivial() const override;
64
65private:
66 VectorWithOffset<elemT> filter_coefficients;
67 void do_it(Array<1, elemT>& out_array, const Array<1, elemT>& in_array) const override;
68};
69
70END_NAMESPACE_STIR
71
72#endif // ArrayFilter1DUsingConvolutionSymmetricKernel
Declaration of class stir::ArrayFunctionObject_2ArgumentImplementation.
ArrayFilter1DUsingConvolutionSymmetricKernel(const VectorWithOffset< elemT > &filter_kernel)
Construct the filter given the kernel coefficients.
Definition ArrayFilter1DUsingConvolutionSymmetricKernel.cxx:31
bool is_trivial() const override
checks if the kernel corresponds to a trivial filter operation
Definition ArrayFilter1DUsingConvolutionSymmetricKernel.cxx:42
A convenience class for children of ArrayFunctionObject. It implements the in-place operator() in ter...
Definition ArrayFunctionObject_2ArgumentImplementation.h:42
This class defines multi-dimensional (numeric) arrays.
Definition Array.h:78
A templated class for vectors, but with indices starting not from 0.
Definition VectorWithOffset.h:65