IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
HoughSpheres3d.h
Go to the documentation of this file.
1 // HoughSpheres3d.h:
3 // -----------------
4 //
14 
15 #ifndef __IPSDKIPLFEATUREDETECTION_HOUGHSPHERES3D_H__
16 #define __IPSDKIPLFEATUREDETECTION_HOUGHSPHERES3D_H__
17 
20 #include <IPSDKIPL/IPSDKIPLAttributes/DataItem/HoughSpheres3dPpties.h>
21 #include <IPSDKIPL/IPSDKIPLAttributes/DataItem/HoughCirclesRadiusRange.h>
22 #include <IPSDKIPL/IPSDKIPLAttributes/DataItem/AccumIntensityThreshold.h>
23 #include <IPSDKIPL/IPSDKIPLAttributes/DataItem/PlanIndexedHoughSpheres3dPpties.h>
24 #include <IPSDKIPL/IPSDKIPLAttributes/DataItem/RemoveTooCloseCirclesParams.h>
26 
27 namespace ipsdk {
28 namespace imaproc {
29 namespace fd {
30 
31 class HoughSpheres3dLvl1;
32 
35 
46  const attr::eCircleIntensityType& intensityType);
50  const attr::eCircleIntensityType& intensityType,
51  const ipsdk::ipUInt64 nbSpheres);
56  const ipUInt32 nbMaxPtsPerCircle,
57  const ipsdk::imaproc::attr::AccumIntensityThresholdConstPtr& pAccumIntensityThreshold,
58  const ipsdk::imaproc::attr::RemoveTooCloseCirclesParamsConstPtr& pRemoveTooCloseCirclesParams);
63  const ipsdk::ipUInt64 nbSpheres,
64  const ipUInt32 nbMaxPtsPerCircle,
65  const ipsdk::imaproc::attr::AccumIntensityThresholdConstPtr& pAccumIntensityThreshold,
66  const ipsdk::imaproc::attr::RemoveTooCloseCirclesParamsConstPtr& pRemoveTooCloseCirclesParams);
68 houghSpheres3d(const image::ImageConstPtr& pInGxImg,
69  const image::ImageConstPtr& pInGyImg,
70  const image::ImageConstPtr& pInGzImg,
73 houghSpheres3d(const image::ImageConstPtr& pInGxImg,
74  const image::ImageConstPtr& pInGyImg,
75  const image::ImageConstPtr& pInGzImg,
78  const ipsdk::ipUInt64 nbSpheres,
79  const ipReal64 maxAngleWithGradDir,
80  const ipUInt32 nbMaxPtsPerCircle,
81  const ipsdk::imaproc::attr::AccumIntensityThresholdConstPtr& pAccumIntensityThreshold,
82  const ipsdk::imaproc::attr::RemoveTooCloseCirclesParamsConstPtr& pRemoveTooCloseCirclesParams,
83  const image::ImagePtr& pOutImg);
85 
94  const attr::HoughCirclesRadiusRangeConstPtr& pRadiusRange);
97  const attr::HoughCirclesRadiusRangeConstPtr& pRadiusRange,
98  const attr::eCircleIntensityType& intensityType);
101  const attr::HoughCirclesRadiusRangeConstPtr& pRadiusRange,
102  const attr::eCircleIntensityType& intensityType,
103  const ipsdk::ipUInt64 nbSpheres);
106  const attr::HoughCirclesRadiusRangeConstPtr& pRadiusRange,
108  const ipUInt32 nbMaxPtsPerCircle,
109  const attr::AccumIntensityThresholdConstPtr& pAccumIntensityThreshold,
110  const attr::RemoveTooCloseCirclesParamsConstPtr& pRemoveTooCloseCirclesParams);
113  const attr::HoughCirclesRadiusRangeConstPtr& pRadiusRange,
115  const ipsdk::ipUInt64 nbSpheres,
116  const ipUInt32 nbMaxPtsPerCircle,
117  const attr::AccumIntensityThresholdConstPtr& pAccumIntensityThreshold,
118  const attr::RemoveTooCloseCirclesParamsConstPtr& pRemoveTooCloseCirclesParams);
121  const image::ImageConstPtr& pInGyImg,
122  const image::ImageConstPtr& pInGzImg,
123  const attr::HoughCirclesRadiusRangeConstPtr& pRadiusRange);
126  const image::ImageConstPtr& pInGyImg,
127  const image::ImageConstPtr& pInGzImg,
128  const attr::HoughCirclesRadiusRangeConstPtr& pRadiusRange,
130  const ipsdk::ipUInt64 nbSpheres,
131  const ipReal64 maxAngleWithGradDir,
132  const ipUInt32 nbMaxPtsPerCircle,
133  const attr::AccumIntensityThresholdConstPtr& pAccumIntensityThreshold,
134  const attr::RemoveTooCloseCirclesParamsConstPtr& pRemoveTooCloseCirclesParams,
135  const image::ImagePtr& pOutImg);
137 
140 IPSDKIPLFEATUREDETECTION_API boost::shared_ptr<HoughSpheres3dLvl1>
143 IPSDKIPLFEATUREDETECTION_API boost::shared_ptr<HoughSpheres3dLvl1>
146  const attr::eCircleIntensityType& intensityType);
147 IPSDKIPLFEATUREDETECTION_API boost::shared_ptr<HoughSpheres3dLvl1>
150  const attr::eCircleIntensityType& intensityType,
151  const ipsdk::ipUInt64 nbSpheres);
152 IPSDKIPLFEATUREDETECTION_API boost::shared_ptr<HoughSpheres3dLvl1>
156  const ipUInt32 nbMaxPtsPerCircle,
157  const ipsdk::imaproc::attr::AccumIntensityThresholdConstPtr& pAccumIntensityThreshold,
158  const ipsdk::imaproc::attr::RemoveTooCloseCirclesParamsConstPtr& pRemoveTooCloseCirclesParams);
159 IPSDKIPLFEATUREDETECTION_API boost::shared_ptr<HoughSpheres3dLvl1>
163  const ipsdk::ipUInt64 nbSpheres,
164  const ipUInt32 nbMaxPtsPerCircle,
165  const ipsdk::imaproc::attr::AccumIntensityThresholdConstPtr& pAccumIntensityThreshold,
166  const ipsdk::imaproc::attr::RemoveTooCloseCirclesParamsConstPtr& pRemoveTooCloseCirclesParams);
167 
168 IPSDKIPLFEATUREDETECTION_API boost::shared_ptr<HoughSpheres3dLvl1>
170  const image::ImageConstPtr& pInGyImg,
171  const image::ImageConstPtr& pInGzImg,
173 IPSDKIPLFEATUREDETECTION_API boost::shared_ptr<HoughSpheres3dLvl1>
175  const image::ImageConstPtr& pInGyImg,
176  const image::ImageConstPtr& pInGzImg,
179  const ipsdk::ipUInt64 nbSpheres,
180  const ipReal64 maxAngleWithGradDir,
181  const ipUInt32 nbMaxPtsPerCircle,
182  const ipsdk::imaproc::attr::AccumIntensityThresholdConstPtr& pAccumIntensityThreshold,
183  const ipsdk::imaproc::attr::RemoveTooCloseCirclesParamsConstPtr& pRemoveTooCloseCirclesParams,
184  const image::ImagePtr& pOutImg);
185 IPSDKIPLFEATUREDETECTION_API boost::shared_ptr<HoughSpheres3dLvl1>
187  const attr::HoughCirclesRadiusRangeConstPtr& pRadiusRange);
188 IPSDKIPLFEATUREDETECTION_API boost::shared_ptr<HoughSpheres3dLvl1>
190  const attr::HoughCirclesRadiusRangeConstPtr& pRadiusRange,
191  const attr::eCircleIntensityType& intensityType);
192 IPSDKIPLFEATUREDETECTION_API boost::shared_ptr<HoughSpheres3dLvl1>
194  const attr::HoughCirclesRadiusRangeConstPtr& pRadiusRange,
195  const attr::eCircleIntensityType& intensityType,
196  const ipsdk::ipUInt64 nbSpheres);
197 IPSDKIPLFEATUREDETECTION_API boost::shared_ptr<HoughSpheres3dLvl1>
199  const attr::HoughCirclesRadiusRangeConstPtr& pRadiusRange,
201  const ipUInt32 nbMaxPtsPerCircle,
202  const attr::AccumIntensityThresholdConstPtr& pAccumIntensityThreshold,
203  const attr::RemoveTooCloseCirclesParamsConstPtr& pRemoveTooCloseCirclesParams);
204 IPSDKIPLFEATUREDETECTION_API boost::shared_ptr<HoughSpheres3dLvl1>
206  const attr::HoughCirclesRadiusRangeConstPtr& pRadiusRange,
208  const ipsdk::ipUInt64 nbSpheres,
209  const ipUInt32 nbMaxPtsPerCircle,
210  const attr::AccumIntensityThresholdConstPtr& pAccumIntensityThreshold,
211  const attr::RemoveTooCloseCirclesParamsConstPtr& pRemoveTooCloseCirclesParams);
212 IPSDKIPLFEATUREDETECTION_API boost::shared_ptr<HoughSpheres3dLvl1>
214  const image::ImageConstPtr& pInGyImg,
215  const image::ImageConstPtr& pInGzImg,
216  const attr::HoughCirclesRadiusRangeConstPtr& pRadiusRange);
217 IPSDKIPLFEATUREDETECTION_API boost::shared_ptr<HoughSpheres3dLvl1>
219  const image::ImageConstPtr& pInGyImg,
220  const image::ImageConstPtr& pInGzImg,
221  const attr::HoughCirclesRadiusRangeConstPtr& pRadiusRange,
223  const ipsdk::ipUInt64 nbSpheres,
224  const ipReal64 maxAngleWithGradDir,
225  const ipUInt32 nbMaxPtsPerCircle,
226  const attr::AccumIntensityThresholdConstPtr& pAccumIntensityThreshold,
227  const attr::RemoveTooCloseCirclesParamsConstPtr& pRemoveTooCloseCirclesParams,
228  const image::ImagePtr& pOutImg);
230 
234 getAsyncProcessorOutput(boost::shared_ptr<HoughSpheres3dLvl1> pProcessor);
236 getAsyncProcessorMultiSliceOutput(boost::shared_ptr<HoughSpheres3dLvl1> pProcessor);
238 
241 
242 } // end of namespace fd
243 } // end of namespace imaproc
244 } // end of namespace ipsdk
245 
246 #endif // __IPSDKIPLFEATUREDETECTION_HOUGHSPHERES3D_H__
eCircleIntensityType
Enumerate describing circle intensity type.
Definition: CircleIntensityTypes.h:31
IPSDKIPLFEATUREDETECTION_API boost::shared_ptr< HoughSpheres3dLvl1 > houghSpheres3d_async(const image::ImageConstPtr &pInImg, const ipsdk::imaproc::attr::HoughCirclesRadiusRangeConstPtr &pRadiusRange)
asynchronous wrappers
IPSDKIPLFEATUREDETECTION_API image::ImagePtr getAsyncProcessorOutput(boost::shared_ptr< CannyEdges2dImgLvl1 > pProcessor)
function to retrieve the result of an asynchronous processor
uint64_t ipUInt64
boost::shared_ptr< ipsdk::imaproc::attr::PlanIndexedHoughSpheres3dPpties > PlanIndexedHoughSpheres3dPptiesPtr
shared pointer to ipsdk::imaproc::attr::PlanIndexedHoughSpheres3dPpties
Definition: PlanIndexedHoughSpheres3dPpties.h:49
boost::shared_ptr< const ipsdk::imaproc::attr::HoughCirclesRadiusRange > HoughCirclesRadiusRangeConstPtr
shared pointer to const ipsdk::imaproc::attr::HoughCirclesRadiusRange
Definition: HoughCirclesRadiusRange.h:134
IPSDKIPLFEATUREDETECTION_API ipsdk::imaproc::attr::HoughSpheres3dPptiesPtr houghSpheres3d(const image::ImageConstPtr &pInImg, const ipsdk::imaproc::attr::HoughCirclesRadiusRangeConstPtr &pRadiusRange)
wrapper function for detects spheres in a 3d image using Hough algorithm
boost::shared_ptr< BaseImage > ImagePtr
double ipReal64
Definition of import/export macro for library.
boost::shared_ptr< const ipsdk::imaproc::attr::AccumIntensityThreshold > AccumIntensityThresholdConstPtr
shared pointer to const ipsdk::imaproc::attr::AccumIntensityThreshold
Definition: AccumIntensityThreshold.h:146
boost::shared_ptr< const ipsdk::imaproc::attr::RemoveTooCloseCirclesParams > RemoveTooCloseCirclesParamsConstPtr
shared pointer to const ipsdk::imaproc::attr::RemoveTooCloseCirclesParams
Definition: RemoveTooCloseCirclesParams.h:134
IPSDKIPLFEATUREDETECTION_API ipsdk::imaproc::attr::PlanIndexedHoughSpheres3dPptiesPtr multiSlice_houghSpheres3d(const image::ImageConstPtr &pInImg, const attr::HoughCirclesRadiusRangeConstPtr &pRadiusRange)
multi slice version of wrapper function for detection of spheres in image using Hough algorithm This ...
IPSDKIPLFEATUREDETECTION_API boost::shared_ptr< HoughSpheres3dLvl1 > multiSlice_houghSpheres3d_async(const image::ImageConstPtr &pInImg, const attr::HoughCirclesRadiusRangeConstPtr &pRadiusRange)
asynchronous wrappers
boost::shared_ptr< const BaseImage > ImageConstPtr
IPSDKIPLFEATUREDETECTION_API ipsdk::imaproc::attr::PlanIndexedPixels2dPtr getAsyncProcessorMultiSliceOutput(boost::shared_ptr< ExtractLocalExtrema2dLvl1 > pProcessor)
function to retrieve the result of an asynchronous processor
boost::shared_ptr< ipsdk::imaproc::attr::HoughSpheres3dPpties > HoughSpheres3dPptiesPtr
shared pointer to ipsdk::imaproc::attr::HoughSpheres3dPpties
Definition: HoughSpheres3dPpties.h:128
#define IPSDKIPLFEATUREDETECTION_API
Import/Export macro for library IPSDKIPLFeatureDetection.
Definition: IPSDKIPLFeatureDetectionExports.h:25
Predefined types for circle intensity types.
uint32_t ipUInt32