|
STIR
6.3.0
|
this class implements priors with a parabolic surrogate curvature More...
#include "stir/recon_buildblock/PriorWithParabolicSurrogate.h"

Public Member Functions | |
| virtual void | parabolic_surrogate_curvature (TargetT ¶bolic_surrogate_curvature, const TargetT ¤t_estimate)=0 |
| this should calculate the parabolic surrogate curvature | |
| virtual bool | parabolic_surrogate_curvature_depends_on_argument () const |
A function that allows skipping some computations if the curvature is independent of the current_estimate. More... | |
Public Member Functions inherited from stir::GeneralisedPrior< TargetT > | |
| virtual double | compute_value (const TargetT ¤t_estimate)=0 |
| compute the value of the function More... | |
| virtual void | compute_gradient (TargetT &prior_gradient, const TargetT ¤t_estimate)=0 |
| This should compute the gradient of the log of the prior function at the current_estimate. More... | |
| virtual double | compute_gradient_times_input (const TargetT &input, const TargetT ¤t_estimate) |
| compute the dot product of the gradient of the log of the prior function at the current_estimate with input More... | |
| virtual void | compute_Hessian (TargetT &prior_Hessian_for_single_densel, const BasicCoordinate< 3, int > &coords, const TargetT ¤t_image_estimate) const |
| This computes a single row of the Hessian. More... | |
| virtual void | compute_Hessian_diagonal (TargetT &Hessian_diagonal, const TargetT ¤t_estimate) const |
| This computes the diagonal of the Hessian of the log of the prior function at the current_estimate and stores it in Hessian_diagonal. More... | |
| virtual void | add_multiplication_with_approximate_Hessian (TargetT &output, const TargetT &input) const |
| This should compute the multiplication of the Hessian with a vector and add it to output. More... | |
| virtual void | accumulate_Hessian_times_input (TargetT &output, const TargetT ¤t_estimate, const TargetT &input) const |
| This should compute the multiplication of the Hessian with a vector and add it to output. More... | |
| float | get_penalisation_factor () const |
| void | set_penalisation_factor (float new_penalisation_factor) |
| virtual Succeeded | set_up (shared_ptr< const TargetT > const &target_sptr) |
| Has to be called before using this object. | |
| virtual bool | is_convex () const=0 |
| Indicates if the prior is a smooth convex function. More... | |
Public Member Functions inherited from stir::RegisteredObjectBase | |
| virtual std::string | get_registered_name () const =0 |
| Returns the name of the type of the object. More... | |
Public Member Functions inherited from stir::ParsingObject | |
| ParsingObject (const ParsingObject &) | |
| ParsingObject & | operator= (const ParsingObject &) |
| void | ask_parameters () |
| virtual std::string | parameter_info () |
| bool | parse (std::istream &f) |
| bool | parse (const char *const filename) |
Additional Inherited Members | |
Static Public Member Functions inherited from stir::RegisteredObject< GeneralisedPrior< TargetT > > | |
| static GeneralisedPrior< TargetT > * | read_registered_object (std::istream *in, const std::string ®istered_name) |
| Construct a new object (of a type derived from Root, its actual type determined by the registered_name parameter) by parsing the istream. More... | |
| static GeneralisedPrior< TargetT > * | ask_type_and_parameters () |
| ask the user for the type, and then calls read_registered_object(0, type) More... | |
| static void | list_registered_names (std::ostream &stream) |
| List all possible registered names to the stream. More... | |
Protected Types inherited from stir::RegisteredObject< GeneralisedPrior< TargetT > > | |
| typedef GeneralisedPrior< TargetT > *(* | RootFactory) (std::istream *) |
| The type of a root factory is a function, taking an istream* as argument, and returning a Root*. | |
| typedef FactoryRegistry< std::string, RootFactory, interfile_less > | RegistryType |
| The type of the registry. | |
Protected Member Functions inherited from stir::GeneralisedPrior< TargetT > | |
| void | set_defaults () override |
| sets value for penalisation factor More... | |
| void | initialise_keymap () override |
| sets key for penalisation factor More... | |
| virtual void | check (TargetT const ¤t_estimate) const |
| Check that the prior is ready to be used. | |
Protected Member Functions inherited from stir::ParsingObject | |
| virtual bool | post_processing () |
| This will be called at the end of the parsing. More... | |
| virtual void | set_key_values () |
| This will be called before parsing or parameter_info is called. More... | |
Static Protected Member Functions inherited from stir::RegisteredObject< GeneralisedPrior< TargetT > > | |
| static RegistryType & | registry () |
| Static function returning the registry. More... | |
Protected Attributes inherited from stir::GeneralisedPrior< TargetT > | |
| float | penalisation_factor |
| bool | _already_set_up |
Protected Attributes inherited from stir::ParsingObject | |
| KeyParser | parser |
this class implements priors with a parabolic surrogate curvature
See for example Erdogan and Fessler, Ordered subsets algorithms for transmission tomography, PMB, 44 (1999) 2835.
|
inlinevirtual |
A function that allows skipping some computations if the curvature is independent of the current_estimate.
Defaults to return true, but can be overloaded by the derived class.
Reimplemented in stir::LogcoshPrior< elemT >, stir::ParametricQuadraticPrior< TargetT >, stir::QuadraticPrior< elemT >, and stir::QuadraticPrior< float >.
1.8.13