STIR 6.4.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*/
34
36//#include "stir/recon_buildblock/BackProjectorByBin.h"
38#include <string>
39#include "stir/shared_ptr.h"
40
41START_NAMESPACE_STIR
42
43template <int num_dimensions, typename elemT>
44class DiscretisedDensity;
45class Succeeded;
46class ProjData;
47
48class DDSR2DReconstruction
49 : public RegisteredParsingObject<DDSR2DReconstruction, Reconstruction<DiscretisedDensity<3, float>>, AnalyticReconstruction>
50{
51 // typedef AnalyticReconstruction base_type;
52 typedef RegisteredParsingObject<DDSR2DReconstruction, Reconstruction<DiscretisedDensity<3, float>>, AnalyticReconstruction>
53 base_type;
54
55public:
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
78protected: // 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
95private:
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
104END_NAMESPACE_STIR
105
106#endif
declares the stir::AnalyticReconstruction class
Declaration of class stir::RegisteredParsingObject.
Import of std::shared_ptr, std::dynamic_pointer_cast and std::static_pointer_cast into the stir names...