STIR 6.4.0
ColsherFilter.h
Go to the documentation of this file.
1//
2//
3
12/*
13 Copyright (C) 2000 PARAPET partners
14 Copyright (C) 2000- 2004, Hammersmith Imanet Ltd
15
16 This file is part of STIR.
17
18 SPDX-License-Identifier: Apache-2.0 AND License-ref-PARAPET-license
19
20 See STIR/LICENSE.txt for details
21*/
22
23#ifndef __ColsherFilter_H__
24#define __ColsherFilter_H__
25
26#ifdef NRFFT
28#else
30# include "stir/TimedObject.h"
31#endif
32
33START_NAMESPACE_STIR
34#ifdef NRFFT
35template <typename elemT>
36class Viewgram;
37#endif
38
46#ifdef NRFFT
47 public Filter2D<float>
48#else
50 public TimedObject
51#endif
52{
53
54public:
55#ifndef NRFFT
57
60
75 explicit ColsherFilter(float theta_max,
76 float alpha_colsher_axial = 1.F,
77 float fc_colsher_axial = 0.5F,
78 float alpha_colsher_radial = 1.F,
79 float fc_colsher_radial = 0.5F,
80 const int stretch_factor_axial = 2,
81 const int stretch_factor_planar = 2);
83
88 Succeeded set_up(int height, int width, float theta, float d_a, float d_b);
89#else
90 ColsherFilter(int height,
91 int width,
92 float gamma,
93 float theta_max,
94 float d_a,
95 float d_b,
96 float alpha_colsher_axial,
97 float fc_colsher_axial,
98 float alpha_colsher_radial,
99 float fc_colsher_radial);
100#endif
101
102 virtual std::string parameter_info() const;
103
104 ~ColsherFilter() override
105 {}
106
107private:
108#ifdef NRFFT
110 float gamma;
111 /* d_a, d_b are used to convert to millimeter.*/
113 float d_a;
115 float d_b;
116#endif
118 float theta_max;
120 float alpha_axial;
122 float fc_axial;
124 float alpha_planar;
126 float fc_planar;
127 int stretch_factor_axial;
128 int stretch_factor_planar;
129};
130
131#ifdef NRFFT
132void Filter_proj_Colsher(Viewgram<float>& view_i, Viewgram<float>& view_i1, ColsherFilter& CFilter, int PadS, int PadZ);
133#endif
134END_NAMESPACE_STIR
135
136#endif // __ColsherFilter_H__
Declaration of class stir::ArrayFilterUsingRealDFTWithPadding.
Filter classes (filter defined in Fourier space)
declares the stir::TimedObject class
ArrayFilterUsingRealDFTWithPadding()
Definition ArrayFilterUsingRealDFTWithPadding.cxx:33
This class contains the Colsher filter used for 3D-PET reconstruction.
Definition ColsherFilter.h:52
ColsherFilter()
Default constructor.
Definition ColsherFilter.h:58
2-dimensional filters (filtering done by FFTs)
Definition Filter.h:115
a class containing an enumeration type that can be used by functions to signal successful operation o...
Definition Succeeded.h:44
base class for all objects which need timers. At the moment, there's only a CPU timer.
Definition TimedObject.h:36