IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
MeasureConfig.h
1 // MeasureConfig.h:
3 // ----------------
4 //
14 
15 #ifndef __IPSDKBASESHAPEANALYSIS_MEASURECONFIG_H__
16 #define __IPSDKBASESHAPEANALYSIS_MEASURECONFIG_H__
17 
18 // suppression warnings
19 // warning C4251: 'ipsdk::shape::analysis::MeasureConfig::_imageId': class 'ipsdk::shape::analysis::eMsrInputImageId' needs to have dll-interface to be used by clients of class 'ipsdk::shape::analysis::MeasureConfig'
20 #pragma warning (push)
21 #pragma warning (disable : 4251)
22 
24 #include <IPSDKSerialization/Engine/BaseSerializationObject.h>
26 
27 namespace ipsdk {
28 namespace shape {
29 namespace analysis {
30 
33 
35 {
36  // declare serial class
37  IPSDK_DECLARE_SERIAL_WITHOUT_COPY(IPSDKBaseShapeAnalysis, MeasureConfig)
38 
39 public:
42  MeasureConfig();
43  ~MeasureConfig();
45 
46 // methods
47 public:
49  void initDefault();
50 
52  void init(const eMsrInputImageId& imageId,
53  const eMsrInputShapeCollId& shapeCollId);
54 
56  void init(const eMsrInputImageId& imageId,
57  const IntensityPreProcessorConfigPtr& pIntensityPreProcessorConfig,
58  const eMsrInputShapeCollId& shapeCollId);
59 
61  void initUnCalibrated(const eMsrInputShapeCollId& shapeCollId);
62 
64  void initGloballyCalibrated(const eMsrInputShapeCollId& shapeCollId);
65 
67  void initCustomCalibrated(const eMsrInputShapeCollId& shapeCollId,
68  const GeometricCalibrationConstPtr& pGeometricCalibration);
69 
71  const eMsrInputImageId& getImageId() const;
72 
76  const IntensityPreProcessorConfigPtr& getIntensityPreProcessorConfig() const;
77 
79  const eMsrInputShapeCollId& getShapeCollId() const;
80 
82  const eMsrCalibrationType& getGeometricCalibrationType() const;
83 
87  const GeometricCalibrationConstPtr& getGeometricCalibration() const;
88 
91  bool operator== (const MeasureConfig& cfg) const;
92  bool operator!= (const MeasureConfig& cfg) const;
94 
96  bool checkVolumePolicy(const bool b2dMsrMode) const;
97 
98 // attributes
99 protected:
102 
105 
108 
112 
116 };
117 
120 
121 inline const eMsrInputImageId&
123 {
124  return _imageId;
125 }
126 
127 inline const IntensityPreProcessorConfigPtr&
129 {
131 }
132 
133 inline const eMsrInputShapeCollId&
135 {
136  return _shapeCollId;
137 }
138 
139 inline const eMsrCalibrationType&
141 {
143 }
144 
145 inline const GeometricCalibrationConstPtr&
147 {
148  return _pGeometricCalibration;
149 }
150 
153 
154 } // end of namespace analysis
155 } // end of namespace shape
156 } // end of namespace ipsdk
157 
158 #pragma warning (pop)
159 
160 #endif // __IPSDKBASESHAPEANALYSIS_MEASURECONFIG_H__
eMsrInputImageId _imageId
flag allowing to identify used input image
Definition: MeasureConfig.h:101
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
IPSDKBASEDATA_API bool operator==(const OffsetXY &offset1, const OffsetXY &offset2)
Comparison operators for offsets.
const GeometricCalibrationConstPtr & getGeometricCalibration() const
retrieve custom calibration used for processings
Definition: MeasureConfig.h:146
const IntensityPreProcessorConfigPtr & getIntensityPreProcessorConfig() const
retrieve pre processor configuration for input image
Definition: MeasureConfig.h:128
boost::shared_ptr< const ipsdk::GeometricCalibration > GeometricCalibrationConstPtr
shared pointer to const ipsdk::GeometricCalibration
Definition: GeometricCalibrationTypes.h:31
Definition of import/export macro for library.
eMsrCalibrationType
Enumerate allowing to specify used calibration type.
Definition: MeasureConfigTypes.h:54
eMsrInputShapeCollId _shapeCollId
flag allowing to identify used input shape collection
Definition: MeasureConfig.h:107
#define IPSDKBASESHAPEANALYSIS_API
Import/Export macro for library IPSDKBaseShapeAnalysis.
Definition: IPSDKBaseShapeAnalysisExports.h:25
GeometricCalibrationConstPtr _pGeometricCalibration
Definition: MeasureConfig.h:115
eMsrCalibrationType _geometricCalibrationType
Definition: MeasureConfig.h:111
eMsrInputShapeCollId
Enumerate allowing to identify shape collection used for processing.
Definition: MeasureConfigTypes.h:38
Primary configuration for measures.
Definition: MeasureConfig.h:34
#define IPSDK_DECLARE_SERIAL_WITHOUT_COPY(libraryName, className)
macro enabling serialization on class
Definition: SerializationHdrMacro.h:79
const eMsrCalibrationType & getGeometricCalibrationType() const
retrieve calibration type used for processings
Definition: MeasureConfig.h:140
const eMsrInputShapeCollId & getShapeCollId() const
retrieve shape collection id associated to object
Definition: MeasureConfig.h:134
IntensityPreProcessorConfigPtr _pIntensityPreProcessorConfig
object used to create processed image
Definition: MeasureConfig.h:104
Predefined types for shape analysis measurement informations management.
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
eMsrInputImageId
Enumerate allowing to identify used input image for processing.
Definition: MeasureConfigTypes.h:70
const eMsrInputImageId & getImageId() const
retrieve input image id associated to object
Definition: MeasureConfig.h:122
Base class for serializable class.
Definition: BaseSerializationObject.h:33
boost::shared_ptr< BaseIntensityPreProcessorConfig > IntensityPreProcessorConfigPtr
shared pointer to IntensityPreProcessorConfig object
Definition: MeasureConfigTypes.h:92