Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] Normal Estimate Example

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] Normal Estimate Example


Chronological Thread 
  • From: Simon Giraudot <>
  • To:
  • Subject: Re: [cgal-discuss] Normal Estimate Example
  • Date: Tue, 13 Mar 2018 09:23:08 +0100
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None ; spf=None ; spf=None
  • Ironport-phdr: 9a23:1HI7Dx/UYRxqDf9uRHKM819IXTAuvvDOBiVQ1KB31e0cTK2v8tzYMVDF4r011RmVBd6ds6oMotGVmpioYXYH75eFvSJKW713fDhBt/8rmRc9CtWOE0zxIa2iRSU7GMNfSA0tpCnjYgBaF8nkelLdvGC54yIMFRXjLwp1Ifn+FpLPg8it2O2+55Pebx9UiDahfLh/MAi4oQLNu8cMnIBsMLwxyhzHontJf+RZ22ZlLk+Nkhj/+8m94odt/zxftPw9+cFAV776f7kjQrxDEDsmKWE169b1uhTFUACC+2ETUmQSkhpPHgjF8BT3VYr/vyfmquZw3jSRMMvrRr42RDui9b9mRgL2hicJNzA382/ZhcJ/g61ZvB2vqAdyw5LXbYyPKPZyYq3QcNMcSGFcXshRTStBAoakYoUSDuoBOOFYr4/grFUPrBu+HxOjBP7yxT9Pmn/9wKo30/8gEQHD2wwgGcgCsHvVrNXvLqgSTP26zK7UzTjYYPNZxzD96I3WfRA9u/GNXbxwftDNxkkzEAPFlFWRpZb5MDOS0+QAqm6W5PduW+Kojm4osQBxoj63y8cjlIbJgYcVxU7Y9SVjwIc1K8e3R1JnYd6jCptRtzuWOJdxQsMnRWxjpSU0yqUetJO0fSUG0okrywLfZvCdcoWE/wjvWeKeLDtgh39pZqizihez/ES61OHwSsa53ExXoidKndTBsG0G2QbJ5cidUPR9+1+s2TaR2ADX7eFJOUI5mbDeK54m37I9lJ4evV7GHiDsmUX2iLaadkI5+ui08ejnZavmpp+GO49ylA7+Lrwims25AesmLggDR2eW9OWm2LH+4UH0QK9Gg/wrnqXDtJ3XKtwXpqujDA9U1oYj5Qy/DzCj0NkAhnkHLVdFeBWBj4TzNFHOIer4Au2ig1uxlzdr2+vLPrL/DZXKK3jMjqvhfax96k5S0gU80cxf55VOCrABOv78RkjxtNnAAh8jLwO02/rnCMl61o4GRW2PDbWWMKfLvVCV5+IvOPWDZJIOuDbmMPUl/P7vjXohmVAHZ6Wp3J0XaGq5Hvt8OUmZb2Ds0Z89FjIBsQM6CeDrk1afSiV7ZnCoXqt66CtoJpihCNL4R4WqhvSu3T2yA5FReigSEVGJFnGueISeUuoAbz66LcJmlzEYT6mvQoQ90gu/8gT9zuw0faLv5iQEuMe7h5BO7OrJmERqrG0mP4Gmy2iIClpMsCYNTj4y0rp4pBYkmFiO1q11n+ZJG9VY+/RTQ0ExMpuOl7UmWeC3YRrIe5KycHjjWs+vW2hjQd82xtISeVdzEt6+iQrSmSGtBu1NzuHZNNkP6qvZmkPJCYN9xnLBjvdz0B8jRZIQZCujj697sg/OG8jOjUXfkau2J/wR

Hello,

[Update]
I have tried k=6, where it also used 43660 Mb main memory.
If I understand correctly, the code stores a graph that would k*N in size (with N your number of points). I've tried on a 6 million points and k=19 and the RAM usage goes to 7GB, so I'm not really surprised by your results on such a large point cloud. I'll have a look into the code to see if something can be improved…

For the record, what do you need oriented normals for? Many algorithms only require unoriented normals (I can mostly think of Poisson reconstruction in CGAL which does require orientation).
But the resulting point cloud only being erased to one single point by the
code block:

// Optional: delete points with an unoriented normal
// if you plan to call a reconstruction algorithm that expects oriented
normals.
points.erase(unoriented_points_begin, points.end());
I'm not sure I understand what's your problem here: does this erase ALL of your points except for one? Or something else?

I don't know if this is your case, but just a note: algorithms that are applied to K nearest neighbors can give incorrect and unexpected results if the point cloud is highly non-uniform (for example, if you have very dense scanlines with a high space between each scanline).

Best,

--
Simon Giraudot, PhD
R&D Engineer
GeometryFactory - http://geometryfactory.com/




Archive powered by MHonArc 2.6.18.

Top of Page