16 #ifndef __IPSDKIMAGEPROCESSING_MEASURESETSPLITOPERATORS_H__ 17 #define __IPSDKIMAGEPROCESSING_MEASURESETSPLITOPERATORS_H__ 20 #include <IPSDKImageProcessing/DataSplit/MeasureSet/GenericMeasureSetSplit.h> 21 #include <IPSDKImageProcessing/DataSplit/MeasureSet/Geometry2dMeasureSetSplit.h> 22 #include <IPSDKImageProcessing/DataSplit/MeasureSet/Geometry3dMeasureSetSplit.h> 23 #include <IPSDKImageProcessing/DataSplit/MeasureSet/IntensityMeasureSetSplit.h> 24 #include <IPSDKImageProcessing/DataSplit/MeasureSet/Intensity3dMeasureSetSplit.h> 25 #include <boost/make_shared.hpp> 35 template <
typename TProcessor,
typename TAttribute,
typename InputDataType>
36 inline boost::shared_ptr<GenericMeasureSetSplit<TProcessor, InputDataType, TAttribute> >
41 boost::shared_ptr<DataSplit> pDataSplit = boost::make_shared<DataSplit>();
42 pDataSplit->
init(pMeasureSet, pMeasureSetColl);
46 template <
typename TProcessor,
typename TAttribute,
typename InputAttributeType>
47 inline boost::shared_ptr<GenericMeasureSetSplit<TProcessor, typename InputAttributeType::ValueType, TAttribute> >
48 genericSplit(
const boost::shared_ptr<InputAttributeType>& pMeasureSetAttribute,
52 boost::shared_ptr<DataSplit> pDataSplit = boost::make_shared<DataSplit>();
53 pDataSplit->
init(pMeasureSetAttribute->getStorage(), pMeasureSetColl);
61 template <
typename TProcessor,
typename TAttribute,
typename InputDataType>
62 inline boost::shared_ptr<Geometry2dMeasureSetSplit<TProcessor, InputDataType, TAttribute> >
67 boost::shared_ptr<DataSplit> pDataSplit = boost::make_shared<DataSplit>();
68 pDataSplit->
init(pMeasureSet, pMeasureSetColl);
72 template <
typename TProcessor,
typename TAttribute,
typename InputAttributeType>
73 inline boost::shared_ptr<Geometry2dMeasureSetSplit<TProcessor, typename InputAttributeType::ValueType, TAttribute> >
74 geometry2dSplit(
const boost::shared_ptr<InputAttributeType>& pMeasureSetAttribute,
78 boost::shared_ptr<DataSplit> pDataSplit = boost::make_shared<DataSplit>();
79 pDataSplit->
init(pMeasureSetAttribute->getStorage(), pMeasureSetColl);
87 template <
typename TProcessor,
typename TAttribute,
typename InputDataType>
88 inline boost::shared_ptr<Geometry3dMeasureSetSplit<TProcessor, InputDataType, TAttribute> >
93 boost::shared_ptr<DataSplit> pDataSplit = boost::make_shared<DataSplit>();
94 pDataSplit->
init(pMeasureSet, pMeasureSetColl);
98 template <
typename TProcessor,
typename TAttribute,
typename InputAttributeType>
99 inline boost::shared_ptr<Geometry2dMeasureSetSplit<TProcessor, typename InputAttributeType::ValueType, TAttribute> >
104 boost::shared_ptr<DataSplit> pDataSplit = boost::make_shared<DataSplit>();
105 pDataSplit->
init(pMeasureSetAttribute->getStorage(), pMeasureSetColl);
113 template <
typename TProcessor,
typename TAttribute,
typename InputDataType>
114 inline boost::shared_ptr<IntensityMeasureSetSplit<TProcessor, InputDataType, TAttribute> >
121 boost::shared_ptr<DataSplit> pDataSplit = boost::make_shared<DataSplit>();
122 pDataSplit->
init(pMeasureSet, pShape2dColl, pMeasureSetColl, pShapeIndexesColl);
126 template <
typename TProcessor,
typename TAttribute,
typename InputAttributeType>
127 inline boost::shared_ptr<IntensityMeasureSetSplit<TProcessor, typename InputAttributeType::ValueType, TAttribute> >
128 intensitySplit(
const boost::shared_ptr<InputAttributeType>& pMeasureSetAttribute,
134 boost::shared_ptr<DataSplit> pDataSplit = boost::make_shared<DataSplit>();
135 pDataSplit->
init(pMeasureSetAttribute->getStorage(), pShape2dColl, pMeasureSetColl, pShapeIndexesColl);
143 template <
typename TProcessor,
typename TAttribute,
typename InputDataType>
144 inline boost::shared_ptr<Intensity3dMeasureSetSplit<TProcessor, InputDataType, TAttribute> >
151 boost::shared_ptr<DataSplit> pDataSplit = boost::make_shared<DataSplit>();
152 pDataSplit->
init(pMeasureSet, pShape3dColl, pMeasureSetColl, pShapeIndexesColl);
156 template <
typename TProcessor,
typename TAttribute,
typename InputAttributeType>
157 inline boost::shared_ptr<IntensityMeasureSetSplit<TProcessor, typename InputAttributeType::ValueType, TAttribute> >
158 intensitySplit(
const boost::shared_ptr<InputAttributeType>& pMeasureSetAttribute,
164 boost::shared_ptr<DataSplit> pDataSplit = boost::make_shared<DataSplit>();
165 pDataSplit->
init(pMeasureSetAttribute->getStorage(), pShape3dColl, pMeasureSetColl, pShapeIndexesColl);
177 #endif // __IPSDKIMAGEPROCESSING_MEASURESETSPLITOPERATORS_H__ boost::shared_ptr< GenericMeasureSetSplit< TProcessor, InputDataType, TAttribute > > genericSplit(const boost::shared_ptr< InputDataType > &pMeasureSet, const MeasureSetCollPtr &pMeasureSetColl=MeasureSetCollPtr())
create a splitted generic measure set operation used for data dispatch
Definition: MeasureSetSplitOperators.h:37
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
boost::shared_ptr< IntensityMeasureSetSplit< TProcessor, InputDataType, TAttribute > > intensitySplit(const boost::shared_ptr< InputDataType > &pMeasureSet, const ipsdk::shape::segmentation::Shape2dCollConstPtr &pShape2dColl, const MeasureSetCollPtr &pMeasureSetColl=MeasureSetCollPtr(), const UInt64VectorCollPtr &pShapeIndexesColl=UInt64VectorCollPtr())
create a splitted intensity measure set operation used for data dispatch
Definition: MeasureSetSplitOperators.h:115
boost::shared_ptr< MeasureSetColl > MeasureSetCollPtr
shared pointer to measure set collection
Definition: MeasureSetSplitTypes.h:54
void init(const boost::shared_ptr< InputDataType > &pMeasureSet, const ipsdk::shape::segmentation::Shape2dCollConstPtr &pShape2dColl, const MeasureSetCollPtr &pMeasureSetColl, const UInt64VectorCollPtr &pShapeIndexesColl)
initialization method for splitted objects
Definition: IntensityMeasureSetSplit.h:105
void init(const boost::shared_ptr< InputDataType > &pMeasureSet, const MeasureSetCollPtr &pMeasureSetColl)
initialization method for splitted objects
Definition: Geometry3dMeasureSetSplit.h:98
Definition of import/export macro for library.
Concrete class for split operation generating geometry 2d sub measure set for data dispatch...
Definition: Geometry2dMeasureSetSplit.h:28
boost::shared_ptr< UInt64VectorColl > UInt64VectorCollPtr
shared pointer to collection of index associated to split operation coded with 64 bits ...
Definition: MeasureSetSplitTypes.h:66
boost::shared_ptr< const Shape3dColl > Shape3dCollConstPtr
shared pointer to const shape 3d collection object
Definition: Shape3dTypes.h:34
boost::shared_ptr< const Shape2dColl > Shape2dCollConstPtr
shared pointer to const shape 2d collection object
Definition: Shape2dTypes.h:34
Concrete class for split operation generating intensity sub measure set for data dispatch.
Definition: Intensity3dMeasureSetSplit.h:29
Concrete class for split operation generating generic sub measure set for data dispatch.
Definition: GenericMeasureSetSplit.h:28
void init(const boost::shared_ptr< InputDataType > &pMeasureSet, const ipsdk::shape::segmentation::Shape3dCollConstPtr &pShape3dColl, const MeasureSetCollPtr &pMeasureSetColl, const UInt64VectorCollPtr &pShapeIndexesColl)
initialization method for splitted objects
Definition: Intensity3dMeasureSetSplit.h:105
Concrete class for split operation generating geometry 3d sub measure set for data dispatch...
Definition: Geometry3dMeasureSetSplit.h:28
boost::shared_ptr< Geometry2dMeasureSetSplit< TProcessor, InputDataType, TAttribute > > geometry2dSplit(const boost::shared_ptr< InputDataType > &pMeasureSet, const MeasureSetCollPtr &pMeasureSetColl=MeasureSetCollPtr())
create a splitted geometry 2d measure set operation used for data dispatch
Definition: MeasureSetSplitOperators.h:63
boost::shared_ptr< Geometry3dMeasureSetSplit< TProcessor, InputDataType, TAttribute > > geometry3dSplit(const boost::shared_ptr< InputDataType > &pMeasureSet, const MeasureSetCollPtr &pMeasureSetColl=MeasureSetCollPtr())
create a splitted geometry 3d measure set operation used for data dispatch
Definition: MeasureSetSplitOperators.h:89
void init(const boost::shared_ptr< InputDataType > &pMeasureSet, const MeasureSetCollPtr &pMeasureSetColl)
initialization method for splitted objects
Definition: GenericMeasureSetSplit.h:98
void init(const boost::shared_ptr< InputDataType > &pMeasureSet, const MeasureSetCollPtr &pMeasureSetColl)
initialization method for splitted objects
Definition: Geometry2dMeasureSetSplit.h:98
Concrete class for split operation generating intensity sub measure set for data dispatch.
Definition: IntensityMeasureSetSplit.h:29