How mea-lab/visionmd-desktopapp-backend works
VisionMD is an archived Django backend for a desktop video-analysis application. The principal workflow is a frontend submitting a video, then selecting an examination task and receiving movement landmarks, signals, gait events, and measurements for visualization or editing. The tree documents task families and API capabilities beyond the sampled excerpts; those are represented at their enclosing directories, with links omitted where call ownership is not established. The sampled gait and upload code supports the main workflow, but does not establish every route’s wiring.
Main entry points: urls.py Django routes · create_task_views.py Task endpoints · gait.py Gait examination · upload_video.py Video upload
Components 18
API and video
- Django routes
app/urls.py - Video upload
app/views/upload_video.py - Video operations
app/views - Task endpoints
app/views/create_task_views.py - Plot updates
app/views/update_plot_data.py - Video and landmarks API
app/views - Django backend
VideoAnalysisToolBackend/urls.py
Examination tasks
- Task base
app/analysis/tasks/base_task.py - Gait examination
app/analysis/tasks/gait.py - Hand examinations
app/analysis/tasks - Leg examinations
app/analysis/tasks
Movement analysis
- Pose detectors
app/analysis/detectors - Person tracking
app/analysis/detectors/yolo_detectors.py - Gait phase model
app/analysis/models/gait_transformer/gait_phase_transformer_old.py - Gait signal analysis
app/analysis/signal_analyzers/gait_signal_analyzer.py - Peak analysis
app/analysis/signal_analyzers/peakfinder_signal_analyzer.py
Project data
- Video files
Other components
- Desktop frontend
Connections 20
- Desktop frontend → Django backend: sends requests
- Django backend → Django routes: dispatches
- Django routes → Video upload: routes upload
- Django routes → Video operations: routes video requests
- Django routes → Task endpoints: routes task requests
- Django routes → Plot updates: routes plot updates
- Video upload → Video files: stores video
- Video operations → Video files: reads and updates
- Task endpoints → Task base: creates tasks
- Task base → Video files: reads video
- Task endpoints → Gait examination: dispatches gait
- Gait examination → Pose detectors: uses pose detection
- Gait examination → Gait phase model: loads phase model
- Gait examination → Gait signal analysis: analyzes gait
- Gait signal analysis → Gait phase model: infers phases
- Task endpoints → Hand examinations: dispatches hand tasks
- Task endpoints → Leg examinations: dispatches leg tasks
- Plot updates → Desktop frontend: returns plot data
- Video and landmarks API → Video files: reads or updates
- Desktop frontend → Video and landmarks API: requests project data