STIR 6.4.0
DAVArrayFilter3D.h
Go to the documentation of this file.
1//
2//
17/*
18 Copyright (C) 2000- 2001, IRSL
19 SPDX-License-Identifier: Apache-2.0
20 See STIR/LICENSE.txt for details
21*/
22
23#ifndef __stir_DAVArrayFilter3D_H__
24#define __stir_DAVArrayFilter3D_H__
25
27
28START_NAMESPACE_STIR
29
30template <typename coordT>
31class Coordinate3D;
32
33template <typename elemT>
34class DAVArrayFilter3D : public ArrayFunctionObject_2ArgumentImplementation<3, elemT>
35{
36public:
37 DAVArrayFilter3D(const Coordinate3D<int>& mask_radius = Coordinate3D<int>());
38 bool is_trivial() const;
39
40private:
41 int mask_radius_x;
42 int mask_radius_y;
43 int mask_radius_z;
44
45 virtual void do_it(Array<3, elemT>& out_array, const Array<3, elemT>& in_array) const;
46
47 void extract_neighbours_and_average(elemT& out_elem, const Array<3, elemT>& in_array, const Coordinate3D<int>& c_pixel) const;
48};
49
50END_NAMESPACE_STIR
51
52#endif
Declaration of class stir::ArrayFunctionObject_2ArgumentImplementation.