STIR 6.4.0
GRD2DReconstruction.h
Go to the documentation of this file.
1//
2//
3#ifndef __stir_analytic_GRD2D_GRD2DReconstruction_H__
4#define __stir_analytic_GRD2D_GRD2DReconstruction_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*/
33
35//#include "stir/recon_buildblock/BackProjectorByBin.h"
37#include <string>
38#include "stir/shared_ptr.h"
39//#include "stir/Array_complex_numbers.h"
40//#include "stir/numerics/fftshift.h"
41
42START_NAMESPACE_STIR
43
44template <int num_dimensions, typename elemT>
45class DiscretisedDensity;
46class Succeeded;
47class ProjData;
48
49class GRD2DReconstruction
50 : public RegisteredParsingObject<GRD2DReconstruction, Reconstruction<DiscretisedDensity<3, float>>, AnalyticReconstruction>
51{
52 // typedef AnalyticReconstruction base_type;
53 typedef RegisteredParsingObject<GRD2DReconstruction, Reconstruction<DiscretisedDensity<3, float>>, AnalyticReconstruction>
54 base_type;
55
56public:
58 static constexpr const char* const registered_name = "GRD2D";
59
61 GRD2DReconstruction();
66 explicit GRD2DReconstruction(const std::string& parameter_filename);
67
68 GRD2DReconstruction(const shared_ptr<ProjData>&,
69 const double noise_filter = -1.,
70 const double alpha_gridding = 1.,
71 const double kappa_gridding = 4.,
72 const int num_segments_to_combine = -1);
73
74 virtual std::string method_info() const;
75
76 virtual void ask_parameters();
77
78 virtual Succeeded set_up(shared_ptr<TargetT> const& target_data_sptr);
79
80protected: // make parameters protected such that doc shows always up in doxygen
81 // parameters used for parsing
82
83 // alpha and kappa for gridding
84 double alpha_gridding;
85 double kappa_gridding;
86 // noise filter
87 double noise_filter;
88
90
95 int num_segments_to_combine;
97
100 int display_level;
101
102private:
103 Succeeded actual_reconstruct(shared_ptr<DiscretisedDensity<3, float>> const& target_image_ptr);
104
105 virtual void set_defaults();
106 virtual void initialise_keymap();
107 virtual bool post_processing();
108 bool post_processing_only_GRD2D_parameters();
109};
110
111END_NAMESPACE_STIR
112
113#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...