CLineProjectionProcessorComp.h
Go to the documentation of this file.
1 #ifndef iipr_CLineProjectionProcessorComp_included
2 #define iipr_CLineProjectionProcessorComp_included
3 
4 
5 // ACF includes
6 #include <QtCore/QString>
7 #include "icomp/CComponentBase.h"
9 
14 
15 
16 namespace iipr
17 {
18 
19 
21  public icomp::CComponentBase,
22  public iproc::TSyncProcessorWrap<ILineProjectionProcessor>,
23  virtual public IFeatureToImageMapper,
24  virtual public IProjectionConstraints
25 {
26 public:
29 
30  I_BEGIN_COMPONENT(CLineProjectionProcessorComp);
31  I_REGISTER_INTERFACE(iproc::IProcessor);
32  I_REGISTER_INTERFACE(ILineProjectionProcessor);
33  I_REGISTER_INTERFACE(IProjectionConstraints);
34  I_REGISTER_INTERFACE(IFeatureToImageMapper);
35  I_ASSIGN(m_lineParamIdAttrPtr, "LineParamId", "ID of line parameter in parameter set", true, "LineParam");
36  I_ASSIGN(m_featureMapperCompPtr, "FeatureMapper", "Map result feature to projection position, it is needed for mapping operation", false, "FeatureMapper");
37  I_END_COMPONENT;
38 
43  const iimg::IBitmap& bitmap,
44  const i2d::CLine2d& bitmapLine,
45  imeas::IDataSequence& results) const;
46 
47  // reimplemented (iipr::IFeatureToImageMapper)
48  virtual bool GetImagePosition(
49  const imeas::INumericValue& feature,
50  const iprm::IParamsSet* paramsPtr,
51  i2d::CVector2d& result) const;
52 
53  // reimplemented (iipr::ILineProjectionProcessor)
54  virtual bool DoProjection(
55  const iimg::IBitmap& bitmap,
56  const i2d::CLine2d& projectionLine,
57  const IProjectionParams* paramsPtr,
58  imeas::IDataSequence& results);
59 
60  // reimplemented (iproc::IProcessor)
61  virtual int DoProcessing(
62  const iprm::IParamsSet* paramsPtr,
63  const istd::IPolymorphic* inputPtr,
64  istd::IChangeable* outputPtr,
65  ibase::IProgressManager* progressManagerPtr = NULL);
66 
67  // reimplemented (iipr::IProjectionConstraints)
68  virtual istd::CRange GetLineWidthRange() const;
69  virtual int GetMinProjectionSize() const;
70  virtual int GetMaxProjectionSize() const;
71  virtual bool IsAutoProjectionSizeSupported() const;
72 
73 private:
74  I_ATTR(QByteArray, m_lineParamIdAttrPtr);
75  I_REF(IFeatureToProjectionMapper, m_featureMapperCompPtr);
76 };
77 
78 
79 } // namespace iipr
80 
81 
82 #endif // !iipr_CLineProjectionProcessorComp_included
83 
84 
virtual bool DoProjection(const iimg::IBitmap &bitmap, const i2d::CLine2d &projectionLine, const IProjectionParams *paramsPtr, imeas::IDataSequence &results)
Interface allowing mapping of extracted features to native coordinate systems.
virtual int GetMaxProjectionSize() const
Get maximal number of projection elements can be calculated by projection.
Describe parameter for projection 2D image to 1D structure.
iproc::TSyncProcessorWrap< ILineProjectionProcessor > BaseClass2
Wrapper of iproc::IProcessor for simple synchrone processor implementations.
virtual bool IsAutoProjectionSizeSupported() const
Check if automatical projection size is supported.
virtual istd::CRange GetLineWidthRange() const
Get range of possible projection line width.
virtual int GetMinProjectionSize() const
Get minimal number of projection elements can be calculated by projection.
Interface allowing mapping of extracted features to native coordinate systems.
virtual int DoProcessing(const iprm::IParamsSet *paramsPtr, const istd::IPolymorphic *inputPtr, istd::IChangeable *outputPtr, ibase::IProgressManager *progressManagerPtr=NULL)
bool DoAutosizeProjection(const iimg::IBitmap &bitmap, const i2d::CLine2d &bitmapLine, imeas::IDataSequence &results) const
Do projection along specified line with variable projection size.
General parameter set containing list of numeric values.
Definition: INumericValue.h:19
Interface for all synchrone and assynchrone processors with "push data" model.
Definition: IProcessor.h:24
General definition of sequence contains samples in regular time grid.
Definition: IDataSequence.h:20
virtual bool GetImagePosition(const imeas::INumericValue &feature, const iprm::IParamsSet *paramsPtr, i2d::CVector2d &result) const
Get position in image coordination system using position extracted from projection.

© 2007-2011 Witold Gantzke and Kirill Lepskiy