[pdal] Filtering out coplanar points

Etienne B. Racine etiennebr at gmail.com
Mon Apr 25 09:49:39 PDT 2016


Hi Bradley,

I'm looking for the highest-level solution, and if it requires building a
new filter I would consider it although I'd had to find the time to do it
properly. My only reservation with coding it in c++ is that I haven't
settled on a solution yet, so having the ability to try different
approaches in python seems valuable to iterate rapidly and find a working
solution. It is still very interesting to see that PDAL gives access to
many pieces to manipulate points efficiently.

Etienne

Le lun. 25 avr. 2016 à 12:10, Bradley Chambers <brad.chambers at gmail.com> a
écrit :

> Etienne,
>
> Are you hoping to put together a pipeline using existing PDAL (and
> possibly PCL) filters? Or are you open to creating something new altogether?
>
> I think you will have the best luck going the latter route, although you
> may have some success coding up your algorithm in Python, using the
> programmable filter [1], in which case you can use PDAL out of the box. PCL
> can even be used in front of the Python code to generate normals - it just
> wouldn't be available to you within the Python environment.
>
> It'll be up to you to determine the best approach for scoring your points,
> but the framework for building your algorithm using PDAL and PCL should all
> be in place. I'd be tempted to write a new PDAL plugin that implements a
> filter [2] and leverages some of PCL's modules (e.g., computing normals,
> SAC segmentation, etc.). The ground filter in our PCL plugin [3] should
> give you a good feel for how such a filter would be organized and built.
>
> Best of luck!
>
> Brad
>
> [1] http://www.pdal.io/stages/filters.programmable.html
> [2] http://www.pdal.io/tutorial/writing-filter.html
> [3]
> https://github.com/PDAL/PDAL/blob/master/plugins/pcl/filters/GroundFilter.cpp
>
>
> On Mon, Apr 25, 2016 at 10:58 AM Etienne B. Racine <etiennebr at gmail.com>
> wrote:
>
>> Hi list,
>>
>> I'm looking for a way of thinning a point cloud by scoring points
>> according to the information they bring according to an interpolated
>> surface (such as a DEM). PDAL can filter points randomly either on a grid
>> or systematically, but I'd like to keep points that indicate an inflection
>> and remove points that are within a plane tolerance (since they don't bring
>> much information if the points are linearly interpolated to a surface). I
>> know PCL can compute normals, could that be leveraged to provide a smarter
>> way to thin a point cloud or harnessing the progressive morphological
>> filter? I haven't found much relevant literature on that, but there must
>> be. I probably don't have the right terminology. If you have any insights,
>> I'd appreciate.
>>
>> One way to think about it would be to
>>
>>    - Generate a DEM with the whole set of points;
>>    - For each point in dataset:
>>    - remove a point and generate another DEM;
>>       - compare the change in elevation (or volume or whatever metric
>>       you want) using e.g. RMSE;
>>       - associate RMSE value to the removed point;
>>    - Remove point with lowest RMSE, repeat until you reach a
>>    user-defined threshold.
>>
>> This would be tedious, there's probably a better way. I thought it might
>> trigger some ideas or help people send me in the right direction.
>>
>> Etienne
>>
> _______________________________________________
>> pdal mailing list
>> pdal at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/pdal
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/pdal/attachments/20160425/280e1287/attachment-0001.html>


More information about the pdal mailing list