contrib/vtkSurfaceReconstructionFilter : data/examples ?

Tim Hutton T.Hutton at
Mon Jan 10 05:50:06 EST 2000

At 02:30 09/01/00 +0100, you wrote:
>Dear users, Tim,
>There is a nice looking class in contrib/, called
>I thought I would have a look at the corresponding example
>contrib/examplesTcl/reconstructSurface, but ran out of luck, as the script
>complained about a missing file : SampledPoints/cactus.3337.pts

(or via )

>BTW Tim, once again this class might help me, as we are working on the same
>kind of stuff which involve 3D reconstruction of facial stuff. How are you
>using it ? Did you compare this class with the usual approach described in
>the VTK examples/books (optional stuff in brackets) : 
>	- Image/Volume16Reader
>	- MarchingCubes
>	- CleanPolyData
>	- [PolyDataConnectivityFilter]
>	- [SmoothPolyDataFilter] 
>	- Decimate[Pro]
>	- [SmoothPolyDataFilter]
>	- [PolyDataNormals]
>	- [Stripper]

Er, well that's all fine, as long as you've got an image to start with.
Then you don't need unorganized points surface reconstruction at all, just
marching cubes as above will do the trick. I don't use the class for my faces.

The vtkSurfaceReconstructionFilter class is for when you just have a set of
points that you know to lie on the surface of an object, such as from a 3d
digitizer. The tcl example should make things a little clearer, try
visualising the raw points.

>On my Pentium II, 300 Mhz, 196 RAM, reconstructing the "bones" for a tissue
>thresholded at 1190 (not segmented sadly) from 240 CT slices (224x224
>pixels) takes quite a long time (more than 6 minutes) :
>bone reader:        13 s. => 13 s.
>bone mcubes:        25 s. => 38 s. (942668 polys, 471700 points)
>bone cleaner:       13 s. => 51 s. (942668 polys, 471682 points)
>bone connect:       9 s. => 60 s. (902114 polys, 471682 points)
>bone smoother 1:    133 s. => 194 s. (902114 polys, 471682 points)
>bone decimator pro: 129 s. => 323 s. (360844 polys, 178954 points)
>bone smoother 2:    52 s. => 375 s. (360844 polys, 178954 points)
>bone transformer:   0 s. => 375 s.
>bone normals:       18 s. => 394 s.
>bone stripper:      3 s. => 397 s. (100177 strips, 265443 points)
>bone writer:        2 s. => 399 s.
>Well, the SmoothPolyDataFilter is obviously computer intensive, but it
>gives better results with my data. Anyway, Decimation is greedy too
>(although I'm not able to achieve satisfying results with a target higher
>than 65%). Therefore I was wondering if you pipeline is more efficient than
>mine (I'm sure so :) ? How do you feed SurfaceReconstructionFilter with 3D
>points, do you just sample them on each slice ?

No, the approach you outline is best for your data, is bound to give better
results since you have a lot of implicit connectivity information. My guess
is that it will be much faster too.


Tim Hutton, Research Assistant            Email: T.Hutton at
MINORI Project           
Dental and Medical Informatics                   Tel: [+44] (0171) 915 2344
Eastman Dental Institute, UCL                    Fax: [+44] (0171) 915 2303
256 Gray's Inn Road, London WC1X 8LD, UK
This email represents the views of the sender alone and must not be
construed as representing the views of the Eastman Dental Institute. It may
contain confidential information and may be protected by law as a legally
privileged document and copyright work. Its content should not be disclosed
and it should not be given or copied to anyone other than the person(s)
named or referenced above. If you have received this email in error, please
contact the sender.

This is the private VTK discussion list.  Please keep messages on-topic.
Check the FAQ at: <>
To UNSUBSCRIBE, send message body containing "unsubscribe vtkusers" to
<majordomo at>.  For help, send message body containing
"info vtkusers" to the same address.     Live long and prosper.

More information about the vtkusers mailing list