STIR 6.4.0
MedianArrayFilter3D.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_MedianArrayFilter3D_H__
23#define __stir_MedianArrayFilter3D_H__
24
26
27START_NAMESPACE_STIR
28
29template <typename coordT>
30class Coordinate3D;
31
52template <typename elemT>
53class MedianArrayFilter3D : public ArrayFunctionObject_2ArgumentImplementation<3, elemT>
54{
55public:
56 explicit MedianArrayFilter3D(const Coordinate3D<int>& mask_radius);
57 MedianArrayFilter3D();
58 bool is_trivial() const override;
59
60private:
61 int mask_radius_x;
62 int mask_radius_y;
63 int mask_radius_z;
64
65 void do_it(Array<3, elemT>& out_array, const Array<3, elemT>& in_array) const override;
66
68
70 int extract_neighbours(Array<1, elemT>&, const Array<3, elemT>& array, const Coordinate3D<int>&) const;
71};
72
73END_NAMESPACE_STIR
74
75#endif
Declaration of class stir::ArrayFunctionObject_2ArgumentImplementation.
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 3-dimensional coordinates.
Definition Coordinate3D.h:43
bool is_trivial() const override
Should return true when the operations won't modify the object at all.
Definition MedianArrayFilter3D.cxx:114