How codewithmonusharma/sih works
OptiTrack is a hardware-free FSOC coarse-alignment simulator with a mission-control GUI and video replay. The main workflow starts a configured simulation, models beacon motion and camera imagery with disturbances, detects and tracks the beacon, then supports reacquisition and gimbal control; the GUI presents live views and telemetry. The map also retains calibration, evaluation, and replay capabilities documented by the repository. Several connections rely on SOURCE INDEX references or README statements because the corresponding implementation excerpts were not provided.
Main entry points: simulator.py Simulation runner · main_window.py Mission window · session.py Simulation session · detection Detector backends
Components 26
Mission Control
- Application entry
main.py - GUI entry
gui/app.py - Mission window
gui/main_window.py - Lifecycle controller
gui/application/controller.py - Simulation session
gui/application/session.py - Simulation presenter
gui/presentation/simulation_presenter.py - Mission views
gui/views
Simulation World
- Simulation config
config/schemas.py - Simulation runner
runner/simulator.py - World and motion
environment/motion.py - Beacon renderer
target/beacon.py - Virtual camera
camera/model.py - Camera calibration
camera/calibration.py - Disturbance engine
disturbance/engine.py
Perception and Control
- Frame contract
frame/schema.py - Detector backends
detection - IMM tracker
estimate/imm_tracker.py - Adaptive ROI
estimate/roi.py - Tracking state machine
tracking/state_machine.py - Reacquisition search
reacquisition/search.py - PAT controller
pat/baseline_controller.py
Replay and Evaluation
- Video replay runner
runner/video_runner.py - Evaluation suite
evaluate.py - Telemetry reports
telemetry/report_writer.py
Other components
- Operator
- Video input
Connections 28
- Operator → Application entry: starts
README.md - Application entry → GUI entry: imports
main.py - GUI entry → Mission window: exports
gui/app.py - Mission window → Lifecycle controller: uses
gui/main_window.py - Mission window → Simulation session: uses
gui/main_window.py - Mission window → Simulation presenter: uses
gui/main_window.py - Mission window → Mission views: composes
gui/main_window.py - Lifecycle controller → Simulation session: steps
gui/application/controller.py - Simulation session → Simulation runner: builds
gui/application/session.py - Simulation session → Simulation config: configures
gui/application/session.py - Simulation runner → World and motion: queries motion
runner/simulator.py - Simulation runner → Beacon renderer: renders beacon
runner/simulator.py - Simulation runner → Virtual camera: creates camera
runner/simulator.py - Simulation runner → Camera calibration: calibrates
runner/simulator.py - Simulation runner → Disturbance engine: disturbs frames
runner/simulator.py - Simulation runner → Detector backends: runs detection
runner/simulator.py - Simulation runner → Frame contract: uses frames
runner/simulator.py - Detector backends → Frame contract: consumes
detection/base.py - Detector backends → IMM tracker: emits observations
detection/base.py - Simulation runner → IMM tracker: updates
runner/simulator.py - Simulation runner → Adaptive ROI: uses crop
runner/simulator.py - Simulation runner → Tracking state machine: updates state
runner/simulator.py - Simulation runner → Reacquisition search: searches on loss
runner/simulator.py - Simulation runner → PAT controller: commands gimbal
README.md - Simulation presenter → Lifecycle controller: reads state
gui/presentation/simulation_presenter.py - Video input → Video replay runner: supplies video
README.md - Operator → Evaluation suite: runs benchmarks
README.md - Evaluation suite → Telemetry reports: exports results
README.md