STIR  6.2.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 */
22 #ifndef __stir_OSSPS_OSSPSReconstruction_h__
23 # define __stir_OSSPS_OSSPSReconstruction_h__
24 
27 # include "stir/ProjData.h"
29 
30 START_NAMESPACE_STIR
31 
85 template <class TargetT>
87  : public RegisteredParsingObject<OSSPSReconstruction<TargetT>, Reconstruction<TargetT>, IterativeReconstruction<TargetT>>
88 // public IterativeReconstruction<TargetT>
89 {
90 private:
92  base_type;
93 
94 public:
96  static const char* const registered_name;
97 
100 
105  explicit OSSPSReconstruction(const std::string& parameter_filename);
106 
108  void ask_parameters() override;
110  OSSPSReconstruction& get_parameters() { return *this; }
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 
140 protected: // could be private, but this way the doxygen comments are always listed
143 
145  double upper_bound;
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 
168 private:
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 
186 END_NAMESPACE_STIR
187 
188 #endif
189 
190 // __OSSPSReconstruction_h__
int write_update_image
boolean value to determine if the update images have to be written to disk
Definition: OSSPSReconstruction.h:148
float relaxation_parameter
relaxation parameter used (should be around 1) (see class documentation)
Definition: OSSPSReconstruction.h:159
int enforce_initial_positivity
determines whether non-positive values in the initial image will be set to small positive ones ...
Definition: OSSPSReconstruction.h:142
double upper_bound
restrict values to maximum
Definition: OSSPSReconstruction.h:145
OSSPSReconstruction & get_parameters()
accessor for the external parameters
Definition: OSSPSReconstruction.h:110
Declaration of class stir::ProjData.
static const char *const registered_name
Name which will be used when parsing a ProjectorByBinPair object.
Definition: OSSPSReconstruction.h:96
Declaration of class stir::BinNormalisation.
base class for all ReconstructionsAs there is not a lot of commonality between different reconstructi...
Definition: Reconstruction.h:69
declares the stir::IterativeReconstruction class
Parent class for all leaves in a RegisteredObject hierarchy that do parsing of parameter files...
Definition: RegisteredParsingObject.h:77
std::string precomputed_denominator_filename
optional name of the file containing the "precomputed denominator" - see Erdogan & Fessler for more i...
Definition: OSSPSReconstruction.h:152
base class for iterative reconstruction objectsThis is the base class for all iterative reconstructio...
Definition: IterativeReconstruction.h:81
Implementation of the relaxed Ordered Subsets Separable Paraboloidal Surrogate ( OSSPS) ...
Definition: OSSPSReconstruction.h:86
float relaxation_gamma
parameter determining how fast relaxation goes down (see class documentation)
Definition: OSSPSReconstruction.h:161
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.
const OSSPSReconstruction & get_parameters() const
accessor for the external parameters
Definition: OSSPSReconstruction.h:113