Convolution filter implemented as LinearOperator.
Applies convolution kernels as linear operations for image filtering.
- Warning
- Currently assumes odd-sized convolution kernels.
|
|
| ConvolutionFilter (const SharedImageSet &domainRangeRef, const GlImage *kernel=nullptr) |
|
bool | setKernel (const GlImage *kernel) |
| | Set the kernel of the convolution. Ownership stays with the caller, this is not copied.
|
| Status | apply (const ExprBase &exprIn, const SharedImageSet &in, SharedImageSet &out, const ExprBase *exprOut=nullptr) const override |
| | Apply the convolution.
|
| Status | applyAdjoint (const ExprBase &exprIn, const SharedImageSet &in, SharedImageSet &out, const ExprBase *exprOut=nullptr) const override |
| | Warning: the current implementation assumes that the kernel function is odd, and that the convolution is therefore self-adjoint.
|
| std::unique_ptr< LinearOperator > | clone () const override |
| | Factory method.
|
| 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 |
| 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.
|
|
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 |