Template instantiation for the case where input ImageMath expressions are evaluated by the class directly.
Subclasses must (only) implement the overload of apply and applyAdjoint for which the input is passed as const ExprBase
|
| Status | apply (const SharedImageSet &in, SharedImageSet &out, const ExprBase *exprOut=nullptr) const override final |
| Status | applyAdjoint (const SharedImageSet &in, SharedImageSet &out, const ExprBase *exprOut=nullptr) const override final |
|
| 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 ExprBase &exprIn, const SharedImageSet &in, SharedImageSet &out, const ExprBase *exprOut=nullptr) const=0 |
| | Applies a linear operator \(A\), optionally pre/post-composing with an ImageMath expression.
|
| 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 ExprBase &exprIn, const SharedImageSet &in, SharedImageSet &out, const ExprBase *exprOut=nullptr) const=0 |
| | Applies the adjoint of a linear operator \(A\), optionally pre/post-composing with an ImageMath expression.
|
| 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 |
|
| 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.
|
| virtual std::unique_ptr< LinearOperator > | clone () const =0 |
| | Factory method.
|
|
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.
|
| virtual std::unique_ptr< SharedImageSet > | createRangeSis () 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.
|
| 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 |