ICF 3.1.1.10
Technical documentation of ICF Libraries
CConvolutionProcessorComp.h
Go to the documentation of this file.
1/********************************************************************************
2** This file is part of the ICF Framework. Copyright (C) Witold Gantzke & Kirill Lepskiy
3** ICF Framework may be used under the terms of the LGPL License v. 2.1 by the Free Software Foundation.
4********************************************************************************/
5
6#ifndef iipr_CConvolutionProcessorComp_included
7#define iipr_CConvolutionProcessorComp_included
8
9
10// ICF includes
11#include <iimg/CScanlineMask.h>
14
15
16namespace iipr
17{
18
19
24{
25public:
27
28 I_BEGIN_COMPONENT(CConvolutionProcessorComp);
29 I_ASSIGN(m_trySeparateKernelAttrPtr, "TrySeparateKernel", "If active, detection of kernel separation will be enabled", true, true);
30 I_ASSIGN(m_kernelParamsIdAttrPtr, "KernelParamsId", "ID of convolution kernel parameters in the parameter set (iipr::IConvolutionKernel2d)", false, "KernelParams");
31 I_ASSIGN(m_defaultKernelParamsCompPtr, "DefaultKernelParams", "Default convolution kernel parameters", false, "DefaultKernelParams");
32 I_END_COMPONENT;
33
34 // static methods
46 const IConvolutionKernel2d& kernel,
47 BackgroundFillMode backgroundMode,
48 iimg::IBitmap::PixelFormat outputPixelFormat,
49 const iimg::IBitmap& inputImage,
50 const iimg::CScanlineMask& resultMask,
51 iimg::IBitmap& outputImage,
52 istd::ILogger* loggerPtr = nullptr);
53
54protected:
55 // reimplemented (iipr::CImageProcessorCompBase)
56 virtual bool ProcessImage(
57 const iprm::IParamsSet* paramsPtr,
58 const iimg::IBitmap& inputImage,
59 iimg::IBitmap& outputImage) const override;
60
61private:
62 I_ATTR(bool, m_trySeparateKernelAttrPtr);
63 I_ATTR(QByteArray, m_kernelParamsIdAttrPtr);
64 I_REF(IConvolutionKernel2d, m_defaultKernelParamsCompPtr);
65};
66
67
68} // namespace iipr
69
70
71#endif // !iipr_CConvolutionProcessorComp_included
72
Representation of a 2D-region as container of bitmap line scans.
Definition of single plane bitmap.
Definition IBitmap.h:24
PixelFormat
Bitmap pixel format description.
Definition IBitmap.h:30
Implementation of image processor using convolution kernel.
iipr::CImageProcessorCompBase BaseClass
virtual bool ProcessImage(const iprm::IParamsSet *paramsPtr, const iimg::IBitmap &inputImage, iimg::IBitmap &outputImage) const override
static bool DoConvolutionFilter(const IConvolutionKernel2d &kernel, BackgroundFillMode backgroundMode, iimg::IBitmap::PixelFormat outputPixelFormat, const iimg::IBitmap &inputImage, const iimg::CScanlineMask &resultMask, iimg::IBitmap &outputImage, istd::ILogger *loggerPtr=nullptr)
Calculate complete convolution with all parameters as static function.
Basic implementation for a simple bitmap processor.
BackgroundFillMode
Describes modes for out-of-AOI background fill.
Interface for 2D-convolution filter kernel.
Set of general parameters.
Definition IParamsSet.h:29
Common interface for classes sending some log info.
Definition ILogger.h:25
Contains the image processing classes.

© Witold Gantzke and Kirill Lepskiy