IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
BaseIntensityPreProcessorConfig.h
1 // BaseIntensityConfigPreProcessorConfig.h:
3 // ----------------------------------------
4 //
15 
16 #ifndef __IPSDKBASESHAPEANALYSIS_BASEINTENSITYPREPROCESSORCONFIG_H__
17 #define __IPSDKBASESHAPEANALYSIS_BASEINTENSITYPREPROCESSORCONFIG_H__
18 
20 #include <IPSDKSerialization/Engine/BaseSerializationObject.h>
23 
24 namespace ipsdk {
25 namespace shape {
26 namespace analysis {
27 
30 
32 {
33  // declare serial class
35 
36 public:
40  virtual ~BaseIntensityPreProcessorConfig() = 0;
42 
43 // methods
44 public:
46  virtual bool is2dPreProcessing() const = 0;
47 
49  bool isInit() const;
50 
57  BoolResult createProcessor(const image::ImageConstPtr& pInImg,
58  processor::ProcessorPtr& pProcessor);
59 
63  image::ImagePtr extractOutputImage(processor::BaseProcessor& processor);
64 
67  bool operator== (const BaseIntensityPreProcessorConfig& other) const;
68  bool operator!= (const BaseIntensityPreProcessorConfig& other) const;
70 
71 protected:
73  void initBase();
74 
77  virtual BoolResult createProcessorDerived(const image::ImageConstPtr& pInImg,
78  processor::ProcessorPtr& pProcessor) = 0;
79 
81  virtual image::ImagePtr extractOutputImageDerived(processor::BaseProcessor& processor) = 0;
82 
84  virtual bool compareDerived(const BaseIntensityPreProcessorConfig& other) const = 0;
85 
86 // attributes
87 private:
89  bool _bInit;
90 };
91 
94 
95 inline bool
97 {
98  return _bInit;
99 }
100 
103 
104 } // end of namespace analysis
105 } // end of namespace shape
106 } // end of namespace ipsdk
107 
108 #endif // __IPSDKBASESHAPEANALYSIS_BASEINTENSITYPREPROCESSORCONFIG_H__
bool isInit() const
retrieve flag indicating whether object has been initialized
Definition: BaseIntensityPreProcessorConfig.h:96
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
IPSDKBASEDATA_API bool operator==(const OffsetXY &offset1, const OffsetXY &offset2)
Comparison operators for offsets.
Base class for objects allowing to define preprocessing configuration for images used as inputs of sh...
Definition: BaseIntensityPreProcessorConfig.h:31
boost::shared_ptr< BaseImage > ImagePtr
Definition: ImageTypes.h:139
#define IPSDK_DECLARE_ABSTRACT_SERIAL_WITHOUT_COPY(libraryName, className)
macro enabling serialization on abstract class
Definition: SerializationHdrMacro.h:97
Definition of import/export macro for library.
#define IPSDKBASESHAPEANALYSIS_API
Import/Export macro for library IPSDKBaseShapeAnalysis.
Definition: IPSDKBaseShapeAnalysisExports.h:25
Predefined types for processor management.
Base class for processor class.
Definition: BaseProcessor.h:43
boost::enable_if< typename boost::mpl::and_< typename boost::is_same< boost::mpl::int_< AttributeType1::g_attributeType >, boost::mpl::int_< eAttributeType::eAT_Value > >::type, typename boost::is_same< boost::mpl::int_< AttributeType2::g_attributeType >, boost::mpl::int_< eAttributeType::eAT_Value > >::type, typename boost::is_same< typename AttributeType1::ValueType, typename AttributeType2::ValueType >::type >::type, RulePtr >::type operator!=(const boost::shared_ptr< AttributeType1 > &pAttribute1, const boost::shared_ptr< AttributeType2 > &pAttribute2)
Rule allowing to check whether a value attribute is not equal another.
Definition: AttributeComparisonRuleOperators.h:77
boost::shared_ptr< const BaseImage > ImageConstPtr
Definition: ImageTypes.h:140
boost::shared_ptr< BaseProcessor > ProcessorPtr
shared pointer to processor class
Definition: ProcessorTypes.h:106
Predefined type for image management.
Base class for serializable class.
Definition: BaseSerializationObject.h:33