|
STIR 6.4.0
|
Implementation of the Relative Difference penalty potential. More...
#include "stir/recon_buildblock/GibbsRelativeDifferencePenalty.h"
Public Member Functions | |
| __host__ __device__ double | value (const elemT val_center, const elemT val_neigh, int z, int y, int x) const |
| Method for computing the potential value. | |
| __host__ __device__ double | derivative_10 (const elemT val_center, const elemT val_neigh, int z, int y, int x) const |
| Method for computing the first derivative with respect to val_center. | |
| __host__ __device__ double | derivative_20 (const elemT val_center, const elemT val_neigh, int z, int y, int x) const |
| Method for computing the second derivative with respect to val_center. | |
| __host__ __device__ double | derivative_11 (const elemT val_center, const elemT val_neigh, int z, int y, int x) const |
| Method for computing the mixed second derivative. | |
| void | initialise_keymap (KeyParser &parser) |
| Method for setting up parsing additional parameters. | |
| void | set_defaults () |
| Set default values for potential-specific parameters. | |
Static Public Member Functions | |
| static bool | is_convex () |
| method to indicate whether the the prior defined by this potential is convex | |
Public Attributes | |
| float | gamma |
| float | epsilon |
Implementation of the Relative Difference penalty potential.
The prior energy is:
![\[\sum_{r,dr} \kappa_{r} \kappa_{r+dr} w_{dr} \frac{(\lambda_r - \lambda_{r+dr})^2}{2(\lambda_r + \lambda_{r+dr} + \gamma
|\lambda_r - \lambda_{r+dr}| + \epsilon)} \]](form_85.png)
Where:








