How bhumishah265/single_pass_3d works
AeroSynth 3D turns a drone flight video, optionally paired with telemetry, into validated photogrammetry deliverables and a browser-inspectable 3D scene. The main workflow runs from upload or CLI invocation through frame processing, SfM, dense reconstruction, surface generation, georeferencing and analysis, then artifact validation and job/output viewing. The README documents key stages and exports; sampled excerpts confirm API job dispatch, frame extraction, masking, telemetry parsing, runtime validation and Studio model loading. Other stage wiring is represented only where README documentation supports it.
Main entry points: pipeline.py Pipeline coordinator · routes.py FastAPI routes · pipeline_runtime.py Artifact gate · app.js Web control room
Components 23
User interface
- Web control room
frontend/app.js - 3D Studio
frontend/studio.js - Browser scene
frontend/studio.js
Run orchestration
- CLI and server
app/main.py - FastAPI routes
app/api/routes.py - Job state
app/api/routes.py - Artifact gate
app/pipeline_runtime.py - Pipeline coordinator
app/pipeline.py
Reconstruction stages
- Video extraction
app/video/extractor.py - Quality filtering
app/preprocessing/quality.py - Keyframe selection
app/video/frame_selector.py - Dynamic masking
app/preprocessing/dynamic_objects.py - Structure from motion
app/reconstruction/colmap.py - Dense MVS
app/reconstruction/openmvs.py - Surface mesh
app/reconstruction/meshing.py - Inferred complete surface
app/reconstruction/estimated_surface.py
Analysis and outputs
- Telemetry parsing
app/geospatial/gps.py - Georeferencing
app/geospatial/georeference.py - Measurements
app/analysis/measurements.py - Confidence analysis
app/analysis/confidence.py - Semantic annotation
app/analysis/semantic.py - Reconstruction artifacts
data/output
Other components
- Operator
Connections 26
- Operator → Web control room: operates
- Operator → CLI and server: runs
- Web control room → FastAPI routes: requests jobs
- FastAPI routes → Job state: reads and writes
- FastAPI routes → Artifact gate: dispatches run
- CLI and server → Artifact gate: starts run
- Artifact gate → Pipeline coordinator: runs
- Pipeline coordinator → Video extraction: extracts frames
- Pipeline coordinator → Quality filtering: filters frames
- Pipeline coordinator → Keyframe selection: selects frames
- Pipeline coordinator → Dynamic masking: generates masks
- Pipeline coordinator → Structure from motion: maps keyframes
- Pipeline coordinator → Dense MVS: reconstructs dense
- Pipeline coordinator → Surface mesh: builds surface
- Pipeline coordinator → Inferred complete surface: exports inferred model
- Pipeline coordinator → Telemetry parsing: parses telemetry
- Pipeline coordinator → Georeferencing: georeferences scene
- Pipeline coordinator → Measurements: measures scene
- Pipeline coordinator → Confidence analysis: evaluates quality
- Pipeline coordinator → Semantic annotation: annotates points
- Artifact gate → Reconstruction artifacts: validates and writes
- FastAPI routes → Reconstruction artifacts: serves deliverables
- Web control room → FastAPI routes: loads jobs
- 3D Studio → FastAPI routes: loads job data
- 3D Studio → Browser scene: renders models
- Reconstruction artifacts → Browser scene: provides model files