AI-Based Temporal Enhancement & WebGIS Visualization System for Satellite Imagery.
AetherGIS v2.0 is a comprehensive platform for high-resolution temporal interpolation of satellite imagery. It leverages advanced AI models (RIFE/FILM) to generate smooth intermediate frames between sparse satellite captures, enabling fluid visualization of meteorological events, cloud motion, and environmental changes.
| Feature | Description |
|---|---|
| AI Interpolation | RIFE 4.x and Google FILM engines for temporal frame generation |
| Multi-Source Data | NASA GIBS (primary), LocalDisk (offline demos), ISRO Bhuvan (planned) |
| Session Management | Redis-backed exclusive locks with heartbeat mechanism |
| Analytics Engine | Uncertainty heatmaps, change detection, anomaly detection, trajectory tracking |
| Report Generation | NASA-level HTML technical reports with full audit trails |
| Video Export | MP4 generation with quality metrics and frame metadata |
βββββββββββββββ βββββββββββββββ βββββββββββββββ
β Brand ββββββΆβ App βββββββ Shared β
β Module β β Module β β Module β
β (Landing) β β (Dashboard) β β (API/Utils)β
βββββββββββββββ βββββββββββββββ βββββββββββββββ
β
ββββββββ΄βββββββ
β FastAPI β
β Backend β
ββββββββ¬βββββββ
βββββββββββββββββΌββββββββββββββββ
βΌ βΌ βΌ
βββββββββββ βββββββββββ βββββββββββ
β Redis β βPostgreSQLβ β Disk β
β (Queue) β β (Audit) β β(Frames) β
βββββββββββ βββββββββββ βββββββββββ
| Document | Purpose |
|---|---|
| ARCHITECTURE.md | System design, module breakdown, data flow |
| DEVELOPER_GUIDE.md | Setup, development workflow, deployment |
| Guides/nasa_gibs_user_guide.md | Satellite data source configuration |
| Guides/production_readiness_report.md | Security, hardening, production checklist |
- Python 3.11+ (managed via
uv) - Node.js 20+ (managed via
npm) - Docker & Docker Compose
- NVIDIA GPU (optional, recommended for RIFE/FILM performance)
# Full stack with Caddy reverse proxy
docker compose up -d
# Access points:
# - Frontend: http://localhost
# - API: http://localhost/api/v1
# - API Docs: http://localhost/api/docs# 1. Smart setup (auto-detects GPU and configures dependencies)
python scripts/smart_setup.py
# 2. Start infrastructure services
docker compose up -d redis postgres
# 3. Start backend (terminal 1)
uv run uvicorn backend.app.main:app --reload --port 8000
# 4. Start Celery worker (terminal 2)
uv run celery -A backend.app.tasks.celery_app.celery_app worker --loglevel=info -P solo
# 5. Start frontend (terminal 3)
cd frontend && npm run dev# Starts Redis, backend, worker, and frontend in separate windows
./scripts/run_dev.ps1.
βββ backend/
β βββ app/
β β βββ api/routes/ # FastAPI route handlers
β β βββ services/ # Business logic (27 modules)
β β βββ tasks/ # Celery task definitions
β β βββ models/ # Pydantic schemas & SQLAlchemy
β β βββ middleware/ # Security, rate limiting
β β βββ main.py # FastAPI entry point
β β βββ config.py # Pydantic-settings configuration
β βββ data/ # Runs, exports, cache, offline data
β βββ tests/ # Pytest test suite
βββ frontend/
β βββ src/
β β βββ modules/
β β β βββ brand/ # Landing pages, marketing, legal
β β β βββ app/ # Dashboard, MapViewer, Analysis
β β β βββ shared/ # API client, types, utilities
β β βββ App.tsx # Root router component
β β βββ index.css # Global theme variables
β βββ package.json # Vite + React 19 + TypeScript
βββ scripts/ # Setup helpers
βββ docker-compose.yml # Full stack orchestration
βββ Dockerfile # Backend container
βββ Dockerfile.worker # Celery worker container
βββ pyproject.toml # Python dependencies (uv)
| Module | Path | Responsibility |
|---|---|---|
| Brand | src/modules/brand/ |
Marketing pages, Earth scroll animation, legal docs |
| App | src/modules/app/ |
Dashboard, LayerControls, MapViewer (OpenLayers), AnalysisPanel |
| Shared | src/modules/shared/ |
API client, Zod schemas, design tokens |
| Service | Purpose |
|---|---|
interpolation.py |
RIFE/FILM engines, frame generation |
pipeline.py |
Orchestrates full interpolation workflow |
job_manager.py |
Async job queue, status tracking, audit events |
session_lock.py |
Redis-based exclusive access control |
report_service.py |
NASA-level HTML report generation |
satellite_providers.py |
NASA GIBS, LocalDisk, WMS clients |
video_gen.py |
MP4 export with FFmpeg |
confidence.py |
Per-frame quality scoring |
change_anomaly.py |
Change detection and anomaly analysis |
trajectory_tracker.py |
Motion vector tracking |
heatmap_gen.py |
Uncertainty visualization |
tile_cache.py |
WMS tile caching layer |
AetherGIS generates professional NASA-level technical reports including:
- Executive Summary β Run status, key metrics, classification
- Run Overview β Timeline, performance, resource usage
- Input Summary β Satellite source, temporal coverage, AOI
- Interpolation Configuration β Model parameters, gap handling
- Quality Metrics β PSNR, SSIM, TCS, FSI with visual badges
- Artifact Inventory β Frame breakdown, confidence distribution
- Anomaly Detection β Issues flagged with severity classification
- Traceability β Full audit trail with timestamps
Reports are accessible at: GET /api/v1/pipeline/{job_id}/report
- Environment-aware middleware: HSTS, CSP, rate limiting in production
- Session locking: Prevents GPU contention
- Heartbeat mechanism: Auto-release after 60s inactivity
- CORS configured: Development vs production origins
- Input validation: Pydantic schemas throughout API
See Production Readiness Report for full details.
# Run all tests
uv run pytest backend/tests -v
# Run security tests (session lock, authentication)
uv run pytest backend/tests/test_session_lock.py backend/tests/test_auth.py -v
# Run API tests
uv run pytest backend/tests/test_api_*.py -v
# Run with coverage
uv run pytest backend/tests --cov=backend/app --cov-report=html| Test Suite | Purpose | File |
|---|---|---|
| Security | Session lock, OAuth flow | test_session_lock.py, test_auth.py |
| Core Logic | Confidence scoring, preprocessing | test_confidence.py, test_preprocessing.py |
| API | Pipeline, Sessions endpoints | test_api_pipeline.py, test_api_sessions.py |
| Integration | Full module workflows | test_production_modules.py |
| Health | Monitoring endpoint | test_health.py |
cd frontend
# Type checking
npx tsc --noEmit
# Linting
npm run lint
# Production build
npm run buildRecent comprehensive backend audit completed:
- Fixed auth bypass in
/meendpoint (development mode) - Added connection pooling for health checks
- Enhanced session lock heartbeat mechanism
- Improved rate limiting on all API endpoints
- 68 new tests added across 5 new test files
- Security-focused tests for session locking and authentication
- API validation tests for all endpoints
- Performance tests for health endpoint
- Redis connection reuse in health checks
- Proper database session cleanup
- Cached GPU detection with exception handling
See ARCHITECTURE.md for full details.
MIT License β See LICENSE for details.
Β© 2026 AetherGIS Team
Developed for Major Project Evaluation. Not for operational forecasting or scientific measurement. AI-interpolated frames are visual approximations only.