21#ifndef __stir_recon_buildblock_FilterRootPrior_H__
22#define __stir_recon_buildblock_FilterRootPrior_H__
30template <
typename DataT>
63template <
typename DataT>
88 void compute_gradient(DataT& prior_gradient,
const DataT& current_estimate)
override;
95 void check(DataT
const& current_image_estimate)
const override;
98 shared_ptr<DataProcessor<DataT>> filter_ptr;
99 void set_defaults()
override;
100 void initialise_keymap()
override;
Declaration of class stir::GeneralisedPrior.
Declaration of class stir::RegisteredParsingObject.
Base class that defines an interface for classes that do data processing.
Definition DataProcessor.h:47
bool is_convex() const override
Indicates if the prior is a smooth convex function.
Definition FilterRootPrior.cxx:45
double compute_value(const DataT ¤t_estimate) override
compute the value of the function
Definition FilterRootPrior.cxx:79
static const char *const registered_name
Name which will be used when parsing a GeneralisedPrior object.
Definition FilterRootPrior.h:71
FilterRootPrior()
Default constructor (no filter)
Definition FilterRootPrior.cxx:31
void compute_gradient(DataT &prior_gradient, const DataT ¤t_estimate) override
compute gradient by applying the filter
Definition FilterRootPrior.cxx:92
void check(DataT const ¤t_image_estimate) const override
Check that the prior is ready to be used.
Definition FilterRootPrior.cxx:163
Succeeded set_up(shared_ptr< const DataT > const &target_sptr) override
Has to be called before using this object.
Definition FilterRootPrior.cxx:154
A base class for 'generalised' priors, i.e. priors for which at least a 'gradient' is defined.
Definition GeneralisedPrior.h:44
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
Import of std::shared_ptr, std::dynamic_pointer_cast and std::static_pointer_cast into the stir names...