![]() |
ImFusion SDK 4.3
|
#include <ImFusion/CT/Solver/FiniteDifferences.h>
Finite differences operator for image gradients. More...
Inheritance diagram for FiniteDifferences:Finite differences operator for image gradients.
Implements discrete gradient computation using finite differences for regularization.
Public Member Functions | |
| FiniteDifferences (const SharedImageSet &domainRef) | |
| ~FiniteDifferences () override | |
| Destructor. | |
| Status | apply (const SharedImageSet &in, SharedImageSet &out, const ExprBase *exprOut=nullptr) const override |
| Status | applyAdjoint (const SharedImageSet &in, SharedImageSet &out, const ExprBase *exprOut=nullptr) const override |
| std::unique_ptr< LinearOperator > | clone () const override |
| Factory method. | |
| std::unique_ptr< SharedImageSet > | createRangeSis () const override |
| Creates a SharedImageSet which is in the range of the operator. | |
Public Member Functions inherited from LinearOperatorEvalInputExpr< true > | |
| LinearOperatorEvalInputExpr (const SharedImageSet *domainRef, const SharedImageSet *rangeRef, bool isSplitChannels=false) | |
| Constructor. | |
| Status | apply (const ExprBase &exprIn, const SharedImageSet &in, SharedImageSet &out, const ExprBase *exprOut=nullptr) const override final |
| Applies a linear operator \(A\), optionally pre/post-composing with an ImageMath expression. | |
| Status | applyAdjoint (const ExprBase &exprIn, const SharedImageSet &in, SharedImageSet &out, const ExprBase *exprOut=nullptr) const override final |
| Applies the adjoint of a linear operator \(A\), optionally pre/post-composing with an ImageMath expression. | |
| LinearOperator (const SharedImageSet *domainRef, const SharedImageSet *rangeRef=nullptr) | |
| Constructor with optional references for the domain and codomain (i.e. range) of the operator. | |
| virtual Status | apply (const SharedImageSet &in, SharedImageSet &out, const ExprBase *exprOut=nullptr) const=0 |
| template<typename ImplType, typename ImplTypeOut> | |
| Status | apply (const ImageMath::ExprBaseTpl< ImplType > &exprIn, const SharedImageSet &in, SharedImageSet &out, const ImageMath::ExprBaseTpl< ImplTypeOut > *exprOut=nullptr) const |
| template<typename ImplType> | |
| Status | apply (const ImageMath::ExprBaseTpl< ImplType > &exprIn, const SharedImageSet &in, SharedImageSet &out, const ExprBase *exprOut=nullptr) const |
| virtual Status | applyAdjoint (const SharedImageSet &in, SharedImageSet &out, const ExprBase *exprOut=nullptr) const=0 |
| template<typename ImplType, typename ImplTypeOut> | |
| Status | applyAdjoint (const ImageMath::ExprBaseTpl< ImplType > &exprIn, const SharedImageSet &in, SharedImageSet &out, const ImageMath::ExprBaseTpl< ImplTypeOut > *exprOut=nullptr) const |
| template<typename ImplType> | |
| Status | applyAdjoint (const ImageMath::ExprBaseTpl< ImplType > &exprIn, const SharedImageSet &in, SharedImageSet &out, const ExprBase *exprOut=nullptr) const |
Public Member Functions inherited from LinearOperator | |
| LinearOperator (const SharedImageSet *domainRef, const SharedImageSet *rangeRef=nullptr) | |
| Constructor with optional references for the domain and codomain (i.e. range) of the operator. | |
| ~LinearOperator () override=0 | |
| Destructor. | |
| template<typename ImplType, typename ImplTypeOut> | |
| Status | apply (const ImageMath::ExprBaseTpl< ImplType > &exprIn, const SharedImageSet &in, SharedImageSet &out, const ImageMath::ExprBaseTpl< ImplTypeOut > *exprOut=nullptr) const |
| template<typename ImplType> | |
| Status | apply (const ImageMath::ExprBaseTpl< ImplType > &exprIn, const SharedImageSet &in, SharedImageSet &out, const ExprBase *exprOut=nullptr) const |
| template<typename ImplType, typename ImplTypeOut> | |
| Status | applyAdjoint (const ImageMath::ExprBaseTpl< ImplType > &exprIn, const SharedImageSet &in, SharedImageSet &out, const ImageMath::ExprBaseTpl< ImplTypeOut > *exprOut=nullptr) const |
| template<typename ImplType> | |
| Status | applyAdjoint (const ImageMath::ExprBaseTpl< ImplType > &exprIn, const SharedImageSet &in, SharedImageSet &out, const ExprBase *exprOut=nullptr) const |
| Status | runBlock (Input &input, Output &output) override |
| Applies the operator to the first element of input. | |
| std::unique_ptr< LinearOperatorAdjointWrapper > | adjoint () const |
| Creates an adjoint operator of this. | |
| const SharedImageSet * | domainRef () const |
| Getter for m_domainRef, can be nullptr if this is implicitly defined by the operator. | |
| const SharedImageSet * | rangeRef () const |
| Getter for m_rangeRef, can be nullptr if this is implicitly defined by the operator. | |
| virtual std::unique_ptr< SharedImageSet > | createDomainSis () const |
| Creates a SharedImageSet which is in the range of the operator. | |
| Eigen::MatrixXf | extractApplyMatrix () const |
| Extracts a dense matrix representing this operator. | |
| Eigen::MatrixXf | extractApplyAdjointMatrix () const |
| Extracts a dense matrix representing this operator. | |
Public Member Functions inherited from Configurable | |
| virtual void | configure (const Properties *p) |
| Configure this object instance by de-serializing the given Properties. | |
| virtual void | configuration (Properties *p) const |
| Serialize the current object configuration into the given Properties object. | |
| 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 |
Additional Inherited Members | |
Public Types inherited from LinearOperator | |
| using | ExprBase = ImageMath::ExprBase |
Public Types inherited from Block | |
| using | Input = DataList |
| using | Output = DataList |
Public Attributes inherited from Configurable | |
| Signal | signalParametersChanged |
Emitted whenever one of the registered Parameters' or SubPropertys' signalValueChanged signal was emitted. | |
Protected Attributes inherited from LinearOperator | |
| const SharedImageSet * | m_domainRef = nullptr |
| const SharedImageSet * | m_rangeRef = nullptr |
Protected Attributes inherited from Configurable | |
| std::vector< Param > | m_params |
| List of all registered Parameter and SubProperty instances. | |
|
overridevirtual |
in. Implements LinearOperator.
|
overridevirtual |
in. Implements LinearOperator.
|
overridevirtual |
Factory method.
Implements LinearOperator.
|
overridevirtual |
Creates a SharedImageSet which is in the range of the operator.
Reimplemented from LinearOperator.