STIR 6.4.0
SeparableCartesianMetzImageFilter.h
Go to the documentation of this file.
1//
2//
13/*
14 Copyright (C) 2000- 2009, Hammersmith Imanet
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_SeparableCartesianMetzImageFilter_H__
23#define __stir_SeparableCartesianMetzImageFilter_H__
24
27#include "stir/DataProcessor.h"
29
30START_NAMESPACE_STIR
31
32// TODO!! remove define
33
34#define num_dimensions 3
35
54
55template <typename elemT>
56class SeparableCartesianMetzImageFilter : public RegisteredParsingObject<SeparableCartesianMetzImageFilter<elemT>,
57 DataProcessor<DiscretisedDensity<3, elemT>>,
58 DataProcessor<DiscretisedDensity<3, elemT>>>
59{
60private:
64 base_type;
65
66public:
67 static const char* const registered_name;
68
71
72 // Construct metz filter given parameters
73 // SeparableCartesianMetzImageFilter(const double fwhm_x,const double fwhm_y, const double fwhm_z,const int metz_power_x,const
74 // int metz_power_y, const int metz_power_z);
75
76 // Succeeded consistency_check( const DiscretisedDensity<num_dimensions,elemT>& image) const;
77
78 VectorWithOffset<float> get_metz_fwhms() const;
79 VectorWithOffset<float> get_metz_powers() const;
81
83
84private:
86 VectorWithOffset<float> metz_powers;
87 VectorWithOffset<int> max_kernel_sizes;
88
90
91 void set_defaults() override;
92 void initialise_keymap() override;
93
94 Succeeded virtual_set_up(const DiscretisedDensity<num_dimensions, elemT>& image) override;
95 // new
96 void virtual_apply(DiscretisedDensity<num_dimensions, elemT>& out_density,
97 const DiscretisedDensity<num_dimensions, elemT>& in_density) const override;
98 void virtual_apply(DiscretisedDensity<num_dimensions, elemT>& density) const override;
99};
100
101#undef num_dimensions
102
103END_NAMESPACE_STIR
104
105#endif
Declaration of class stir::DataProcessor.
defines the stir::DiscretisedDensity class
Declaration of class stir::RegisteredParsingObject.
Declaration of class stir::SeparableMetzArrayFilter.
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
VectorWithOffset< int > get_max_kernel_sizes() const
Maximum number of elements in the kernels.
Definition SeparableCartesianMetzImageFilter.cxx:112
SeparableCartesianMetzImageFilter()
Default constructor.
Definition SeparableCartesianMetzImageFilter.cxx:88
Separable Metz filtering in n - dimensions.
Definition SeparableMetzArrayFilter.h:71
a class containing an enumeration type that can be used by functions to signal successful operation o...
Definition Succeeded.h:44
A templated class for vectors, but with indices starting not from 0.
Definition VectorWithOffset.h:65