45 I_ASSIGN(m_slaveProcessorCompPtr,
"SlaveEdgeProcessor",
"Slave edge finder processor converting image to list of found edges",
true,
"SlaveEdgeProcessor");
46 I_ASSIGN(m_featuresMapperCompPtr,
"FeaturesMapper",
"Calculate position from caliper extracted features",
true,
"FeaturesMapper");
47 I_ASSIGN(m_resultCalibrationCompPtr,
"ResultCalibration",
"Calibration should be used for result",
false,
"ResultCalibration");
48 I_ASSIGN(m_aoiParamIdAttrPtr,
"AoiParamId",
"ID of area of interest in parameter set",
true,
"AoiParams");
49 I_ASSIGN(m_finderParamsIdAttrPtr,
"CaliperFinderParamsId",
"ID of caliper finder parameters in parameter set (iipr::ICaliperFinderParams)",
true,
"CaliperFinderParams");
50 I_ASSIGN(m_slaveLineIdAttrPtr,
"SlaveLineId",
"ID of line parameter added by this processor to parameter set for slave edge processor",
true,
"LineParam");
51 I_ASSIGN(m_searchParallelLinesAttrPtr,
"SearchParallelLines",
"If it is true, parallel lines will be searched",
true,
false);
52 I_ASSIGN(m_sendUsedPointsToTempAttrPtr,
"SendUsedPointsToTemp",
"If true, the used point positions will be send to temporary results",
true,
false);
53 I_ASSIGN(m_sendLinesToTempAttrPtr,
"SendLinesToTemp",
"If true, the caliper lines will be send to temporary results",
true,
false);
54 I_ASSIGN(m_resultConsumerCompPtr,
"ResultConsumer",
"Consumer of result messages with geometrical layout",
false,
"ResultConsumer");
55 I_ASSIGN(m_tempConsumerCompPtr,
"TempConsumer",
"Consumer of temporary result messages",
false,
"TempResultsConsumer");
70 const istd::IPolymorphic* inputPtr,
72 bool allowAsync =
false,
85 double minOutliersDist,
97 double minOutliersDist,
116 I_ATTR(QByteArray, m_aoiParamIdAttrPtr);
117 I_ATTR(QByteArray, m_slaveLineIdAttrPtr);
118 I_ATTR(QByteArray, m_finderParamsIdAttrPtr);
119 I_ATTR(
bool, m_searchParallelLinesAttrPtr);
120 I_ATTR(
bool, m_sendUsedPointsToTempAttrPtr);
121 I_ATTR(
bool, m_sendLinesToTempAttrPtr);
Definition of a line in 2D-space.
This class defines parallelogram.
Definition of position or mathematical vector on 2D plane.
Definition of single plane bitmap.
Base class for caliper based finder.
Caliper based line finder.
double DoFindParallelLines(const iprm::IParamsSet *paramsPtr, const iimg::IBitmap &image, i2d::CParallelogram &result)
bool CalcRays(const iprm::IParamsSet *paramsPtr, const iimg::IBitmap &image, Rays &inRays, Rays &outRays, double &minOutlierDist)
void OnComponentCreated() override
virtual iproc::CTaskState DoProcessing(const iprm::IParamsSet *paramsPtr, const istd::IPolymorphic *inputPtr, istd::IChangeable *outputPtr, bool allowAsync=false, iproc::IProgressManager *progressManagerPtr=nullptr) override
iproc::TSyncProcessorCompBase< IImageToFeatureProcessor > BaseClass
virtual iproc::CTaskState DoExtractFeatures(const iprm::IParamsSet *paramsPtr, const iimg::IBitmap &image, IFeaturesConsumer &results, iproc::IProgressManager *progressManagerPtr=nullptr) override
void AddIntermediateResults(const Rays &outRays, const QString &name)
static double CalculateLine(const i2d::CVector2d &direction, double minOutliersDist, Rays &rays, i2d::CLine2d &result)
Calculate line based on the list of rays.
double DoFindSingleLine(const iprm::IParamsSet *paramsPtr, const iimg::IBitmap &image, i2d::CLine2d &result)
static double CalculateParallelLines(const i2d::CVector2d &direction, double minOutliersDist, Rays &inRays, Rays &outRays, i2d::CParallelogram &result)
Calculate parallel lines based on the list of rays.
Interface allowing mapping of extracted features to native coordinate systems.
Common interface for a features container consuming feature objects.
Allow to extract some features from the image.
Common interface for a message container consuming information objects (messages).
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.
Simple definition macro for a synchronous processor.
Common interface for data model objects, which can be changed.
Contains the image processing classes.