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

David Doria daviddoria at gmail.com
Mon Aug 10 11:06:36 EDT 2009


Dave,

My implementation is simply a collection of ray/mesh intersections. There is
no attempt at modeling the waveform of the return that the hardware would
see - the output is simply a 3d coordinate along each ray. The idea is not
to simulate the scanner, but rather treat is a black box and get the point
cloud that would be at the output of the real scanning process. To simulate
the absorption, scattering, etc you would have to have a very detailed model
with these parameters available at each point - where I just work with
simple points and triangles.

I'm still looking into the VTK filter style implementation that Pat
recommended, when it gets to a reasonable state (which shouldn't be too
long, as it already uses mostly VTK classes) I'll post it so you can try it
out.

Thanks,

David


On Sun, Aug 9, 2009 at 5:09 PM, <David.Pont at scionresearch.com> wrote:

>  Hi David,
> Our group is just starting to get into lidar scanning of forests so your
> proposed contribution does sound very interesting to us. Just a few days
> back we were discussing the idea of simulating a lidar scan of a detailed
> polygonal model of a single tree. This idea is to understand from first
> principles what lidar returns from such a complex target look like, and in a
> controlled environment where we could play around with various parameters
> and see what the effect on return data is. For that exercise we were
> thinking of simulating just the direct 'first order' reflections. But longer
> term we are very interested in full waveform lidar data. Would your
> implementation allow simulation of this? I'm guessing not as this would
> require complex and slow calculations of secondary stuff like transmission,
> absorbtion, re-emission and scattering.
> Having a lidar simulator in Paraview would make things very convenient for
> us, but if there is no other support for this we may be keen to talk to you
> about what you have implemented in C++.
> Actually our first problem is to get / create detailed 3D polygonal models
> of trees - right down to the individual leaves - gulp - this could keep us
> busy for a while yet.
>
> regards (or should that be "many happy returns"), Dave Pont
>
> [image: Inactive hide details for David Doria ---08/08/2009 06:51:47
> a.m.---On Thu, Jul 30, 2009 at 12:21 PM, David Doria <]David Doria
> ---08/08/2009 06:51:47 a.m.---On Thu, Jul 30, 2009 at 12:21 PM, David Doria
> <
>
>
> From:
>
> David Doria <daviddoria+vtk at gmail.com <daviddoria%2Bvtk at gmail.com>>
> To:
> ParaView <paraview at paraview.org>, vtkusers at vtk.org
> Date:
> 08/08/2009 06:51 a.m.
> Subject:
> Re: [vtkusers] Adding a synthetic LiDAR scanner to VTK/Paraview
> ------------------------------
>
>
>
>
> On Thu, Jul 30, 2009 at 12:21 PM, David Doria <*daviddoria+vtk at gmail.com*<daviddoria%2Bvtk at gmail.com>>
> wrote:
>
>    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
>
>
> I didn't get any responses from this - would anyone mind responding
> (negative responses are just as helpful as positive ones :) ) so I can put
> this to rest or move forward, which ever the community vote turns out :).
>
> Thanks,
>
> David_______________________________________________
> 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.paraview.org/pipermail/paraview/attachments/20090810/e8c9266d/attachment-0001.htm>


More information about the ParaView mailing list