6#ifndef iipr_CHoughLineFromPosFinderComp_included
7#define iipr_CHoughLineFromPosFinderComp_included
36 typedef QList<i2d::CLine2d>
Lines;
43 I_ASSIGN(m_defaultAngleResAttrPtr,
"DefaultAngleResulution",
"Resolution of angle grid",
true, 360);
44 I_ASSIGN(m_defaultRadiusResAttrPtr,
"DefaultRadiusResulution",
"Resolution of radius grid",
true, 360);
45 I_ASSIGN(m_maxLinesParamIdAttrPtr,
"MaxLinesParamId",
"ID of max lines parameter in parameter set (imeas::INumericValue)",
true,
"MaxLines");
46 I_ASSIGN(m_defaultMaxLinesParamCompPtr,
"DefaultMaxLinesParam",
"Default value of parameter controlling number of maximal found lines",
true,
"DefaultMaxLinesParam");
47 I_ASSIGN(m_directionParamIdAttrPtr,
"DirectionParamId",
"ID of direction parameter in parameter set (i2d::IObject2d - line or position)",
true,
"Direction");
48 I_ASSIGN(m_defaultDirectionParamCompPtr,
"DefaultDirectionParam",
"Default value of parameter controlling direction",
true,
"DefaultDirectionParam");
49 I_ASSIGN(m_defaultSmoothKernelAttrPtr,
"DefaultSpaceSmoothKernel",
"Size of kernel will be used to smooth hough space",
true, 10);
50 I_ASSIGN(m_resultConsumerCompPtr,
"ResultConsumer",
"Consumer of result messages with geometrical layout",
false,
"ResultConsumer");
51 I_ASSIGN(m_tempConsumerCompPtr,
"TempConsumer",
"Consumer of temporary result messages with geometrical layout",
false,
"TempConsumer");
69 const istd::IPolymorphic* inputPtr,
71 bool allowAsync =
false,
92 I_ATTR(QByteArray, m_aoiParamIdAttrPtr);
93 I_ATTR(
int, m_defaultAngleResAttrPtr);
94 I_ATTR(
int, m_defaultRadiusResAttrPtr);
95 I_ATTR(QByteArray, m_maxLinesParamIdAttrPtr);
97 I_ATTR(QByteArray, m_directionParamIdAttrPtr);
99 I_ATTR(
int, m_defaultSmoothKernelAttrPtr);
105 double m_directionAngleTolerance;
Definition of a line in 2D-space.
Definition of the data model for a polygon.
Definition of position or mathematical vector on 2D plane.
Common interface for describing the 2D-objects.
Hough space used for 2d Hough transformations.
Finder using Hough transformation to find the lines from the point cloud.
ilog::CLoggerComponentBase BaseClass
i2d::CVector2d CalcHoughPos(const i2d::CVector2d &point1, const i2d::CVector2d &point2) const
void OnComponentCreated() override
virtual bool FindLines(const iprm::IParamsSet *paramsPtr, int maxLines, const i2d::CPolypoint &points, IFeaturesConsumer &results)
QList< i2d::CLine2d > Lines
void UpdateHoughSpace(const i2d::CVector2d &point1, const i2d::CVector2d &point2)
i2d::CLine2d CalcCorrespondingLine(const i2d::CVector2d &houghPos) const
virtual iproc::CTaskState DoProcessing(const iprm::IParamsSet *paramsPtr, const istd::IPolymorphic *inputPtr, istd::IChangeable *outputPtr, bool allowAsync=false, iproc::IProgressManager *progressManagerPtr=nullptr) override
virtual iproc::CTaskState DoConvertFeatures(const iprm::IParamsSet *paramsPtr, const IFeaturesProvider &container, IFeaturesConsumer &results) override
Allow to extract some features from another one.
Common interface for a features container consuming feature objects.
Container allowing access to features.
Wrapper allowing to create feature object from some another serializable one.
Common interface for a message container consuming information objects (messages).
Wrapper provider of log-functionality for component based implementations.
General parameter set containing list of numeric values.
Set of general parameters.
Represent state of asynchronous operation.
Interface for all synchrone and asynchrone processors with "push data" model.
Consume information about progress of some process.
Wrapper of iproc::IProcessor for simple synchrone processor implementations.
Common interface for data model objects, which can be changed.
Contains the image processing classes.