This monorepo contains all the core components of the iGait ASD system:
- igait-backend - Backend server handling submission, upload, storage, and processing
- igait-lib - Shared library code used across the project
- igait-pipeline - Gait analysis pipeline for processing video data
It is highly recommended to read the documentation as onboarding before contributing to this project.
To install the iGait pipeline on your account, run:
/lstr/sahara/zwlab/jw/igait-pipeline/install.shThe installation script will:
- Verify the pipeline is built and ready
- Set up the module system for your account
- Update your
~/.bashrcautomatically
After installation, either:
- Run
source ~/.bashrcto activate immediately, OR - Start a new terminal session
Once installed, you can run the pipeline from anywhere:
# Load the module (only needed once per session)
module load igait
# Run the pipeline
igait-pipeline --input-path-front front.mp4 --input-path-side side.mp4 --output-dir-path ./outputExample:
module load igait
igait-pipeline \
--input-path-front /path/to/front_video.mp4 \
--input-path-side /path/to/side_video.mp4 \
--output-dir-path /path/to/outputThe pipeline will process the videos through 7 stages:
- Media Conversion
- Validity Check
- Reframing
- Pose Estimation (OpenPose)
- Cycle Detection
- Prediction (ML Model)
- Archive
# Skip to a specific stage (useful for debugging)
igait-pipeline --skip-to-stage 5 --input-path-front ... --input-path-side ... --output-dir-path ...
# Show help
igait-pipeline --help# Build all workspace members
cargo build --release
# Build specific component
cargo build --release -p igait-pipeline
cargo build --release -p igait-backend
# Run tests
cargo test --workspaceIf you have Nix with flakes enabled:
# Build the backend
nix build .#igait-backend
# Build the Docker image
nix build .#docker
docker load < result
# Enter development shell
nix develop- ⚡ - Rust and Cargo
- 🔭 - Nix Flakes
- 🌱 - Docker
- 🌟 - Cloudflare
- 🕖 - Nginx
- ⚡ - Google Firebase Authentication
- 🎹 - Google Realtime DB
- 🔭 - Amazon S3 and EC2 (m6in.large)

