Jump to content
easybodge

Randomly scattered laser data

Recommended Posts

I wonder if someone had an opportunity to extract points of interest from randomly scattered laser data available as 3d point cloud?

I have plotted it successfully using scatter plot. But I want to take measurements on curvature. For instance, for a 3d point cloud data for 'Human Arm', I wish to be able to measure distance between finger tips and elbow. When posing to measure biceps size, I need to measure angle between elbow and shoulder. I have read we could create mathematical model for one axis in terms of other two axis i.e. 

Z = a + bx + cy + dx2 .... 

But model might not define angles, slopes, height that I want to analyse on Arm. 

Random scatteredness of data provides limited options to use standard slope equations to achieve these measurements. Data is scattered everywhere on arrays. 

I have managed to achieve some measurements but it was after fully sorting the 3 million point array ( for each axis - x,y,z) and then just treating whole sets of data as arrays and using standard arrays functions i.e. max/min, mean etc. 

I am not sure if I am heading in the right direction with taking measurements from 3d point cloud data. So I wanted to find how experts here at LAVA would do. Any ideas?

Share this post


Link to post
Share on other sites

I've done a 3D-points-cloud type application in the past.  I used SQLite to store and analyse the data, using the RTree feature to store points (the RTree is designed for fast lookup of multi dimensional mapping data).  One can do max/min, mean, std dev, etc user various filter conditions in SQLite much easier than in LabVIEW arrays.

For display I used the 3D Picture Control.

Both these techs involve a steep learning curve but are very useful for your type of application.

Share this post


Link to post
Share on other sites

so as it stands calculation of measurement is still using algorithms with arrays i.e. old fashioned ways of making 'running averages with shift registers'. Don't get me wrong it certainly works but I just wanted to clarify that there was not other developments to work directly with 3d graphs. Scatter plot gives us color ramps on 3d automatically with datasets having different slopes/min/max etc. I would have thought there would be direct ways to filter such areas of 3d graphs

Share this post


Link to post
Share on other sites
3 hours ago, easybodge said:

so as it stands calculation of measurement is still using algorithms with arrays i.e. old fashioned ways of making 'running averages with shift registers'. Don't get me wrong it certainly works but I just wanted to clarify that there was not other developments to work directly with 3d graphs. Scatter plot gives us color ramps on 3d automatically with datasets having different slopes/min/max etc. I would have thought there would be direct ways to filter such areas of 3d graphs

One of the requirements for 3d feature extraction is extracting datapoints in the  neighbourhood of the feature. RTree is a good solution for that. RTree would give you the datapoints around your "finger", "elbow" and "shoulder" and you could draw lines between the centroid of those (giving you the lengths). Given you have three centroids you can then calculate the angle between the shoulder/elbow and finger/elbow. 

Share this post


Link to post
Share on other sites

Well the requirement is 'automated' calculation without user to put cursors or draw lines. So algorithm has to detect by coded intelligence where fingers are, elbows and muscles are. Using pt by pt array data analysis, it is possible to compare current data with previous stored on shift registers and detect changes. These changes could then be built into models to define elbows, fingers etc. 

Does RTRee and SQlite give access to that level to achieve fully automated calculation?

Share this post


Link to post
Share on other sites
56 minutes ago, easybodge said:

Well the requirement is 'automated' calculation without user to put cursors or draw lines. So algorithm has to detect by coded intelligence where fingers are, elbows and muscles are. Using pt by pt array data analysis, it is possible to compare current data with previous stored on shift registers and detect changes. These changes could then be built into models to define elbows, fingers etc. 

Does RTRee and SQlite give access to that level to achieve fully automated calculation?

RTree just gives you a bounded nearest neighbour search. How you come up with those bounds is not within that scope.

Share this post


Link to post
Share on other sites

And how would you recommend to use RTree. Is only way currently via SQlite library from drjdpowell above?

Share this post


Link to post
Share on other sites
On 10/22/2019 at 9:34 PM, easybodge said:

And how would you recommend to use RTree. Is only way currently via SQlite library from drjdpowell above?

Well. SQLite doesn't let you use point cloud queries directly like LASTools or PGPointClouddrjdpowell would be better to answer that question on how he did it.

Share this post


Link to post
Share on other sites

LASTools or PGPointCloud is not labview though! Did you call dlls in labview? How did you use labview with these libaries?

Share this post


Link to post
Share on other sites
1 hour ago, easybodge said:

LASTools or PGPointCloud is not labview though!

Neither is SQLite.

1 hour ago, easybodge said:

Did you call dlls in labview? How did you use labview with these libaries?

My (brief) foray into this area was before those solutions were available.

Share this post


Link to post
Share on other sites

ok well I have nearly 80% solutions available as it stands but it is all with pure labview functions. It does work to achieve calculations that I require. I will first complete using techniques that I started building it with. then I will look into hooking these libraries up with labview and see how far I get. 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.