A comprehensive platform for processing, analyzing, and visualizing neuroimaging data. This project implements an end-to-end pipeline that processes raw neuroimaging data (fMRI/MRI) from open repositories and provides interactive visualizations through a modern web interface.
neuroimaging-dashboard/
├── backend/ # Python backend server
│ ├── api/ # REST API endpoints
│ │ ├── routes.py # API route definitions
│ │ └── analysis.py # Analysis services
│ ├── data_pipeline/ # Data processing pipeline
│ │ ├── pipeline.py # Main pipeline implementation
│ │ └── processors/ # Individual processing steps
│ └── database/ # Database models and migrations
├── frontend/ # React frontend application
│ ├── public/ # Static assets
│ └── src/ # Source code
│ ├── components/ # React components
│ ├── services/ # API services
│ └── utils/ # Utility functions
├── config/ # Configuration files
├── tests/ # Test suites
├── docs/ # Documentation
└── docker/ # Docker configuration
Clone the repository:
git clone https://github.com/yourusername/neuroimaging-dashboard.git
cd neuroimaging-dashboard
Set up the backend:
# Create and activate virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Set up environment variables
cp .env.example .env
# Edit .env with your configurations
# Initialize database
flask db upgrade
Set up the frontend:
cd frontend
npm install
Build and start services:
docker-compose up --build
Initialize the database:
docker-compose exec backend flask db upgrade
Development mode:
# Terminal 1 - Backend
cd backend
flask run
# Terminal 2 - Frontend
cd frontend
npm start
Production mode:
docker-compose up
Detailed API documentation is available at /docs/api.md
| Variable | Description | Default |
|---|---|---|
| FLASK_ENV | Environment (development/production) | development |
| DATABASE_URL | PostgreSQL connection URL | postgresql://localhost/neuroimaging_dashboard |
| SECRET_KEY | Flask secret key | your-secret-key-here |
| OPENNEURO_API_KEY | OpenNeuro API key | None |
Configuration files are located in config/:
config.py: Main configurationlogging.conf: Logging configurationnginx.conf: Nginx configurationRun backend tests:
pytest tests/
Run frontend tests:
cd frontend
npm test
Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
Common issues and solutions are documented in TROUBLESHOOTING.md
This project is licensed under the MIT License - see the LICENSE file for details.
See ROADMAP.md for planned features and improvements.