Page 1 of 1

Pointcloud Clean up functions

Posted: Tue Mar 10, 2015 3:41 pm
by Discus999
Hello all,

I worked for a wile with Cloud Compare with generated point clouts of an fringe projection system.
But it is hard to remove for example outliers, or small wrong point clouts outside the measured area.
At least it is hard to to clean-up the measured point clouts.
You already add some functions of the PCL library at your program.

So here my question:
Is it possible to add some clean up functions from the PCL libary in Cloudcompare?
For example:
RadiusOutlierRemoval
ShadowPoints

Thanks a lot for your great work on CloudCompare,

Best regards,
Discus999

Re: Pointcloud Clean up functions

Posted: Tue Mar 10, 2015 4:12 pm
by daniel
Hi,

I guess you have already used the Statistical Outlier Removal (SOR) tool? (or the slightly more evolved 'Tools > Noise > Clean' version?).

The Radius Outlier Removal (ROR) filter of PCL only consists in removing the points with a low local density (i.e. the points that are alone in a given sphere). You can get the exact same result by computing the density (with the 'Tools > Other > Density' - use the 'precise' density with the same radius than what you would have used for the ROR filter and choose the 'number of neighbors' as output). Eventually remove the points with a low density (e.g. 1 or 2 neighbors) with the 'Edit > Scalar fields > Filter by value' method.

The ShadowPoints filter is more interesting. We should ask Luca (the qPCL plugin author) about that.

Re: Pointcloud Clean up functions

Posted: Tue Oct 15, 2024 8:12 am
by rowild
Old post, but I am new to CloudCompare! And fascinated!

I would like to ask if there is a way to select certain points and move them to the same level?

Rather often it happens that a e.g. river or lake is not generated properly, but instead spreads beneath its surface level. I would like to try to collect those points and move them up to the same level as the river's surface. I am aware that it might not work, since those low-generated points often are only what the water reflects. But I would like to try anyway...

Thank you!

Re: Pointcloud Clean up functions

Posted: Tue Oct 15, 2024 7:28 pm
by daniel
Well, either you have a way to easily segment the points at the water level (such as a classification field for instance), or you can use the scissors tool to segment these points manually. Then you can manually rise them (with the 'Edit > Translate/Rotate' tool), or by a specific amount (with the 'Edit > Apply transformation tool).

And last, you can merge the 2 sets of points back together.

Re: Pointcloud Clean up functions

Posted: Sat Oct 19, 2024 8:02 pm
by rowild
Thanks for the reply! – I did use the scissors to create a separate point cloud of all those points that are scattered over various z positions below the "ground". But I have not yet found a function that allows me to move all those point to the very same z level – let's say 0 – in order to form a flat-levelled ground. Did I oversee something?

Maybe I explained myself badly, let me try again, just to be sure. The points I am talking about are all on different z positions below the "ground" (which is a floor or a pathway or in my case the surface of a calm river). I would like to move all those points below 0 (and they all have different values) to the same z level, 0 in my case, in order to fill that whole and restore the surface of the river. So it should be a function that sets z to 0, if I am not totally mistaken.

Re: Pointcloud Clean up functions

Posted: Thu Oct 24, 2024 9:11 am
by daniel
Ah, ok, then there are 2 solutions:
- you multiply (Edit > Multiply/scale) their z coordinates by 0
- you create a scalar field with a constant value (0) and then transfer this scalar field to the z coordinates ('Edit > Scalar fields > Add constant SF' and 'Edit > Scalar fields > Set SF as coordinate(s)')