IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
LabelAnalysis3dLvl1.h
1 // LabelAnalysis3dLvl1.h:
3 // ----------------------
4 //
14 
15 #ifndef __IPSDKIPLSHAPEANALYSIS_LABELANALYSIS3DLVL1_H__
16 #define __IPSDKIPLSHAPEANALYSIS_LABELANALYSIS3DLVL1_H__
17 
23 #include <boost/bind.hpp>
24 
25 // Attributes headers
26 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Input/3d/InGreyMsrImg3d.h>
27 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Input/3d/InLabelImg3d.h>
28 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/DataItem/InOptSurfaceExtractionSettings.h>
29 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/MeasureInfoSet/InMeasureInfoSet3d.h>
30 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/MeasureSet/OutPIMeasureSet.h>
32 
33 namespace ipsdk {
34 namespace imaproc {
35 namespace shape {
36 namespace analysis {
37 
40 
41 // declare processor class
42 IPSDK_DECLARE_LVL1_PROCESSOR(ASYNC2, IPSDKIPLShapeAnalysis, LabelAnalysis3d,
43  ipsdk::imaproc::matchSize(ipsdk::imaproc::eMatchImageSizeType::eMIST_XYZT, _pInGreyMsrImg3d, _pInLabelImg3d) &&
44  ipsdk::imaproc::matchImagePlans(_pOutPIMeasureSet, _pInGreyMsrImg3d, eImagePlansMatchPolicy::eIPMP_T) &&
45  matchLabelAnalysis(_pInMeasureInfoSet3d),
46  (((ipsdk)(imaproc)(attr))(InGreyMsrImg3d))
47  (((ipsdk)(imaproc)(attr))(InLabelImg3d))
48  (((ipsdk)(imaproc)(attr))(InOptSurfaceExtractionSettings))
49  (((ipsdk)(imaproc)(attr))(InMeasureInfoSet3d))
50  (((ipsdk)(imaproc)(attr))(OutPIMeasureSet)(fromImage)(_pInGreyMsrImg3d)(eFromImagePlanIndexedPolicy::eFIPIP_T)(boost::function<OutPIMeasureSet::PlanStorageType ()>(boost::bind(&ipsdk::imaproc::createMeasureSetFromInfo, _pInMeasureInfoSet3d)))))
51 
52 // methods
53 public:
54 
55 protected:
57  void clearIntermediateData();
58 
59 // attributes
60 protected:
63 };
64 
67 
68 } // end of namespace analysis
69 } // end of namespace shape
70 } // end of namespace imaproc
71 } // end of namespace ipsdk
72 
73 #endif // __IPSDKIPLSHAPEANALYSIS_LABELANALYSIS3DLVL1_H__
#define IPSDK_DECLARE_LVL1_PROCESSOR(ProcType, libraryName, algoName, RuleString, attributeSeq)
processor::RulePtr matchLabelAnalysis(const ShapeMeasureInfoSetAttributeConstPtr &pInMeasureInfoSet)
rule allowing to check that input measure information set configuration is suitable for a label analy...
Utility functions for label analysis parameters check.
boost::shared_ptr< PlanIndexedShape3dColl > PlanIndexedShape3dCollPtr
Definition of import/export macro for library.
processor::OutputInitializerPtr fromImage(const boost::weak_ptr< OutputAttributeType > &pOutputAttribute, const ImageAttributeConstWeakPtr &pInputImageAttribute, const eFromImagePlanIndexedPolicy &fromImagePlanIndexedPolicy)
IPSDKIMAGEPROCESSING_API ipsdk::shape::analysis::MeasureSetPtr createMeasureSetFromInfo(const ShapeMeasureInfoSetAttributeConstWeakPtr &pInputShapeMeasureInfoSetAttribute)
IPSDK_DECLARE_GPU_PROCESSING_ALGORITHM(IPSDKIPLFiltering, Convolution2dImg, ipsdk::imaproc::matchSize(_pInSubGpuImg, _pOutImg),(((ipsdk)(imaproc)(attr))(InSubGpuImg))(((ipsdk)(imaproc)(attr))(InKnlXY))(((ipsdk)(imaproc)(attr))(InNormalize))(((ipsdk)(imaproc)(attr))(InConvolBorder2d))(((ipsdk)(imaproc)(attr))(OutImg))) IPSDKCUDA_DECLARE_ALGORITHM_FUNCTION_SELECTOR((InSubGpuImg)(OutImg)) public void clearIntermediateData()
method called before processing