How can I filter angular error from structured scans?

Discuss FARO hardware here.
Post Reply
User avatar
Leandre Robitaille
V.I.P Member
V.I.P Member
Posts: 542
Joined: Sat Aug 03, 2019 1:53 am
4
Full Name: Leandre Robitaille
Company Details: Cima+
Company Position Title: Civil Technician - Surveyor
Country: Canada
Has thanked: 61 times
Been thanked: 246 times

How can I filter angular error from structured scans?

Post by Leandre Robitaille »

Hi everyone!

I am looking for a filter that would analyses each scan done and delete data captured bellow a certain angle of return. Filter would analyse the surface near each points and determine at what angle the point was captured. Hence allowing me to keep the best data, for example with an angle of return of over 15 degrees.

I made this quick paint drawing to better visualise what I am looking for (delete red that has smaller angle than specified, keep green) ;
angles.png
This particular project is for a slab analysis and I want to filter possible bad data. I know I could do a distance filter but I am hopping there is another way to achieve this, running structured scans threw some app to filter out the bad points. Is there any software that can do this? Maybe a hidden place in cloudcompare? I think I heard Geomagic does this?

Any input is appreciated!

Thanks,
You do not have the required permissions to view the files attached to this post.
User avatar
landmeterbeuckx
V.I.P Member
V.I.P Member
Posts: 1615
Joined: Tue May 01, 2012 5:19 pm
11
Full Name: Lieven Beuckx
Company Details: Studiebureau Beuckx
Company Position Title: Owner
Country: Belgium
Linkedin Profile: Yes
Has thanked: 183 times
Been thanked: 548 times

Re: How can I filter angular error from structured scans?

Post by landmeterbeuckx »

Leandre Robitaille wrote: Fri Jan 28, 2022 7:50 pm Hi everyone!

I am looking for a filter that would analyses each scan done and delete data captured bellow a certain angle of return. Filter would analyse the surface near each points and determine at what angle the point was captured. Hence allowing me to keep the best data, for example with an angle of return of over 15 degrees.

I made this quick paint drawing to better visualise what I am looking for (delete red that has smaller angle than specified, keep green) ;
angles.png
This particular project is for a slab analysis and I want to filter possible bad data. I know I could do a distance filter but I am hopping there is another way to achieve this, running structured scans threw some app to filter out the bad points. Is there any software that can do this? Maybe a hidden place in cloudcompare? I think I heard Geomagic does this?

Any input is appreciated!

Thanks,
Riscan has loads of filter capabilities but i'm not sure it will work with other datasets. Lot's of attributes are registered but only with Riegl data itself.
LSBbvba
Surveying services - 3D Laserscanning
Tel : +32477753126
www.lsbbvba.be
[email protected]
User avatar
jcoco3
Global Moderator
Global Moderator
Posts: 1724
Joined: Sun Mar 04, 2012 5:43 pm
12
Full Name: Jonathan Coco
Company Details: Consultant
Company Position Title: Owner
Country: USA
Linkedin Profile: No
Has thanked: 70 times
Been thanked: 157 times

Re: How can I filter angular error from structured scans?

Post by jcoco3 »

Search the forum or google for cloud compare point cloud slope or similar. I just recently found where Daniel gave specific instructions on how to create a scalar field for a point cloud based on and slope. I was able to follow his instructions with ease :) After that it would just be a matter of segmenting or classifying specific ranges of the scalar field that are outside your spec so you can discard them.

Just searched for you...Yep, its using dip and dip direction. Here are a couple links I just found that may help.
http://www.danielgm.net/cc/forum/viewtopic.php?t=4699
https://cloudcompare.org/forum/viewtopic.php?t=2966

There are probably many other ways to do this in other programs that might be more efficient, but that's all I got right now.
Good luck.
User avatar
Leandre Robitaille
V.I.P Member
V.I.P Member
Posts: 542
Joined: Sat Aug 03, 2019 1:53 am
4
Full Name: Leandre Robitaille
Company Details: Cima+
Company Position Title: Civil Technician - Surveyor
Country: Canada
Has thanked: 61 times
Been thanked: 246 times

Re: How can I filter angular error from structured scans?

Post by Leandre Robitaille »

Thanks Jonathan!

I did try the search and some googling, but I didn't quite know how to name what I was looking for. I mostly tried ''angular filter'' lol

I looked into the links you provided and that isn't quite what I am looking for. It would be helpful however for slope analysis but we plan on using Cyclone 3DR that has more building code friendly tools. We also will be using a simple autocad elevation shading for colour grading the pointcloud.

I am more looking for a '''filter'' that removes lidar points that are captured from an angle to help remove potential bad points in an attempt to have only the most accurate data. There is inaccuracy given by the angle of return, similar to how a sunset works. I want to be able to keep points recorded at a 15 degree angle from a surface, so a filter that would analyze points near, determine the surface and using the scanner position from the structured scan it would know at what angle the point was captured. If the laser came in at a 0 to 15 degree angle it would delete the point (I think by default most scanners dont record bellow 5 degrees)

My apologies however, I'm trying my best to word what I am looking for, but I might be making some translation mistakes.

I will try the cloudcompare slope tools, they do look like they would be a good alternative to Cyclone 3DR and might be helpful on other projects!
User avatar
Dave Andrews
V.I.P Member
V.I.P Member
Posts: 172
Joined: Thu Oct 18, 2012 8:58 pm
11
Full Name: Dave Andrews
Company Details: R.E. Warner Associates Inc.
Company Position Title: 3d Scanning Coordinator
Country: USA
Linkedin Profile: Yes
Location: Canton, Ohio
Has thanked: 2 times
Been thanked: 22 times
Contact:

Re: How can I filter angular error from structured scans?

Post by Dave Andrews »

Polyworks will do this and the slab analysis. I cannot tell you about other software unfortunately.
"The harder you work, the harder it is to surrender."
Woody Hayes
badam
V.I.P Member
V.I.P Member
Posts: 916
Joined: Tue May 11, 2021 5:36 pm
2
Full Name: Adam Berta
Company Details: InnoScan 3D Hungary Kft
Company Position Title: unknown
Country: Hungary
Linkedin Profile: No
Has thanked: 51 times
Been thanked: 297 times
Contact:

Re: How can I filter angular error from structured scans?

Post by badam »

Leandre Robitaille wrote: Fri Jan 28, 2022 7:50 pm Hi everyone!

I am looking for a filter that would analyses each scan done and delete data captured bellow a certain angle of return. Filter would analyse the surface near each points and determine at what angle the point was captured. Hence allowing me to keep the best data, for example with an angle of return of over 15 degrees.

I made this quick paint drawing to better visualise what I am looking for (delete red that has smaller angle than specified, keep green) ;
angles.png
This particular project is for a slab analysis and I want to filter possible bad data. I know I could do a distance filter but I am hopping there is another way to achieve this, running structured scans threw some app to filter out the bad points. Is there any software that can do this? Maybe a hidden place in cloudcompare? I think I heard Geomagic does this?

Any input is appreciated!

Thanks,
I know that it is not exactly what you are looking for, but statistical outliers will do this you just need to find a sweet spot to keep what you need and delete what you don't. It will delete other things like very far objects, with low amount of points, vegetation etc.
JeffT
Forum Supporter
Forum Supporter
Posts: 112
Joined: Wed May 16, 2012 2:23 pm
11
Full Name: Jeff T
Company Details: Geospatial
Company Position Title: Engineering Technician
Country: USA
Linkedin Profile: Yes
Has thanked: 1 time
Been thanked: 28 times

Re: How can I filter angular error from structured scans?

Post by JeffT »

You can filter that pretty easily in Geomagic, yes. I do it often on floor flatness stuff.

It'd be easier for you if you defined those angles and knew them. On a Leica P40 you could program that in for the scan and that'd be it.

In reality you can just scan and then on import decide to NOT import points within 15ft and outside 60ft-ish. That would accomplish what you want anyway.
User avatar
smacl
Global Moderator
Global Moderator
Posts: 1409
Joined: Tue Jan 25, 2011 5:12 pm
13
Full Name: Shane MacLaughlin
Company Details: Atlas Computers Ltd
Company Position Title: Managing Director
Country: Ireland
Linkedin Profile: Yes
Location: Ireland
Has thanked: 627 times
Been thanked: 657 times
Contact:

Re: How can I filter angular error from structured scans?

Post by smacl »

JeffT wrote: Sun Jan 30, 2022 2:11 amIn reality you can just scan and then on import decide to NOT import points within 15ft and outside 60ft-ish. That would accomplish what you want anyway.
Not quite the same, high noise / points above a certain elevation would be stripped out by a vertical angle filter but not by a range filter. Probably work well enough in reality though. Combining a horizontal range filter with a vertical range filter would do a slightly better job as would using a plane filter after registration.
Shane MacLaughlin
Atlas Computers Ltd
www.atlascomputers.ie

SCC Point Cloud module
User avatar
jcoco3
Global Moderator
Global Moderator
Posts: 1724
Joined: Sun Mar 04, 2012 5:43 pm
12
Full Name: Jonathan Coco
Company Details: Consultant
Company Position Title: Owner
Country: USA
Linkedin Profile: No
Has thanked: 70 times
Been thanked: 157 times

Re: How can I filter angular error from structured scans?

Post by jcoco3 »

Leandre Robitaille wrote: Sat Jan 29, 2022 1:19 am Thanks Jonathan!

I did try the search and some googling, but I didn't quite know how to name what I was looking for. I mostly tried ''angular filter'' lol

I looked into the links you provided and that isn't quite what I am looking for. It would be helpful however for slope analysis but we plan on using Cyclone 3DR that has more building code friendly tools. We also will be using a simple autocad elevation shading for colour grading the pointcloud.

I am more looking for a '''filter'' that removes lidar points that are captured from an angle to help remove potential bad points in an attempt to have only the most accurate data. There is inaccuracy given by the angle of return, similar to how a sunset works. I want to be able to keep points recorded at a 15 degree angle from a surface, so a filter that would analyze points near, determine the surface and using the scanner position from the structured scan it would know at what angle the point was captured. If the laser came in at a 0 to 15 degree angle it would delete the point (I think by default most scanners dont record bellow 5 degrees)

My apologies however, I'm trying my best to word what I am looking for, but I might be making some translation mistakes.

I will try the cloudcompare slope tools, they do look like they would be a good alternative to Cyclone 3DR and might be helpful on other projects!
I apologize for being wrong and unclear. If I understand you correctly you want to remove the points that have a poor angle of incidence from the slab only?
See pictures here for how I interpret the "sunset" effect you mentioned:
viewtopic.php?p=50885#p50885 The scanner already eliminates these to some degree due to poor return intensity, but I assume you want to tweak it a bit further to improve accuracy on the floor. I agree that the method I described using cloud compare is not what you are looking for. It only takes into account angle to the Z axis and can't help you with angle of incidence. I might have to fold on this one and look into the suggestions made by other here.
smacl wrote: Mon Jan 31, 2022 8:55 am
JeffT wrote: Sun Jan 30, 2022 2:11 amIn reality you can just scan and then on import decide to NOT import points within 15ft and outside 60ft-ish. That would accomplish what you want anyway.
Not quite the same, high noise / points above a certain elevation would be stripped out by a vertical angle filter but not by a range filter. Probably work well enough in reality though. Combining a horizontal range filter with a vertical range filter would do a slightly better job as would using a plane filter after registration.
Interesting...Shane just to clarify terms, when you say vertical range filter are you referring to a filter that just cuts off the scan above or below a certain elevation? Reason I ask is I don't want to confuse it with a ground filter which I bring up next.

If I understand this correctly then in the case of a slab you want to keep all the data from the scanner out to some distance then remove the floor out from there until you hit anything that is vertical like a wall or objects protruding from the slab, and you also need to keep everything on the ceiling. Sounds tricky. If there is a single "filter" that can do all that would be impressive. Maybe the Polyworks or Geomagic filters can do that, but I would not know (if anyone can confirm please enlighten me). Perhaps there is a way to use a ground filter to separate the floor from the walls and vertical objects without loosing the ceiling. Then you could just distance filter the ground before combining all the floor with the walls and ceiling again. Sounds simple in theory, but probably a nightmare to implement in practice depending on what software you use :lol: If that is not the scenario you are trying to achieve, and you are simply working with the slab data for analysis (having already registered the scans and removed/discarded the walls and ceiling) then I am struggling to see why a max distance filter per scan wouldn't work. Aside from it making the end of each scan a sharp cut off circle on the floor which can look strange depending on the amount of overlap.

Am I dreaming or has this come up on the forum before? I seem to recall somebody discussing and debating the idea of calculating normals and such to perform a similar operations, but I could be confusing it with another topic.
User avatar
smacl
Global Moderator
Global Moderator
Posts: 1409
Joined: Tue Jan 25, 2011 5:12 pm
13
Full Name: Shane MacLaughlin
Company Details: Atlas Computers Ltd
Company Position Title: Managing Director
Country: Ireland
Linkedin Profile: Yes
Location: Ireland
Has thanked: 627 times
Been thanked: 657 times
Contact:

Re: How can I filter angular error from structured scans?

Post by smacl »

jcoco3 wrote: Mon Jan 31, 2022 3:39 pmInteresting...Shane just to clarify terms, when you say vertical range filter are you referring to a filter that just cuts off the scan above or below a certain elevation? Reason I ask is I don't want to confuse it with a ground filter which I bring up next.

If I understand this correctly then in the case of a slab you want to keep all the data from the scanner out to some distance then remove the floor out from there until you hit anything that is vertical like a wall or objects protruding from the slab, and you also need to keep everything on the ceiling. Sounds tricky. If there is a single "filter" that can do all that would be impressive. Maybe the Polyworks or Geomagic filters can do that, but I would not know (if anyone can confirm please enlighten me). Perhaps there is a way to use a ground filter to separate the floor from the walls and vertical objects without loosing the ceiling. Then you could just distance filter the ground before combining all the floor with the walls and ceiling again. Sounds simple in theory, but probably a nightmare to implement in practice depending on what software you use :lol: If that is not the scenario you are trying to achieve, and you are simply working with the slab data for analysis (having already registered the scans and removed/discarded the walls and ceiling) then I am struggling to see why a max distance filter per scan wouldn't work. Aside from it making the end of each scan a sharp cut off circle on the floor which can look strange depending on the amount of overlap.

Am I dreaming or has this come up on the forum before? I seem to recall somebody discussing and debating the idea of calculating normals and such to perform a similar operations, but I could be confusing it with another topic.
In the case of opening question, a vertical angle filter will isolate all the points on the slab on the floor. A horizontal distance filter would also include other elevated data in the range, notably the ceiling. Adding a level or vertical range filter to the horizontal distance filter would resolve this.

The two primary mechanisms I'd use to filter points on a floor is by filtering by normal distance to a reference plane, of for more complicated surfaces, normal distance to a reference surface (e.g. looking for cracks in a tunnel wall or along a motorway). It is also important to distinguish between levelness and flatness, which comes down to client requirements. (e.g. flatness and levelness may be required for a warehouse floor where robots will be stacking and accessing very high shelves). Semantic segmentation is another tool we're starting to see here, which attempts to classify points based on being part of the same group or object (e.g. planar surfaces, trees, posts and pillars etc...)

There was some great discussion with Cesar Almeida (then of Leica) on the topic a few years back, I'll see if I can dig out the thread.
Shane MacLaughlin
Atlas Computers Ltd
www.atlascomputers.ie

SCC Point Cloud module
Post Reply

Return to “FARO”