9#ifndef __stir_recon_buildblock_CudaRelativeDifferencePrior_h__
10#define __stir_recon_buildblock_CudaRelativeDifferencePrior_h__
36template <
typename elemT>
38 GeneralisedPrior<DiscretisedDensity<3, elemT>>,
39 RelativeDifferencePrior<elemT>>
51 inline static const char*
const registered_name =
"Cuda Relative Difference Prior";
55 using base_type::base_type;
76 int z_dim, y_dim, x_dim;
Declaration of class stir::RelativeDifferencePrior.
CUDA implementation of the Relative Difference prior.
Definition CudaRelativeDifferencePrior.h:40
float * d_kappa_data
Device copy of kappa.
Definition CudaRelativeDifferencePrior.h:83
void compute_gradient(DiscretisedDensity< 3, elemT > &prior_gradient, const DiscretisedDensity< 3, elemT > ¤t_image_estimate) override
This should compute the gradient of the log of the prior function at the current_estimate.
Succeeded set_up(shared_ptr< const DiscretisedDensity< 3, elemT > > const &target_sptr) override
Has to be called before using this object.
void set_defaults() override
Set defaults before parsing.
float * d_weights_data
Device copy of weights.
Definition CudaRelativeDifferencePrior.h:81
double compute_value(const DiscretisedDensity< 3, elemT > ¤t_image_estimate) override
compute the value of the function
This abstract class is the basis for all image representations.
Definition DiscretisedDensity.h:99
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 in the GeneralisedPrior hierarchy. This implements a Relative Difference prior.
Definition RelativeDifferencePrior.h:100
a class containing an enumeration type that can be used by functions to signal successful operation o...
Definition Succeeded.h:44