STIR  6.2.0
DAVImageFilter3D.h
Go to the documentation of this file.
1 //
2 //
3 /*
4  Copyright (C) 2000- 2007, Hammersmith Imanet Ltd
5  This file is part of STIR.
6 
7  SPDX-License-Identifier: Apache-2.0
8 
9  See STIR/LICENSE.txt for details
10 */
22 #ifndef __stir_DAVImageFilter3D_H__
23 #define __stir_DAVImageFilter3D_H__
24 
25 #include "stir/DataProcessor.h"
28 
30 
31 START_NAMESPACE_STIR
32 
33 template <typename coordT>
34 class CartesianCoordinate3D;
35 
36 template <typename elemT>
37 class DAVImageFilter3D : public RegisteredParsingObject<DAVImageFilter3D<elemT>,
38  DataProcessor<DiscretisedDensity<3, elemT>>,
39  DataProcessor<DiscretisedDensity<3, elemT>>>
40 
41 {
42 public:
43  static const char* const registered_name;
44 
45  DAVImageFilter3D();
46 
47  DAVImageFilter3D(const CartesianCoordinate3D<int>& mask_radius);
48 
49 private:
50  DAVArrayFilter3D<elemT> dav_filter;
51  int mask_radius_x;
52  int mask_radius_y;
53  int mask_radius_z;
54 
55  virtual void set_defaults();
56  virtual void initialise_keymap();
57 
58  Succeeded virtual_set_up(const DiscretisedDensity<3, elemT>& density);
59  void virtual_apply(DiscretisedDensity<3, elemT>& density, const DiscretisedDensity<3, elemT>& in_density) const;
60  void virtual_apply(DiscretisedDensity<3, elemT>& density) const;
61 };
62 
63 END_NAMESPACE_STIR
64 
65 #endif // DAVImageFilter3D
Declaration of class stir::DataProcessor.
defines the stir::DiscretisedDensity class
Declaration of class stir::RegisteredParsingObject.