Skip to content

Commit 2e46583

Browse files
committed
Merge pull request strawlab#62 from larsmans/outlierfilter-getters-setters
Getters and setters for StatisticalOutlierRemovalFilter
2 parents c60e59f + 04ebbfe commit 2e46583

File tree

3 files changed

+25
-0
lines changed

3 files changed

+25
-0
lines changed

pcl/_pcl.pyx

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -452,6 +452,24 @@ cdef class StatisticalOutlierRemovalFilter:
452452
def __dealloc__(self):
453453
del self.me
454454

455+
property mean_k:
456+
def __get__(self):
457+
return self.me.getMeanK()
458+
def __set__(self, int k):
459+
self.me.setMeanK(k)
460+
461+
property negative:
462+
def __get__(self):
463+
return self.me.getNegative()
464+
def __set__(self, bool neg):
465+
self.me.setNegative(neg)
466+
467+
property stddev_mul_thresh:
468+
def __get__(self):
469+
return self.me.getStddevMulThresh()
470+
def __set__(self, double thresh):
471+
self.me.setStddevMulThresh(thresh)
472+
455473
def set_mean_k(self, int k):
456474
"""
457475
Set the number of points (k) to use for mean distance estimation.

pcl/pcl_defs.pxd

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,8 +192,11 @@ ctypedef shared_ptr[PointCloud[PointXYZ]] PointCloudPtr_t
192192
cdef extern from "pcl/filters/statistical_outlier_removal.h" namespace "pcl":
193193
cdef cppclass StatisticalOutlierRemoval[T]:
194194
StatisticalOutlierRemoval()
195+
int getMeanK()
195196
void setMeanK (int nr_k)
197+
double getStddevMulThresh()
196198
void setStddevMulThresh (double std_mul)
199+
bool getNegative()
197200
void setNegative (bool negative)
198201
void setInputCloud (shared_ptr[PointCloud[T]])
199202
void filter(PointCloud[T] &c)

tests/test.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -272,15 +272,19 @@ def _tneg(self, c):
272272
def testFilterPos(self):
273273
fil = self.p.make_statistical_outlier_filter()
274274
fil.set_mean_k (50)
275+
self.assertEqual(fil.k, 50)
275276
fil.set_std_dev_mul_thresh (1.0)
277+
self.assertEqual(fil.stddev_mul_thresh, 1.0)
276278
c = fil.filter()
277279
self._tpos(c)
278280

279281
def testFilterNeg(self):
280282
fil = self.p.make_statistical_outlier_filter()
281283
fil.set_mean_k (50)
282284
fil.set_std_dev_mul_thresh (1.0)
285+
self.assertEqual(fil.negative, False)
283286
fil.set_negative(True)
287+
self.assertEqual(fil.negative, True)
284288
c = fil.filter()
285289
self._tneg(c)
286290

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy