ICF 3.0.5.47
Technical documentation of ICF Libraries
CImageHistogramSupplierComp.h
Go to the documentation of this file.
1/********************************************************************************
2** This file is part of the ICF Framework. Copyright (C) Witold Gantzke & Kirill Lepskiy
3** ICF Framework may be used under the terms of the LGPL License v. 2.1 by the Free Software Foundation.
4********************************************************************************/
5
6#ifndef iipr_CImageHistogramSupplierComp_included
7#define iipr_CImageHistogramSupplierComp_included
8
9
10// ICF includes
12#include <i2d/CVector2d.h>
14#include <iprm/IParamsSet.h>
16#include <iproc/IProcessor.h>
17#include <iinsp/ISupplier.h>
22
23
24namespace iipr
25{
26
27
29 public iinsp::TSupplierCompWrap< imod::TModelWrap<imeas::CSimpleSamplesSequence32> >,
30 virtual public imeas::IDataSequenceProvider
31{
32public:
34
35 I_BEGIN_COMPONENT(CImageHistogramSupplierComp);
36 I_REGISTER_INTERFACE(imeas::IDataSequenceProvider);
37 I_ASSIGN(m_bitmapProviderCompPtr, "BitmapProvider", "Provide image to analyse", true, "BitmapProvider");
38 I_ASSIGN_TO(m_bitmapSupplierCompPtr, m_bitmapProviderCompPtr, false);
39 I_ASSIGN_TO(m_bitmapProviderModelCompPtr, m_bitmapProviderCompPtr, false);
40 I_ASSIGN(m_histogramProcessorCompPtr, "HistogramProcessor", "Calculate histogram of the image", true, "HistogramProcessor");
41 I_END_COMPONENT;
42
43 // reimplemented (imeas::IDataSequenceProvider)
44 const imeas::IDataSequence* GetDataSequence() const override;
45
46protected:
47 // reimplemented (iinsp::TSupplierCompWrap)
49
50 // reimplemented (icomp::CComponentBase)
51 void OnComponentCreated() override;
52 void OnComponentDestroyed() override;
53
54private:
55 I_REF(iimg::IBitmapProvider, m_bitmapProviderCompPtr);
56 I_REF(iinsp::ISupplier, m_bitmapSupplierCompPtr);
57 I_REF(imod::IModel, m_bitmapProviderModelCompPtr);
58 I_REF(iproc::IProcessor, m_histogramProcessorCompPtr);
59};
60
61
62} // namespace iipr
63
64
65#endif // !iipr_CImageHistogramSupplierComp_included
66
67
Bitmap supplier allowing to access of produced bitmap.
Base interface for suppliers providing calculating of objects on demand ("pull data" model).
Definition ISupplier.h:28
Standard implementation of interface iinsp::ISupplier with preparation for component implementation.
const imeas::IDataSequence * GetDataSequence() const override
Get access to produced line projection object.
int ProduceObject(imod::TModelWrap< imeas::CSimpleSamplesSequence32 > &result) const override
Produce single object.
iinsp::TSupplierCompWrap< imod::TModelWrap< imeas::CSimpleSamplesSequence32 > > BaseClass
General definition of sequence contains samples in regular time grid.
Simple data sequence provider.
Common interface for model objects, that supports Model/Observer design pattern.
Definition IModel.h:29
This model wrapper provides a simple connection between a concrete istd::IChangeable implementation a...
Definition TModelWrap.h:28
Interface for all synchrone and asynchrone processors with "push data" model.
Definition IProcessor.h:26
Contains the image processing classes.

© Witold Gantzke and Kirill Lepskiy