STIR  6.3.0
DDSR2DReconstruction.h
Go to the documentation of this file.
1 //
2 //
3 #ifndef __stir_analytic_DDSR2D_DDSR2DReconstruction_H__
4 #define __stir_analytic_DDSR2D_DDSR2DReconstruction_H__
5 /*
6  Copyright (C) 2014-2016, 2023-2025, Dimitra Kyriakopoulou
7  Copyright (C) 2025, University College London
8  This file is part of STIR.
9 
10  SPDX-License-Identifier: Apache-2.0
11 
12  See STIR/LICENSE.txt for details
13 */
36 //#include "stir/recon_buildblock/BackProjectorByBin.h"
38 #include <string>
39 #include "stir/shared_ptr.h"
40 
41 START_NAMESPACE_STIR
42 
43 template <int num_dimensions, typename elemT>
45 class Succeeded;
46 class ProjData;
47 
48 class DDSR2DReconstruction
49  : public RegisteredParsingObject<DDSR2DReconstruction, Reconstruction<DiscretisedDensity<3, float>>, AnalyticReconstruction>
50 {
51  // typedef AnalyticReconstruction base_type;
53  base_type;
54 
55 public:
57  static constexpr const char* const registered_name = "DDSR2D";
58 
60  DDSR2DReconstruction();
65  explicit DDSR2DReconstruction(const std::string& parameter_filename);
66 
67  DDSR2DReconstruction(const shared_ptr<ProjData>&,
68  const shared_ptr<DiscretisedDensity<3, float>>&,
69  const double noise_filter = -1.,
70  const double noise_filter2 = -1.);
71 
72  virtual std::string method_info() const;
73 
74  virtual void ask_parameters();
75 
76  virtual Succeeded set_up(shared_ptr<TargetT> const& target_data_sptr);
77 
78 protected: // make parameters protected such that doc shows always up in doxygen
79  // parameters used for parsing
80 
81  // Noise filter
82  double noise_filter;
84  double noise_filter2;
85 
87 
90  int display_level;
91 
92  std::string attenuation_map_filename;
93  shared_ptr<DiscretisedDensity<3, float>> atten_data_ptr;
94 
95 private:
96  Succeeded actual_reconstruct(shared_ptr<DiscretisedDensity<3, float>> const& target_image_ptr);
97 
98  virtual void set_defaults();
99  virtual void initialise_keymap();
100  virtual bool post_processing();
101  // bool post_processing_only_DDSR2D_parameters();
102 };
103 
104 END_NAMESPACE_STIR
105 
106 #endif
base class for all analytic reconstruction algorithmsThis class provides extra functinoality (compare...
Definition: AnalyticReconstruction.h:50
Import of std::shared_ptr, std::dynamic_pointer_cast and std::static_pointer_cast into the stir names...
declares the stir::AnalyticReconstruction class
Parent class for all leaves in a RegisteredObject hierarchy that do parsing of parameter files...
Definition: RegisteredParsingObject.h:77
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.
The (abstract) base class for the projection data.
Definition: ProjData.h:103
This abstract class is the basis for all image representations.
Definition: DDSR2DReconstruction.h:44