[vtkusers] Adding a synthetic LiDAR scanner to VTK/Paraview

David Doria daviddoria+vtk at gmail.com
Thu Jul 30 12:21:33 EDT 2009


I have written a synthetic LiDAR scanner in c++ using VTK and VXL. That is,
rather than setting up a collection of objects in real life and actually
sending lasers into the scene, one can simply create a scene out of 3d
models and "scan" it by casting rays at the models. This seems like
something that could be a huge help to any researchers that work with 3D
model/surface/point data and LiDAR data. I'm sure many researchers have
their own implementations - after all it is a very straightforward process
(simply a bunch of ray triangle intersections - which I have sped up using
VTK's octree) but I think it would be very useful to someone starting out in
the field and to attempt to unify some datasets. I've used it to produce
data sets for which a ground truth is known in order to ensure algorithms
are behaving properly before moving to "real" LiDAR scans. Also, noise can
be added to the points to attempt to simulate a real LiDAR scan for
researchers who do not have access to the very expensive equipment required
to obtain real scans.

The inputs are:

Scanner position (3D coordinate)
Min/Max phi angle (how far "up and down" the scanner should scan)
Min/Max theta angle (how far "left and right" the scanner should scan)
Scanner "forward" (the phi=0, theta=0 direction)
Angular sample spacing or number of points to acquire in the theta and phi
directions (so the "grid" is a total of (num_theta x num_phi) points)

The outputs are:
A .ptx file that maintains implicitly the structure of the scan (points are
ordered as they were taken in "strips"). This is the output given by a real
Leica scanner.
A .vtp file that is simply an unorganized point cloud of the scan returns.

It seems like this could be a neat little thing to add to paraview - just a
couple of text boxes and sliders to set the parameters, load the scene you
want to scan using existing paraview I/O, visualize the scan frustrum using
paraview line sources, and then click "Scan!" to create your ptx and/or vtp.

Can I get some feedback on if this is an acceptable extension to
vtk/paraview capabilities?

Thanks,

David
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20090730/62ab3a2e/attachment.htm>


More information about the vtkusers mailing list