Monitoring Change in 3D (MonChain3D)
Abstract
MonChain3D, short for Monitoring Change in 3D, is a Python-based software suite for the processing, analysis, and comparison of 3D mesh data and mesh-derived graphs. It provides an integrated workflow encompassing mesh preprocessing, annotation and labeling, orientation and registration, graph construction and analysis, visualization, and graph neural network (GNN) applications. The software supports both individual 3D objects and sequential 3D monitoring datasets. Its functionality includes mesh cleaning and the computation of multi-scale geometric features, conversion of Blender- and MeshLab-based color annotations into connected-component labels, automatic mesh orientation, rigid registration of partially overlapping meshes, distance-based and sequential labeling, and the generation of derived difference meshes. Labeled meshes can subsequently be transformed into graph representations. MonChain3D provides tools for graph construction, enrichment, sampling, normalization, simplification, statistical analysis, and comparison using Entropic Optimal Transport. Prepared graph datasets can further be analyzed using Graph Neural Network architectures, including GraphSAGE, Graph Convolutional Networks (GCN), and Graph Attention Networks (GAT). The software additionally provides functionality for visualizing mesh and graph properties and for generating graphical and statistical outputs, including mesh reports, ranked graph snapshots, tree visualizations, radar plots, and machine-learning evaluation results. MonChain3D can be operated through command-line interfaces or a Qt-based graphical user interface. Version 1.0.0 requires Python 3.10 or later and has been tested with Python 3.12. Depending on the selected workflow, external software such as GigaMesh, MeshLab, Blender, Graphviz, and CUDA may also be required. MonChain3D is intended to facilitate reproducible workflows for monitoring and quantitatively analyzing change in 3D data, particularly in applications involving sequential mesh datasets, annotated surfaces, graph-based representations, and machine-learning methods.