How daxjparmar/depthwizard_sih-26175 works
DepthWizard turns remote-sensing imagery into terrain and object geometry, exports a GLB, and supports browser-based inspection. The graph follows the documented upload/job workflow and the sampled pipeline orchestration; subsystem paths for some documented capabilities are supported by the tree and README, but their internal wiring was not sampled.
Main entry points: stages.py Stage adapters · job_storage.py Job artifacts · jobs.py Job endpoints · useDtmLab.js DTM lab workflow
Components 24
Browser experience
- Landing and dashboard
frontend/src/pages/LandingPageV2.jsx - Active scene state
frontend/src/context/ActiveSceneContext.jsx - DTM analysis lab
frontend/src/pages/DtmLab.jsx - DTM lab workflow
frontend/src/hooks/useDtmLab.js - 3D viewer
frontend/src/pages/Viewer.jsx - Viewer runtime
frontend/src/hooks/useThreeViewer.js - Viewer controls and loader
frontend/src/lib/viewer/controls.js - Sample scene assets
frontend/src/hooks/useDtmLab.js - Direct GLB input
frontend/src/lib/viewer/modelLoader.js
Job API
- FastAPI application
backend/main.py - Job endpoints
backend/api/v1/jobs.py - Job lifecycle
backend/services/job_service.py
Reconstruction pipeline
- Pipeline orchestrator
backend/processing/pipeline.py - Stage adapters
backend/processing/stages.py - Bare-earth DTM
backend/processing/dtm/reconstruction.py - Top-surface DSM
backend/processing/dsm/reconstruction.py - Building meshes
backend/processing/buildings/scene.py - Tree meshes
backend/processing/trees/scene.py
Model adapters
- Height and classes
backend/integrations/height_model.py - Semantic classes
backend/integrations/classes_model.py - GLB export
backend/integrations/glb_generator.py
Job state and artifacts
- Job artifacts
backend/storage/job_storage.py - In-memory job registry
backend/services/job_service.py
Other components
- User
Connections 35
- User → Landing and dashboard: select workflow
- Landing and dashboard → Active scene state: set scene
- User → DTM lab workflow: upload image
- DTM lab workflow → Job endpoints: submit and poll
- Job endpoints → Job lifecycle: create and update
- Job endpoints → Job artifacts: store upload
- Job endpoints → Pipeline orchestrator: dispatch job
- Pipeline orchestrator → Job lifecycle: update progress
- Pipeline orchestrator → Stage adapters: run stages
- Stage adapters → Height and classes: infer height
- Stage adapters → Semantic classes: infer classes
- Stage adapters → Bare-earth DTM: reconstruct terrain
- Stage adapters → Top-surface DSM: reconstruct surface
- Stage adapters → Building meshes: reconstruct buildings
- Stage adapters → Tree meshes: reconstruct trees
- Stage adapters → GLB export: generate model
- Height and classes → Job artifacts: write outputs
- Semantic classes → Job artifacts: write outputs
- Bare-earth DTM → Job artifacts: write terrain and diagnostics
- Top-surface DSM → Job artifacts: write surface
- Building meshes → Job artifacts: write meshes
- Tree meshes → Job artifacts: write meshes
- GLB export → Job artifacts: write GLB
- DTM lab workflow → Active scene state: set active scene
- Job endpoints → DTM lab workflow: return status and artifacts
- Active scene state → 3D viewer: share scene
- 3D viewer → Viewer runtime: initialize viewer
- Viewer runtime → Viewer controls and loader: load and control
- Viewer runtime → Job endpoints: fetch job GLB
- User → Sample scene assets: choose preset
- Sample scene assets → Active scene state: set sample scene
- User → Direct GLB input: open GLB
- Direct GLB input → Active scene state: set model scene
- User → DTM analysis lab: inspect diagnostics
- DTM analysis lab → DTM lab workflow: drive analysis