STABIL-ARM: Surgical Tremor Stabilization System
A MERN stack application demonstrating real-time hand tremor stabilization for robotic surgery assistance.
Features
- Real-time Hand Tracking: Uses MediaPipe Hands (with “Lite” model for performance).
- Adaptive Filtering: Implements the One Euro Filter algorithm to stabilize tremors while preserving intentional motion.
- Simulation Mode: Automatic fallback to mouse tracking if camera is unavailable.
- Session Recording: Saves tremor metrics and path data to MongoDB.
- Medical Visualization: Split-screen view showing raw vs. stabilized inputs.
Project Structure
- client/: React + Vite frontend.
- server/: Node.js + Express + MongoDB backend.
Setup Instructions
Prerequisites
- Node.js installed
- MongoDB running on port 27017
Installation
- Install Dependencies
# Install root dependencies (if any)
# Install Server dependencies
cd server
npm install
# Install Client dependencies
cd ../client
npm install
- Configuration
- Ensure MongoDB is running.
- The server expects MongoDB at
mongodb://localhost:27017/stabil_arm.
Running the App
- Start the Server (Terminal 1)
- Start the Client (Terminal 2)
- Open
http://localhost:3000 in your browser.
Tech Stack
- Frontend: React, Tailwind CSS, MediaPipe, Recharts
- Backend: Express, Mongoose
- Database: MongoDB