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 &quot;scan&quot; 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&#39;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&#39;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&#39;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 &quot;real&quot; 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.<br>
<br>The inputs are:<br><br>Scanner position (3D coordinate)<br>Min/Max phi angle (how far &quot;up and down&quot; the scanner should scan)<br>Min/Max theta angle (how far &quot;left and right&quot; the scanner should scan)<br>
Scanner &quot;forward&quot; (the phi=0, theta=0 direction)<br>Angular sample spacing or number of points to acquire in the theta and phi directions (so the &quot;grid&quot; is a total of (num_theta x num_phi) points)<br><br>
The outputs are:<br>A .ptx file that maintains implicitly the structure of the scan (points are ordered as they were taken in &quot;strips&quot;). This is the output given by a real Leica scanner.<br>A .vtp file that is simply an unorganized point cloud of the scan returns.<br>
<br>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 &quot;Scan!&quot; to create your ptx and/or vtp.<br>
<br>Can I get some feedback on if this is an acceptable extension to vtk/paraview capabilities?<br><br>Thanks,<br><br>David<br>