![]() |
ImFusion SDK 4.3
|
#include <ImFusion/CT/Solver/AnisotropicTV.h>
Anisotropic Total Variation functional. More...
Inheritance diagram for AnisotropicTV:Anisotropic Total Variation functional.
Implements \(\|x\|_{\text{anisoTV}} := \|Dx\|_1\) where \(D\) is the gradient operator (FiniteDifferences).
Public Member Functions | |
| AnisotropicTV (const SharedImageSet &domainRef) | |
Public Member Functions inherited from Functional | |
| Functional (std::unique_ptr< LinearResidual > residual, bool hessianRequiresResidualEval=true) | |
| Constructor with residual. This residual can be nullptr, which is taken as shorthand for the identity. | |
| Functional (std::unique_ptr< LinearOperator > A, SharedImageSet *b, bool hessianRequiresResidualEval=true) | |
| Constructor which implicitly constructs a residual that owns the LinearOperator. | |
| virtual | ~Functional ()=0 |
| Destructor. | |
| float | eval (const SharedImageSet &in) const |
| Evaluates the functional \(f(in)\). | |
| Status | gradient (const SharedImageSet &in, SharedImageSet &out, const Selection *sel=nullptr, const ExprBase *exprOut=nullptr) const |
| Evaluates the gradient \(\nabla f(in)\). | |
| template<typename ImplName> | |
| Status | gradient (const SharedImageSet &in, SharedImageSet &out, const Selection *sel, const ImageMath::ExprBaseTpl< ImplName > *exprOut) |
| Convenience function which wraps exprOut in sharedPolyWrapper. | |
| std::unique_ptr< LinearOperator > | hessian (const SharedImageSet &in) const |
| Evaluates the hessian \(H_f(in)\). | |
| const LinearResidual * | residual () const |
| Const getter for m_residual. | |
| void | configure (const Properties *p) override |
| Configure this object instance by de-serializing the given Properties. | |
| void | configuration (Properties *p) const override |
| Serialize the current object configuration into the given Properties object. | |
Public Member Functions inherited from Configurable | |
| virtual void | configureDefaults () |
| Retrieve the properties of this object, replaces values with their defaults and sets it again. | |
| void | registerParameter (ParameterBase *param) |
| Register the given Parameter or SubProperty, so that it will be configured during configure()/configuration(). | |
| void | unregisterParameter (const ParameterBase *param) |
| Remove the given Parameter or SubProperty from the list of registered parameters. | |
| Configurable (const Configurable &rhs) | |
| Configurable (Configurable &&rhs) noexcept | |
| Configurable & | operator= (const Configurable &) |
| Configurable & | operator= (Configurable &&) noexcept |
Protected Member Functions | |
| float | evalImpl (const SharedImageSet &in) const override |
| Evaluation of this functional (without residual) | |
| Status | gradientImpl (const SharedImageSet &in, SharedImageSet &out) const override |
| Gradient of this functional (without residual). Should be selection aware. | |
| std::unique_ptr< LinearOperator > | hessianImpl (const SharedImageSet &in) const override |
| Hessian of this functional (without residual) | |
Additional Inherited Members | |
Public Types inherited from Functional | |
| using | ExprBase = ImageMath::ExprBase |
Public Attributes inherited from Configurable | |
| Signal | signalParametersChanged |
Emitted whenever one of the registered Parameters' or SubPropertys' signalValueChanged signal was emitted. | |
Protected Attributes inherited from Functional | |
| std::unique_ptr< LinearResidual > | m_residual |
| optional residual. | |
| const bool | m_hessianRequiresResidualEval = true |
| if set to false the result of hessianImpl is expected not to depend on the input | |
| detail::SparseSharedImageSet | m_residualTempSparseSharedImageSet |
| Sparse tmp image. | |
Protected Attributes inherited from Configurable | |
| std::vector< Param > | m_params |
| List of all registered Parameter and SubProperty instances. | |
|
overrideprotectedvirtual |
Evaluation of this functional (without residual)
Implements Functional.
|
overrideprotectedvirtual |
Gradient of this functional (without residual). Should be selection aware.
Implements Functional.
|
overrideprotectedvirtual |
Hessian of this functional (without residual)
Implements Functional.