The ACVD repository contains auxiliary executables beyond the main remeshing tools. These programs provide supplementary functionality for volume processing, label image segmentation, mesh conversion, analysis, and cleaning.
Generates surface meshes from 3D label volume segmentations (e.g. MetaImage .mhd files). Extracts surfaces for each label using marching cubes and simplifies them using ACVD or quadric methods.
Usage:
./build/bin/VolumeAnalysis file.mhd [options]Options:
-n <number>: Desired number of simplified mesh vertices (default:32000).-v <number>: Maximum number of voxels before image resampling (default:100000000).-r <number>: Maximum subsampling factor (default:4).-j <number>: Number of threads (default: auto).-s <0|1>: Simplification method (0= ACVD,1= Quadric).-sm <number>: Number of smoothing iterations (default:0).-g <number>: Gradation parameter for ACVD remeshing.-o <directory>: Output directory.-f <format>: Output mesh format (vtk,ply,stl).-m <0|1>: Force 2-manifold output (default:0).-a <0|1>: Anisotropic coarsening (1= enabled,0= disabled).-c <0|1>: Retain only the largest connected component (1= enabled).-t <threshold>: Label threshold value.-x <xmlfile>: XML color palette file for labels.
Performs manifold mesh simplification using the vtkManifoldSimplification engine.
Usage:
./build/bin/ManifoldSimplification input_mesh.ply n_verticesFunctionality:
- Reduces mesh complexity while preserving 2-manifold topological guarantees.
- Uses
vtkSurfaceBasememory cleanup (CleanMemory()).
mesh2ply.cxx: Convert meshes to PLY format.mesh2vtk.cxx: Convert meshes to VTK format.mesh2stl.cxx: Convert meshes to STL format.mesh2obj.cxx: Convert meshes to Wavefront OBJ format.mesh2off.cxx: Convert meshes to OFF format.stl2ply.cxx: Direct conversion from STL to PLY.
meshCurvature.cxx: Compute discrete principal curvature properties.meshComponents.cxx: Compute and extract connected components.meshDifference.cxx: Compute geometric difference between two meshes.CheckOrientation.cxx: Verify triangle normal orientation.sampleMesh.cxx: Uniform point sampling on surface meshes.
subdivideMesh.cxx: Apply Loop/Butterfly subdivision to meshes.CleanMesh.cxx: Clean topology, merge duplicate vertices, purge degenerate cells.clipMesh.cxx: Clip meshes using planes or bounding boxes.viewer.cxx/viewer2.cxx: Interactive VTK mesh visualization tools.icp.cxx: Iterative Closest Point 3D surface registration.
VolumeSlice.cxx: Extract 2D slices from label volumes.VolumeCrop.cxx: Crop 3D volume bounding boxes.VolumeMedian.cxx: Apply 3D median filtering to label volumes.VolumeSubsample.cxx: Subsample volume grids.VolumeCleanLabels.cxx: Clean isolated voxels and noisy label boundaries.VolumeOOCSlice.cxx: Out-of-core volume slice extraction.
All auxiliary programs are built automatically with the standard CMake build process:
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j$(nproc)Executables are written to build/bin/ (or bin/).
- Root AGENTS.md: Master repository guide & architectural context.
- ACVD CLI Reference: Core ACVD remeshing CLI tool options.
- vtkSurface Documentation: Core mesh data structure documentation.