README.txt
VERTIS Virtual 3D Scanner
Author: Caspar J. Anderegg - 20 February 2012
INSTALLATION
------------
This software is written in the Python scripting language. You must first install a recent version of Python, then download the script file.
RUNNING
-------
Open a command prompt on your operating system of choice, and cd to the directory containing the script. (The same directory should also contain matlib.py and vectOps.py.)
1. In Linux, the program can be run with the following command
python vertis.py [OPTIONS] <input_file.obj> <output_file.pcd>
2. In Mac OS X, see above.
3. In Windows, the program can be run with the following command
vertis.py [OPTIONS] <input_file.obj> <output_file.pcd>
The usage options are shown below
Usage: python vertis.py [options] <input_mesh.obj> <output_cloud.pcd>
General options:
--help (-h) Print usage options.
-resize (-rs) N Resize the model's largest dimension to N meters.
-rewind (-rw) Swap the winding direction (for computing normals).
-verbose (-vv) Verbose mode. Print completion status at each step.
Sampling rate:
-autoset (-A) N Optimize the sample rate to get N points along the largest dimension.
-sample (-s) N Manually set the sample rate to some integer N.
Noise overlays:
-calibrate (-c) N Calibrate space so the model's largest dimension is length N meters.
-gaussian (-g) N Add N percent Gaussian distortion to each sampled point.
N must be a decimal number in the range [0,100].
-kinect (-k) N Simulate noise from a kinect camera distance N meters away from the model.
(Requires -c and -V options as well).
Viewpoint culling:
-backface (-b) Cull faces that point away from the view vector.
(Requires -V option as well).
-occlude (-o) Cull faces where no vertex is visible to the camera.
(Requires -V option as well).
-trace (-tr) Remove points not visible to the camera.
(Requires -V option as well).
-view (-V) "<i,j,k>" Set the view direction to be vector <i,j,k>.
Color Information:
-shade (-sh) Use Lambertian shading to color the material points.
(Requires -V option as well).
-untexture (-ut) Disregard texture information when scanning.
CHANGELOG
---------
- Support for diffuse color texture maps added.
- Support for on-the-fly model rescaling added.
- Support for backface culling added.
- Support for occluded face culling added.
- Support for point trace culling added.
- Support for log-structured Bounding Volume Hierarchies added.
- Support for material libraries and lambertian point shading added.
- Support for reverse wound faces added to normal computation step.
- Support for simulated Kinect noise profiles added.
- Support for Gaussian noise distortion added.
TODO
-----
- Improve bounding volume hierarchy construction which currently runs in O( n^2 log n) time in the number of faces in the model.
- Add support for smooth shading (normal interpolation).
- Add more graceful error handling, rather than just printing the stack trace.
LICENSE
-------
This work is licensed under the Creative Common Attribution license. It is free to be shared and modified without restriction, and incorporated in software commercial or otherwise subject to the following conditions:
- You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).
A full version of this license can be found at http://creativecommons.org/licenses/by/3.0/