CRectImageSmoothProcessorComp.h
Go to the documentation of this file.
1 #ifndef iipr_CRectImageSmoothProcessorComp_included
2 #define iipr_CRectImageSmoothProcessorComp_included
3 
4 
5 // ACF-Solutions includes
6 #include "imath/IUnitInfo.h"
7 #include "imeas/INumericValue.h"
9 
11 
12 
13 namespace iipr
14 {
15 
16 
22  public TImageParamProcessorCompBase<imeas::INumericValue>,
23  virtual public imeas::INumericConstraints,
24  virtual protected imath::IUnitInfo
25 {
26 public:
28 
29  enum UnitMode
30  {
34  };
35 
37  {
40  };
41 
42  I_BEGIN_COMPONENT(CRectImageSmoothProcessorComp);
43  I_REGISTER_INTERFACE(imeas::INumericConstraints);
44  I_ASSIGN(m_unitModeAttrPtr, "UnitMode", "Define used units:\n\t0 - Pixels\n\t1 - Percent of width and height\n\t2 - Percent of diagonal", true, 0);
45  I_ASSIGN(m_borderModeAttrPtr, "BorderMode", "Define used mode for border area:\n\t0 - Kernel will be stretched, original image size will be outputed\n\t1 - Border area removed, output image will be smaller", true, 0);
46  I_END_COMPONENT;
47 
48  // reimplemented (imeas::INumericConstraints)
49  virtual int GetNumericValuesCount() const;
50  virtual QString GetNumericValueName(int index) const;
51  virtual QString GetNumericValueDescription(int index) const;
52  virtual const imath::IUnitInfo& GetNumericValueUnitInfo(int index) const;
53 
54 protected:
55  // reimplemented (iipr::TImageParamProcessorCompBase<imeas::INumericValue>)
56  virtual bool ParamProcessImage(
57  const imeas::INumericValue* paramsPtr,
58  const iimg::IBitmap& inputImage,
59  iimg::IBitmap& outputImage);
60 
61  // reimplemented (imath::IUnitInfo)
62  virtual int GetUnitType() const;
63  virtual QString GetUnitName() const;
64  virtual double GetDisplayMultiplicationFactor() const;
65  virtual istd::CRange GetValueRange() const;
66  virtual const imath::IDoubleManip& GetValueManip() const;
67 
68 private:
69  I_ATTR(int, m_unitModeAttrPtr);
70  I_ATTR(int, m_borderModeAttrPtr);
71 };
72 
73 
74 } // namespace iipr
75 
76 
77 #endif // !iipr_CRectImageSmoothProcessorComp_included
78 
79 
virtual int GetNumericValuesCount() const
Get number of expected numeric values.
virtual QString GetNumericValueDescription(int index) const
Get human readable description of numeric value for specified list index.
virtual const imath::IDoubleManip & GetValueManip() const
virtual const imath::IUnitInfo & GetNumericValueUnitInfo(int index) const
Get range of possible numeric values for specified list index.
virtual istd::CRange GetValueRange() const
Describe additional meta information for set of numeric values.
virtual QString GetUnitName() const
virtual double GetDisplayMultiplicationFactor() const
virtual int GetUnitType() const
iipr::TImageParamProcessorCompBase< imeas::INumericValue > BaseClass
virtual bool ParamProcessImage(const imeas::INumericValue *paramsPtr, const iimg::IBitmap &inputImage, iimg::IBitmap &outputImage)
Do image processing with some (optional) parameter set.
General parameter set containing list of numeric values.
Definition: INumericValue.h:19
Implementation of image smooth operator with homogeneous rectangle kernel.
Basic implementation for a simple bitmap processor.
virtual QString GetNumericValueName(int index) const
Get human readable name of numeric value for specified list index.

© 2007-2011 Witold Gantzke and Kirill Lepskiy