Python
3.10 minimum · 3.11 recommended
Required
Windows
Linux
Runtime for run.py, worker.py and server.py. Needs 3.10+ for union type hints. Tick "Add to PATH" during Windows install or nothing will work.
ffmpeg
6.0+ · with NVENC / NVDEC
Required
Windows
Linux
Decodes DJI .MP4, extracts frames at target fps, applies LUT colour correction, scales and sharpens. NVDEC hardware decode used automatically if available, falls back to software.
DROP IN NAStools/windows/ffmpeg.exe · tools/linux/ffmpeg
COLMAP
3.9+ · CUDA build preferred
Required
Windows
Linux
Structure-from-Motion. Runs SIFT feature extraction, exhaustive or sequential matching, sparse reconstruction, and image undistortion. Uses OPENCV camera model for DJI radial distortion. GPU-accelerated, falls back to CPU.
DROP IN NAStools/windows/colmap.exe · tools/linux/colmap
NVIDIA Driver + CUDA
Driver 525+ · CUDA 11.8 or 12.x
Required
Windows
Linux
Provides CUDA for COLMAP GPU features, NVDEC hardware video decode, and 3DGS training. GTX 1080 = Compute Capability 6.1. Also installs nvidia-smi used by the worker health monitor.
GTX 1080 → CUDA 11.8 (cu118) is the stable pairing. Use cu121 if on a newer card.
gsplat
pip package · easiest setup
Recommended
Windows
Linux
pip-installable 3D Gaussian Splatting library. No repo cloning needed. Compiles CUDA kernels at install time — CUDA Toolkit and MSVC Build Tools (Windows) must be present first. Worker auto-detects via Python import.
Windows: install MSVC Build Tools with C++ workload before running pip install gsplat
pip install gsplatCOPY
gaussian-splatting
GraphDECO / INRIA repo
Alternative
Windows
Linux
Original 3DGS paper implementation by INRIA / GraphDECO. Clone into NAS tools/gaussian-splatting/ and every worker shares it automatically with no install. More configuration flags, useful for fine-tuning.
-s flag must point to COLMAP root (parent of images/ and sparse/), NOT the images/ subfolder — causes silent 0-view failure otherwise.
CLONE INTO NAStools/gaussian-splatting/train.py
git clone github.com/graphdeco-inria/gaussian-splatting tools/gaussian-splatting
COPY
torch + torchvision
2.x · cu118 build
Required
CUDA-enabled PyTorch. Must match your CUDA version. GTX 1080 → cu118. Install manually before anything else.
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu118
COPY
Numerical arrays. Used by gsplat, COLMAP output parsing, and frame validation.
pip install numpyCOPY
Image I/O library. Used by gsplat's data loader and frame sample output.
pip install PillowCOPY
Progress bars for the training loop output in gsplat and GraphDECO.
pip install tqdmCOPY
HTTP client. Used by the worker for health check pings and dashboard communication.
pip install requestsCOPY
System metrics — CPU%, RAM, disk. Written to worker status JSON files for the dashboard.
pip install psutilCOPY
Web framework for server.py dashboard only. Workers run without it — the core pipeline does not need it.
pip install fastapi uvicornCOPY
Read and inspect .ply output files. Not used by the pipeline itself but useful for any post-processing scripts you write.
pip install plyfileCOPY
| 1 |
Install NVIDIA driver + CUDA Toolkit |
driver 525+ · CUDA 11.8 for GTX 1080 |
nvidia.com/drivers |
| 2 |
Install Python 3.11 |
✓ Add to PATH during install |
python.org/downloads |
| 3 |
Install MSVC Build Tools (Windows only) |
C++ workload + Windows SDK |
visualstudio.microsoft.com |
| 4 |
Drop ffmpeg + colmap into NAS tools/windows/ |
or install system-wide on PATH |
gyan.dev/ffmpeg |
| 5 |
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu118 |
~2 GB download |
pytorch.org |
| 6 |
pip install gsplat |
compiles CUDA kernels ~5 min |
pypi.org/gsplat |
| 7 |
python \\NAS\GaussianFactory\run.py |
auto-installs remaining packages |
done ✓ |