Installation ============ This guide covers installing AquaMVS on Windows, Linux, and macOS. Prerequisites ------------- - **Python**: 3.10 or later - **pip**: Latest version (upgrade with ``pip install --upgrade pip``) - **git**: For installing git-based prerequisites Install PyTorch --------------- AquaMVS requires PyTorch. Visit the `PyTorch installation page `_ and use their configuration selector to get the correct install command for your system. **GPU (CUDA 12.1) examples:** .. code-block:: bash # Windows or Linux with NVIDIA GPU pip install torch torchvision --index-url https://download.pytorch.org/whl/cu121 **CPU-only examples:** .. code-block:: bash # Windows, Linux, or macOS (CPU only) pip install torch torchvision --index-url https://download.pytorch.org/whl/cpu Choose the command matching your OS and GPU from pytorch.org. For other CUDA versions or ROCm (AMD GPU), consult the PyTorch website. Install Git Prerequisites -------------------------- AquaMVS depends on two libraries that are not available on PyPI and must be installed from git: **Quick method** (recommended): .. code-block:: bash pip install -r requirements-prereqs.txt **Manual method:** .. code-block:: bash pip install git+https://github.com/cvg/LightGlue.git@edb2b83 pip install git+https://github.com/tlancaster6/RoMaV2.git@3862b19d5880cd7d690b544d27f30bb88e7d8fa4 **Why git dependencies?** - **LightGlue**: Not yet published to PyPI by upstream maintainers - **RoMa v2**: Uses a fork with a dataclasses metadata bugfix (PR submitted upstream) Install AquaMVS --------------- **From PyPI** (recommended for users): .. code-block:: bash pip install aquamvs **From source** (for development): .. code-block:: bash git clone https://github.com/tlancaster6/AquaMVS.git cd AquaMVS pip install -e ".[dev]" Platform-Specific Notes ------------------------ Windows ^^^^^^^ If you encounter build errors during Open3D installation, you may need to install `Visual C++ Build Tools `_. Select "Desktop development with C++" during installation. Linux ^^^^^ Open3D requires OpenGL libraries for visualization. On Ubuntu/Debian: .. code-block:: bash sudo apt install libgl1-mesa-glx On headless servers or CI environments, Open3D's OffscreenRenderer may be unavailable. AquaMVS degrades gracefully, skipping visualization steps when rendering is unavailable. macOS ^^^^^ On Apple Silicon (M1/M2/M3), PyTorch supports the MPS (Metal Performance Shaders) backend for GPU acceleration. Use the standard CPU/MPS install command from pytorch.org: .. code-block:: bash pip install torch torchvision Verify Installation -------------------- Check that AquaMVS installed correctly: .. code-block:: bash python -c "import aquamvs; print(aquamvs.__version__)" aquamvs --help You should see version information and the CLI help text. Troubleshooting --------------- **"No module named 'torch'"** PyTorch must be installed before AquaMVS. See `Install PyTorch`_ above. **"No module named 'lightglue'" or "No module named 'romav2'"** Git prerequisites must be installed before AquaMVS. See `Install Git Prerequisites`_ above. **CUDA version mismatch** Your installed PyTorch CUDA version must match your NVIDIA driver. Check compatibility at https://pytorch.org/get-started/locally/. To check your installed PyTorch: .. code-block:: bash python -c "import torch; print(torch.__version__)" The output shows the CUDA version (e.g., ``2.1.0+cu121`` = CUDA 12.1). **Open3D visualization errors on headless Linux** This is expected. AquaMVS automatically disables visualization when OffscreenRenderer is unavailable. Reconstruction still works; only debug visualizations are skipped. **ImportError on Windows (DLL load failed)** This usually indicates missing Visual C++ runtime libraries. Install the `Visual C++ Redistributable `_.