STIR 6.4.0
FBP2DReconstruction.h
Go to the documentation of this file.
1//
2//
3#ifndef __stir_analytic_FBP2D_FBP2DReconstruction_H__
4#define __stir_analytic_FBP2D_FBP2DReconstruction_H__
5/*
6 Copyright (C) 2000 PARAPET partners
7 Copyright (C) 2000- 2011, Hammersmith Imanet Ltd
8 Copyright (C) 2020, University College London
9 This file is part of STIR.
10
11 SPDX-License-Identifier: Apache-2.0 AND License-ref-PARAPET-license
12
13 See STIR/LICENSE.txt for details
14*/
25
29#include <string>
30#include "stir/shared_ptr.h"
31
32START_NAMESPACE_STIR
33
34template <int num_dimensions, typename elemT>
35class DiscretisedDensity;
36class Succeeded;
37class ProjData;
38
84 : public RegisteredParsingObject<FBP2DReconstruction, Reconstruction<DiscretisedDensity<3, float>>, AnalyticReconstruction>
85{
86 // typedef AnalyticReconstruction base_type;
88 base_type;
89#ifdef STIR_COMPILING_SWIG_WRAPPER
90 // work-around swig problem. It gets confused when using a private (or protected)
91 // typedef in a definition of a public typedef/member
92public:
93#endif
94 typedef DiscretisedDensity<3, float> TargetT;
95
96public:
98 static const char* const registered_name;
99
106 explicit FBP2DReconstruction(const std::string& parameter_filename);
107
108 FBP2DReconstruction(const shared_ptr<ProjData>&,
109 const double alpha_ramp = 1.,
110 const double fc_ramp = .5,
111 const int pad_in_s = 2,
112 const int num_segments_to_combine = -1);
113
114 std::string method_info() const override;
115
116 virtual void ask_parameters();
117
118 Succeeded set_up(shared_ptr<TargetT> const& target_data_sptr) override;
119
120protected: // make parameters protected such that doc shows always up in doxygen
121 // parameters used for parsing
122
126 double fc_ramp;
130
137
141
142private:
143 Succeeded actual_reconstruct(shared_ptr<DiscretisedDensity<3, float>> const& target_image_ptr) override;
144
145 shared_ptr<BackProjectorByBin> back_projector_sptr;
146
147 void set_defaults() override;
148 void initialise_keymap() override;
149 bool post_processing() override;
150};
151
152END_NAMESPACE_STIR
153
154#endif
declares the stir::AnalyticReconstruction class
Declares class stir::BackProjectorByBin.
Declaration of class stir::RegisteredParsingObject.
base class for all analytic reconstruction algorithmsThis class provides extra functinoality (compare...
Definition AnalyticReconstruction.h:51
This abstract class is the basis for all image representations.
Definition DiscretisedDensity.h:99
int display_level
potentially display data
Definition FBP2DReconstruction.h:140
double fc_ramp
Ramp filter: Cut off frequency.
Definition FBP2DReconstruction.h:126
int num_segments_to_combine
number of segments to combine (with SSRB) before starting 2D reconstruction
Definition FBP2DReconstruction.h:135
int pad_in_s
amount of padding for the filter (has to be 0,1 or 2)
Definition FBP2DReconstruction.h:128
static const char *const registered_name
Name which will be used when parsing a ProjectorByBinPair object.
Definition FBP2DReconstruction.h:98
std::string method_info() const override
gives method information
Definition FBP2DReconstruction.cxx:158
FBP2DReconstruction()
Default constructor (calls set_defaults())
Definition FBP2DReconstruction.cxx:169
double alpha_ramp
Ramp filter: Alpha value.
Definition FBP2DReconstruction.h:124
shared_ptr< DiscretisedDensity< 3, float > > target_data_sptr
Definition Reconstruction.h:207
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
Import of std::shared_ptr, std::dynamic_pointer_cast and std::static_pointer_cast into the stir names...