Vision and Mobile Robotics Laboratory | Software
|
|
Home | Members | Projects | Publications | Software | Videos | Internal |
Preprocessing Tools |
Registration Tools |
Modeling Tools
Recognition Tools |
Analysis Tools |
Undocumented Tools
The calling format of any of the executables can be obtained from the command line by running the program with a single dash option. For example, CleanMesh - prints the usage for CleanMesh.
SmoothMesh is a program for smoothing meshes. The smoothing code is based on the "smoothing without shrinking" filter of Gabriel Taubin (ICCV '95).
qslim, wrltosmf, and smftowrl A mesh simplification program written by Michael Garland. Documentation is available on the qslim homepage. wrltosmf and smftowrl are simple confersion filters to convert meshes to the format required by qslim and back again.
Orient (in DanielTools directory) is used to orient the normals in a surface mesh. Normals can be flipped, oriented in or out, or oriented toward a specific point such as the sensor origin.
StackMaker is an interactive display program that creates spin-image stacks for surfaces to be registered with SpinRecognize. StackMaker serves two purposes. Its first purpose is to create spin-image stacks for surfaces aligned with SpinRecognize. Its second purpose is to provide a display tool for analyzing and understanding the spin-image generation process.
SpinImageViewer is a standalone viewer for spin images. It replaces the viewing portion of StackMaker. Users can select vertices on a mesh and view the associated spin image.
ICP is an implementation of the Iterative Closest Point algorithm for registering two 3-D point clouds when the clouds are roughly aligned. It is based on algorithms of Besl and McKay (PAMI, February 1992) and Zhang (IJCV 1994). This implementation uses the faces in the surface mesh to get a accurate alignments and it uses kdtrees to speed up the registration process. SpinRecognize can be followed by ICP to get very accurate registration of surfaces with no knowledge of the transformation between views.
ICP2 is an improved version of the ICP program that supports all the features of the original program plus several important advances including distance weighting functions, area-based weighting, overlap filtering, and better stopping criteria.
TransformMesh is a program that reads in a mesh and a tranformation and outputs a new mesh which is a transformed version of the input mesh.
ConcatenateTrans reads in two transformations and outputs the concatenation of the transformations.
InvertTrans reads in a transformation and outputs its inverse.
CreateResampledStack creates a spin-image stack from two surface meshes representing the same surface. Oriented point bases are taken from the vertices of one surface mesh and the accumulated points come from the vertices of the other surface mesh. This program is the first step in creating a model library for use by RecognizeMesh.
CompoundStacks reads in two stacks and appends the secend to the end of the first. The stacks must be generated with the same spin-image generation parameters. CompoundStacks is used when building model libraries.
CreateEigenStack determines the eigenvectors of a stack of spin-images. It then stores them in a stack of spin-images (in decreasing eigenvalue order) where the normalized images are the eigenvectors and the magnitudes of the images are the eigenvalues.
CalcStackDim takes as input a spin-image stack and its eigen-spin-images. It outputs the number of eigen-spin-images needed to reconstruct the spin-images in the stack to a specified level of using projections onto significant eigen-spin-images.
CreateVectorArray creates a vector array from a a spin-image stack, eigen-stack and a dimension for the projection. Its projects spin-images onto eigen-spin-images to get each coordinate of the tuple representing the spin-image in the eigen-spin-image basis.
MeshHistogram takes as input a mesh and outputs an histogram of edge lengths in the mesh in XMGR format. This function can be used to see how evenly spaced the vertices are in a surface mesh.
MeshSlice is an interactive 3-D viewer that is used to create 2-D slices through 3-D surface meshes. It is used to analyse the shape difference between multiple meshes.
ShowNormals creates a 3-D viewer containing a mesh and its computed surface normals. This function can be used to determine if surface normals from two surfaces to be aligned are pointing in the same direction.
ExtractSpinImage is input a spin-image stack and a spin-image index. It outputs a tiff image describing the indexed spin-image which can be viewed with xv or some other image viewing tool.
ExtractVector is input a vector array and an index. It outputs the indexed vector to the standard output as a list of floats.
Overlap computes the area of overlap between two meshes. A graphic display shows the points on each mesh that are considered overlapping.
Viewer is a replacement for Inventor's ivview program. This Inventor file viewer adds a number of features to improve visualization, and is useful for generating screenshots for papers.
MaxMotion Computes the average, maximum, and minimum motion of the vertices in a mesh for a given transform.
OptimalTransform Computes the optimal transform for a set of corresponding points (p,q) in 3D. Input file rows contain p_x p_y p_z q_x q_y q_z weight.
makevol, volinfo, stash, extract An alternate version of IntegrateMeshes that allows for incremental addition of new meshes. Warning, these programs are known to have bugs that lead to lower quality results than IntegrateMeshes.
K2TMakemesh, MinoltaMakemesh Creates meshes from range images created by the K2T (now Z&F) scanner and the Minolta Vivid 700 scanner.