[vtkusers] How to generate a mesh from surface points (original surface not convex)

Arnaud GELAS arnaud_gelas at hms.harvard.edu
Mon Oct 26 10:13:12 EDT 2009


Hi Lynx,

In vtk, there is one filter to reconstruct surface from a set of points 
vtkSurfaceReconstructionFilter 
(http://www.vtk.org/doc/nightly/html/classvtkSurfaceReconstructionFilter.html), 
it is based on the work of Hugues Hoppe 1992. Results are not really 
impressive but that could help.

The first step of this method is to estimate normals at sample points. 
You can easily extract the piece of code to do this.

Depending on your sampling, and the size of your point clouds then you 
may consider alternative methods:

    * MPU Yutaka Ohtake
      http://www.den.rcast.u-tokyo.ac.jp/~yu-ohtake
    * Poisson surface reconstruction
      http://www.cs.jhu.edu/~misha/
    * Wavelet based surface reconstruction
      http://students.cs.tamu.edu/jmanson/programs_wavelet_reconstruct.html

Note that

   1. there are lots of methods out there to reconstruct surface, and I
      just point you some "fast" methods.
   2. MPU is really easy to implement in vtk, or itk ;-) , and that
      could be useful for the community ;-)


Have a good day,
Arnaud


On 10/26/2009 06:54 AM, lynx.abraxas at freenet.de wrote:
> On 24/10/09 22:28:01, David Doria wrote:
>    
>> On Sat, Oct 24, 2009 at 9:18 PM, Gao, Yi<gaoyi.cn at gmail.com>  wrote:
>>      
>>> Hi Bill,
>>>
>>> My impression on the Gauss Splat, at
>>>        
>>                                                                             >
>>      
> http://www.itk.org/Wiki/Create_a_surface_from_Unorganized_Points_(Gaussian_Splat)
>    
>>> seems to be able to achieve this point-->surface reconstruction.
>>>
>>> However from your message seems that I misunderstood the its usage, or
>>> David's problem. Could I know the difference?
>>>
>>> Thanks!
>>> yi
>>>        
>> Yi,
>>
>> You are right, I forgot about that. From my understanding, that
>> procedure makes a volumetric grid of data and "fills" it with
>> volumetric blobs around each point. Then it finds the surface of those
>> blobs using the ContourFilter. I guess I didn't test this extensively,
>> but it seems to produce very "blobby" surfaces. I suppose there are
>> some parameters that can be tuned, but this is a fundamentally
>> different process than the point normal estimation->surface
>> reconstruction that CGAL has. What did you use it for, Yi? I was
>> trying to make a model from several registered LiDAR scans, but the
>> outliers were causing ridiculous surfaces to be made. I suppose that
>> might be the same result for the CGAL reconstruction, but they have
>> nice outlier rejection, simplification, and smoothing things to deal
>>                                    with                                  that
>>      
> (http://www.cgal.org/Manual/last/doc_html/cgal_manual/Point_set_processing_3/Chapter_main.html).
>    
>> I've just started working on implementing some of this stuff for VTK,
>> are you interested in helping?
>>      
> I just had the idea that the bobby splatter surface might allow me to estimate
> a normal for each point that I then could use  for  the  cgal  reconstruction.
> I'll need some time to test that. I'm not sure if I've enough knowledge yet to
> help implementing.
>
> Regards,
> Lynx
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtkusers
>    

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20091026/bba83fae/attachment.htm>


More information about the vtkusers mailing list