6#ifndef iblob_CBlobProcessorCompBase_included
7#define iblob_CBlobProcessorCompBase_included
27 I_REGISTER_SUBELEMENT(FilterFeatureList);
28 I_REGISTER_SUBELEMENT_INTERFACE(FilterFeatureList,
iprm::IOptionsList, ExtractFilterFeatureList);
29 I_REGISTER_SUBELEMENT_INTERFACE(FilterFeatureList,
istd::IChangeable, ExtractFilterFeatureList);
30 I_ASSIGN(m_aoiParamIdAttrPtr,
"AoiParamId",
"ID of area of interest in parameter set",
false,
"AoiParams");
31 I_ASSIGN(m_defaultAoiCompPtr,
"DefaultAoi",
"Area of interest used if not specified in parameters",
false,
"DefaultAoi");
32 I_ASSIGN(m_filterParamsIdAttrPtr,
"FilterParamsId",
"ID of blob filter parameters in the parameter set (iipr::IBlobFilterParams)",
false,
"FilterParams");
33 I_ASSIGN(m_defaultFilterParamsCompPtr,
"DefaultFilterParams",
"Default blob filter parameters",
false,
"DefaultFilterParams");
46 const istd::IPolymorphic* inputPtr,
48 bool allowAsync =
false,
69 static bool IsValueAcceptedByFilter(
const iipr::IBlobFilterParams::Filter& filter,
double value);
72 template <
class InterfaceType>
75 return &component.m_filterFeatureList;
79 I_ATTR(QByteArray, m_aoiParamIdAttrPtr);
82 I_ATTR(QByteArray, m_filterParamsIdAttrPtr);
85 FilterFeatureList m_filterFeatureList;
Common interface for describing the 2D-objects.
Definition of single plane bitmap.
iproc::TSyncProcessorCompBase< iipr::IImageToFeatureProcessor > BaseClass
virtual iproc::CTaskState DoExtractFeatures(const iprm::IParamsSet *paramsPtr, const iimg::IBitmap &image, iipr::IFeaturesConsumer &results, iproc::IProgressManager *progressManagerPtr=nullptr) override
Specialization of processing interface for extraction of features from image.
virtual bool CalculateBlobs(const iprm::IParamsSet *paramsPtr, const iipr::IBlobFilterParams *filterParamsPtr, const i2d::IObject2d *aoiPtr, const iimg::IBitmap &image, iipr::IFeaturesConsumer &result)=0
static bool IsBlobAcceptedByFilter(const iipr::IBlobFilterParams &filterParams, double area, double perimeter, double circularity)
virtual iproc::CTaskState DoProcessing(const iprm::IParamsSet *paramsPtr, const istd::IPolymorphic *inputPtr, istd::IChangeable *outputPtr, bool allowAsync=false, iproc::IProgressManager *progressManagerPtr=nullptr) override
Do synchronized processing.
Interface for parameters of the blob filtering.
Common interface for a features container consuming feature objects.
Implementation of a simple options manager.
Constraints of selection from set of possibilities.
Set of general parameters.
Represent state of asynchronous operation.
Consume information about progress of some process.
Simple definition macro for a synchronous processor.
iipr::IImageToFeatureProcessor InterfaceType
Common interface for data model objects, which can be changed.
Contains the image processing classes.