STIR 6.4.0
OSSPSReconstruction.h
Go to the documentation of this file.
1
2//
3//
4/*
5 Copyright (C) 2002- 2009, Hammersmith Imanet Ltd
6 This file is part of STIR.
7
8 SPDX-License-Identifier: Apache-2.0
9
10 See STIR/LICENSE.txt for details
11*/
21
22#ifndef __stir_OSSPS_OSSPSReconstruction_h__
23# define __stir_OSSPS_OSSPSReconstruction_h__
24
27# include "stir/ProjData.h"
29
30START_NAMESPACE_STIR
31
85template <class TargetT>
87 : public RegisteredParsingObject<OSSPSReconstruction<TargetT>, Reconstruction<TargetT>, IterativeReconstruction<TargetT>>
88// public IterativeReconstruction<TargetT>
89{
90private:
92 base_type;
93
94public:
96 static const char* const registered_name;
97
100
105 explicit OSSPSReconstruction(const std::string& parameter_filename);
106
108 void ask_parameters() override;
111
113 const OSSPSReconstruction& get_parameters() const { return *this; }
114
116 std::string method_info() const override;
117
119
132 Succeeded precompute_denominator_of_conditioner_without_penalty();
133
135 Succeeded set_up(shared_ptr<TargetT> const& target_image_ptr) override;
136
138 void update_estimate(TargetT& current_image_estimate) override;
139
140protected: // could be private, but this way the doxygen comments are always listed
143
146
149
151
153
154# if 0
155 bool do_line_search;
156# endif
157
162
163 void set_defaults() override;
164 void initialise_keymap() override;
166 bool post_processing() override;
167
168private:
170 shared_ptr<TargetT> precomputed_denominator_ptr;
171
173
176 shared_ptr<ProjData> fwd_ones_sptr;
177
178 GeneralisedPrior<TargetT>* get_prior_ptr() { return this->get_objective_function().get_prior_ptr(); }
179
180# if 0
181 float
182 line_search(const TargetT& current_estimate, const TargetT& additive_update);
183# endif
184};
185
186END_NAMESPACE_STIR
187
188#endif
189
190// __OSSPSReconstruction_h__
Declaration of class stir::BinNormalisation.
declares the stir::IterativeReconstruction class
Declaration of class stir::ProjData.
Declaration of class stir::RegisteredParsingObject.
A base class for 'generalised' priors, i.e. priors for which at least a 'gradient' is defined.
Definition GeneralisedPrior.h:44
base class for iterative reconstruction objects
Definition IterativeReconstruction.h:82
OSSPSReconstruction & get_parameters()
accessor for the external parameters
Definition OSSPSReconstruction.h:110
const OSSPSReconstruction & get_parameters() const
accessor for the external parameters
Definition OSSPSReconstruction.h:113
static const char *const registered_name
Name which will be used when parsing a ProjectorByBinPair object.
Definition OSSPSReconstruction.h:96
int write_update_image
boolean value to determine if the update images have to be written to disk
Definition OSSPSReconstruction.h:148
float relaxation_gamma
parameter determining how fast relaxation goes down (see class documentation)
Definition OSSPSReconstruction.h:161
void set_defaults() override
Set defaults before parsing.
Definition OSSPSReconstruction.cxx:62
OSSPSReconstruction()
Default constructor (calls set_defaults())
Definition OSSPSReconstruction.cxx:149
bool post_processing() override
used to check acceptable parameter ranges, etc...
Definition OSSPSReconstruction.cxx:139
float relaxation_parameter
relaxation parameter used (should be around 1) (see class documentation)
Definition OSSPSReconstruction.h:159
std::string precomputed_denominator_filename
optional name of the file containing the "precomputed denominator" - see Erdogan & Fessler for more i...
Definition OSSPSReconstruction.h:152
int enforce_initial_positivity
determines whether non-positive values in the initial image will be set to small positive ones
Definition OSSPSReconstruction.h:142
void initialise_keymap() override
Initialise all keywords.
Definition OSSPSReconstruction.cxx:81
void ask_parameters() override
prompts the user to enter parameter values manually
Definition OSSPSReconstruction.cxx:102
double upper_bound
restrict values to maximum
Definition OSSPSReconstruction.h:145
base class for all ReconstructionsAs there is not a lot of commonality between different reconstructi...
Definition Reconstruction.h:70
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