STIR 6.4.0
SeparableGaussianImageFilter.h
Go to the documentation of this file.
1
12/*
13 Copyright (C) 2000- 2007, Hammersmith Imanet
14 Copyright (C) 2018, UCL
15 See STIR/LICENSE.txt for details
16*/
17
18#ifndef __stir_SeparableGaussianImageFilter_H__
19#define __stir_SeparableGaussianImageFilter_H__
20
23#include "stir/DataProcessor.h"
25
26START_NAMESPACE_STIR
27
28// TODO!! remove define
29
30#define num_dimensions 3
31
49
50template <typename elemT>
51class SeparableGaussianImageFilter : public RegisteredParsingObject<SeparableGaussianImageFilter<elemT>,
52 DataProcessor<DiscretisedDensity<num_dimensions, elemT>>,
53 DataProcessor<DiscretisedDensity<num_dimensions, elemT>>>
54{
55private:
59 base_type;
60
61public:
62 static const char* const registered_name;
63
66
68 BasicCoordinate<num_dimensions, int> get_max_kernel_sizes();
69 bool get_normalised_filter();
70
71 void set_fwhms(const BasicCoordinate<num_dimensions, float>&);
72 void set_max_kernel_sizes(const BasicCoordinate<num_dimensions, int>&);
73 void set_normalise(const bool);
74
75private:
77
78protected:
80 bool normalise;
81
83
84 void set_defaults() override;
85 void initialise_keymap() override;
86
87 // virtual bool post_processing();
88
89 Succeeded virtual_set_up(const DiscretisedDensity<num_dimensions, elemT>& image) override;
90 // new
91 void virtual_apply(DiscretisedDensity<num_dimensions, elemT>& out_density,
92 const DiscretisedDensity<num_dimensions, elemT>& in_density) const override;
93 void virtual_apply(DiscretisedDensity<num_dimensions, elemT>& density) const override;
94};
95
96#undef num_dimensions
97
98END_NAMESPACE_STIR
99
100#endif
Declaration of class stir::DataProcessor.
defines the stir::DiscretisedDensity class
Declaration of class stir::RegisteredParsingObject.
class BasicCoordinate<int num_dimensions, typename coordT> defines num_dimensions -dimensional coordi...
Definition BasicCoordinate.h:57
Base class that defines an interface for classes that do data processing.
Definition DataProcessor.h:47
This abstract class is the basis for all image representations.
Definition DiscretisedDensity.h:99
Parent class for all leaves in a RegisteredObject hierarchy that do parsing of parameter files.
Definition RegisteredParsingObject.h:78
Separable Gaussian filtering in n - dimensions.
Definition SeparableGaussianArrayFilter.h:48
void set_defaults() override
Set defaults before parsing.
Definition SeparableGaussianImageFilter.cxx:102
SeparableGaussianImageFilter()
Default constructor.
Definition SeparableGaussianImageFilter.cxx:72
void initialise_keymap() override
Initialise all keywords.
Definition SeparableGaussianImageFilter.cxx:112
a class containing an enumeration type that can be used by functions to signal successful operation o...
Definition Succeeded.h:44
Declaration of class stir::SeparableGaussianArrayFilter.