ICF 3.1.1.10
Technical documentation of ICF Libraries
CHistogramStatisticsProcessorComp.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 imeas_CHistogramStatisticsProcessorComp_included
7#define imeas_CHistogramStatisticsProcessorComp_included
8
9
10// ICF includes
14
15
16namespace imeas
17{
18
19
20class IDataSequence;
21class IDataSequenceStatistics;
22
23
27class CHistogramStatisticsProcessorComp: public iproc::TSyncProcessorCompBase<IDataSequenceStatisticsProcessor>
28{
29public:
31
32 I_BEGIN_COMPONENT(CHistogramStatisticsProcessorComp);
33 I_REGISTER_INTERFACE(IDataSequenceStatisticsProcessor);
34 I_END_COMPONENT;
35
36 // reimplemented (iproc::IProcessor)
38 const iprm::IParamsSet* paramsPtr,
39 const istd::IPolymorphic* inputPtr,
40 istd::IChangeable* outputPtr,
41 bool allowAsync = false,
42 iproc::IProgressManager* progressManagerPtr = nullptr) override;
43
44 // reimplemented (imeas::IDataSequenceStatisticsProcessor)
46 const imeas::IDataSequence& dataSequence,
47 imeas::IDataSequenceStatistics& dataStatistics) const override;
48
49private:
50 bool CalculateChannelStatistics(const imeas::IDataSequence& input, int inputIndex, imeas::CSimpleDataStatistics& dataStatistics) const;
51};
52
53
54} // namespace imeas
55
56
57#endif // !imeas_CHistogramStatisticsProcessorComp_included
58
Implementation of a processor for the image histogram calculation.
virtual iproc::CTaskState CalculateDataStatistics(const imeas::IDataSequence &dataSequence, imeas::IDataSequenceStatistics &dataStatistics) const 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< IDataSequenceStatisticsProcessor > BaseClass
General implementation of the IDataStatistics interface.
General definition of sequence contains samples in regular time grid.
Common interaface for data sequence statistics.
Processor interface for statistics calculation of a data sequence.
Set of general parameters.
Definition IParamsSet.h:29
Represent state of asynchronous operation.
Definition CTaskState.h:28
Consume information about progress of some process.
Simple definition macro for a synchronous processor.
Common interface for data model objects, which can be changed.
Definition IChangeable.h:32
This namespace contains classes for measurement system implementations.

© Witold Gantzke and Kirill Lepskiy