STIR 6.4.0
WienerImageFilter2D.h
Go to the documentation of this file.
1//
2//
13/*
14 Copyright (C) 2024, University College London
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_WienerImageFilter2D_H__
23#define __stir_WienerImageFilter2D_H__
24
25#include "stir/DataProcessor.h"
29
30START_NAMESPACE_STIR
31
40template <typename elemT>
41class WienerImageFilter2D : public RegisteredParsingObject<WienerImageFilter2D<elemT>,
42 DataProcessor<DiscretisedDensity<3, elemT>>,
43 DataProcessor<DiscretisedDensity<3, elemT>>>
44{
45private:
49 base_type;
50
51public:
52 static const char* const registered_name;
53
54 WienerImageFilter2D();
55
56private:
57 WienerArrayFilter2D<elemT> wiener_filter;
58
59 void set_defaults() override;
60 void initialise_keymap() override;
61
62 Succeeded virtual_set_up(const DiscretisedDensity<3, elemT>& density) override;
63 void virtual_apply(DiscretisedDensity<3, elemT>& density, const DiscretisedDensity<3, elemT>& in_density) const override;
64 void virtual_apply(DiscretisedDensity<3, elemT>& density) const override;
65};
66
67END_NAMESPACE_STIR
68
69#endif
Declaration of class stir::DataProcessor.
defines the stir::DiscretisedDensity class
Declaration of class stir::RegisteredParsingObject.
Declaration of class stir::WienerArrayFilter2D.
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
a class containing an enumeration type that can be used by functions to signal successful operation o...
Definition Succeeded.h:44
Applies a 2D Wiener filter on a 3D input array, slice by slice.
Definition WienerArrayFilter2D.h:68