STIR
6.2.0
|
Implementations of two square root Hessian row sum computation methods, as proposed by Tsai et al. (2020). More...
#include "stir/recon_buildblock/SqrtHessianRowSum.h"
Public Member Functions | |
SqrtHessianRowSum () | |
Default constructor. More... | |
SqrtHessianRowSum (const std::string &) | |
void | set_defaults () override |
sets default values More... | |
void | process_data () |
The main function to compute and save the sqrt of the Hessian row sum volume. More... | |
shared_ptr< TargetT > | get_output_target_sptr () |
get method for returning the sqrt row sum image | |
void | set_up () |
void | compute_Hessian_row_sum () |
Computes the objective function Hessian row sum at the current image estimate. Can compute the penalty's Hessian if it exists for the selected prior. | |
void | compute_approximate_Hessian_row_sum () |
Computes the approximate Hessian of the objective function. Cannot use penalty's approximate Hessian, see compute_with_penalty. | |
get and set methods for the objective function sptr | |
GeneralisedObjectiveFunction< TargetT > const & | get_objective_function_sptr () |
void | set_objective_function_sptr (const shared_ptr< GeneralisedObjectiveFunction< TargetT >> &obj_fun) |
get and set methods for the input image | |
shared_ptr< TargetT > | get_input_image_sptr () |
void | set_input_image_sptr (shared_ptr< TargetT > const &image) |
get and set methods for use approximate hessian bool | |
bool | get_use_approximate_hessian () const |
void | set_use_approximate_hessian (bool use_approximate) |
get and set methods for the compute with penalty bool | |
bool | get_compute_with_penalty () const |
void | set_compute_with_penalty (bool with_penalty) |
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) |
Protected Attributes | |
bool | _already_setup = false |
Protected Attributes inherited from stir::ParsingObject | |
KeyParser | parser |
Additional Inherited Members | |
Protected Member Functions inherited from stir::ParsingObject | |
virtual void | set_key_values () |
This will be called before parsing or parameter_info is called. More... | |
Implementations of two square root Hessian row sum computation methods, as proposed by Tsai et al. (2020).
Two methods of computing the sqrt of the Hessian row sum images:
For more details, see: Tsai, Y.-J., Schramm, G., Ahn, S., Bousse, A., Arridge, S., Nuyts, J., Hutton, B. F., Stearns, C. W., & Thielemans, K. (2020). Benefits of Using a Spatially-Variant Penalty Strength With Anatomical Priors in PET Reconstruction. IEEE Transactions on Medical Imaging, 39(1), 11-22. https://doi.org/10.1109/TMI.2019.2913889
stir::SqrtHessianRowSum< TargetT >::SqrtHessianRowSum | ( | ) |
Default constructor.
calls set_defaults().
|
overridevirtual |
sets default values
Sets use_approximate_hessian
to true
and compute_with_penalty
to false
Reimplemented from stir::ParsingObject.
References stir::error().
void stir::SqrtHessianRowSum< TargetT >::process_data | ( | ) |
The main function to compute and save the sqrt of the Hessian row sum volume.
Different Hessian row sum methods can be used, see compute_Hessian_row_sum() and compute_approximate_Hessian_row_sum().