easybodge Posted October 21, 2019 Report Share Posted October 21, 2019 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? Quote Link to comment
drjdpowell Posted October 22, 2019 Report Share Posted October 22, 2019 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. Quote Link to comment
easybodge Posted October 22, 2019 Author Report Share Posted October 22, 2019 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 Quote Link to comment
ShaunR Posted October 22, 2019 Report Share Posted October 22, 2019 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. Quote Link to comment
easybodge Posted October 22, 2019 Author Report Share Posted October 22, 2019 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? Quote Link to comment
ShaunR Posted October 22, 2019 Report Share Posted October 22, 2019 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. Quote Link to comment
easybodge Posted October 22, 2019 Author Report Share Posted October 22, 2019 And how would you recommend to use RTree. Is only way currently via SQlite library from drjdpowell above? Quote Link to comment
ShaunR Posted October 24, 2019 Report Share Posted October 24, 2019 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 PGPointCloud. drjdpowell would be better to answer that question on how he did it. Quote Link to comment
easybodge Posted October 24, 2019 Author Report Share Posted October 24, 2019 LASTools or PGPointCloud is not labview though! Did you call dlls in labview? How did you use labview with these libaries? Quote Link to comment
ShaunR Posted October 24, 2019 Report Share Posted October 24, 2019 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. Quote Link to comment
easybodge Posted October 24, 2019 Author Report Share Posted October 24, 2019 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. Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.