STIR  6.3.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 */
29 #include <string>
30 #include "stir/shared_ptr.h"
31 
32 START_NAMESPACE_STIR
33 
34 template <int num_dimensions, typename elemT>
35 class DiscretisedDensity;
36 class Succeeded;
37 class 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
92 public:
93 #endif
95 
96 public:
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 
120 protected: // make parameters protected such that doc shows always up in doxygen
121  // parameters used for parsing
122 
124  double alpha_ramp;
126  double fc_ramp;
128  int pad_in_s;
130 
137 
141 
142 private:
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 
152 END_NAMESPACE_STIR
153 
154 #endif
base class for all analytic reconstruction algorithmsThis class provides extra functinoality (compare...
Definition: AnalyticReconstruction.h:50
int pad_in_s
amount of padding for the filter (has to be 0,1 or 2)
Definition: FBP2DReconstruction.h:128
Import of std::shared_ptr, std::dynamic_pointer_cast and std::static_pointer_cast into the stir names...
double fc_ramp
Ramp filter: Cut off frequency.
Definition: FBP2DReconstruction.h:126
int display_level
potentially display data
Definition: FBP2DReconstruction.h:140
double alpha_ramp
Ramp filter: Alpha value.
Definition: FBP2DReconstruction.h:124
declares the stir::AnalyticReconstruction class
Parent class for all leaves in a RegisteredObject hierarchy that do parsing of parameter files...
Definition: RegisteredParsingObject.h:77
Reconstruction class for 2D Filtered Back Projection.
Definition: FBP2DReconstruction.h:83
static const char *const registered_name
Name which will be used when parsing a ProjectorByBinPair object.
Definition: FBP2DReconstruction.h:98
Declares class stir::BackProjectorByBin.
a class containing an enumeration type that can be used by functions to signal successful operation o...
Definition: Succeeded.h:43
Declaration of class stir::RegisteredParsingObject.
int num_segments_to_combine
number of segments to combine (with SSRB) before starting 2D reconstruction
Definition: FBP2DReconstruction.h:135