Skip to content

esmanureral/NeuroStage

Repository files navigation

NeuroStage Poster

Akıllı MR analizi · Grad-CAM açıklanabilirlik · LLM klinik rapor · Evreye uygun bilişsel takip

Android uygulaması — Jetpack Compose · Cihaz üzerinde ML · Firebase


Kotlin Compose Firebase LiteRT minSdk targetSdk


Amacımız

NeuroStage, aksiyel beyin MRI görüntülerini cihaz üzerinde dört klinik evreye göre sınıflandırır; sonuçları Firestore'da saklar; hekim tarafında Grad-CAM ve yapay zekâ destekli klinik özet sunar. Hasta tarafında ise tarama sonucuna göre anlaşılır bilgilendirme, bilişsel egzersizler ve hatırlatıcılar ile günlük takibi destekler.

Persona Odak
Doktor Hasta yönetimi, MR analizi, XAI, AI rapor, geçmiş ve karşılaştırma
Hasta MR tarama, sade sonuç, evreye göre program hub, oyunlar, hatırlatıcılar

Önemli: Uygulama ön değerlendirme ve karar destek aracıdır; kesin tanı veya tedavi planı yerine geçmez. Klinik kararlar mutlaka uzman hekim tarafından verilmelidir.


Ekranlar

👨‍⚕️ Doktor

👤 Hasta


Özellikler

Doktor

  • Firebase Auth ile güvenli giriş
  • Hasta kayıt, listeleme ve silme
  • MRI yükleme (galeri / kamera), MRI filtresi ile geçersiz görüntüleri eleme
  • LiteRT ile 4 sınıf sınıflandırma (cihazda, gecikmesiz)
  • Sınıf olasılıkları, güven skoru, hasta geçmişi zaman çizelgesi
  • Grad-CAM (Hugging Face Space / özel API) ile model odağı
  • Groq (Llama) ve Gemini ile Türkçe klinik özet rapor
  • Tüm taramalar arası geçmiş ve detay ekranı

Hasta

  • Rol seçimi sonrası anonim MR tarama akışı
  • Evreye göre sade Türkçe sonuç ve eğitim kartları
  • Demans bulgusu yok → ana sayfa; hafif/orta evre → program hub
  • Bilişsel egzersizler: rutin sırası, hafıza, yapboz, eşleştirme, renk oyunu
  • Evreye göre zorluk (kart sayısı, ızgara boyutu, route guard)
  • Yerel hatırlatıcılar (ilaç, randevu vb.)
  • Tarama geçmişi ve detay (isteğe bağlı ekran görüntüsü)

Sınıflandırma evreleri

İndeks Etiket
0 Hafif evre demans
1 Orta evre demans
2 Demans bulgusu yok
3 Çok hafif evre demans

Mimari

flowchart TB
    subgraph UI["Sunum katmanı"]
        Compose["Jetpack Compose · Material 3"]
        Nav["Navigation Compose"]
        VM["ViewModel"]
    end

    subgraph Domain["İş mantığı"]
        Stage["PatientStage · route guard"]
        Repo["Repository arayüzleri"]
    end

    subgraph Data["Veri"]
        Prefs["AppPreferences"]
        FS["Firestore · Auth"]
        ML["LiteRT · .tflite"]
        XAI["Grad-CAM API · Groq/Gemini"]
    end

    Compose --> Nav --> VM --> Repo
    Repo --> Prefs
    Repo --> FS
    Repo --> ML
    Repo --> XAI
Loading
┌─────────────────────────────────────────────────────────────┐
│  Compose UI · Material 3 · Hasta / Doktor temaları          │
├─────────────────────────────────────────────────────────────┤
│  Navigation · ViewModel · Hilt DI                           │
├─────────────────────────────────────────────────────────────┤
│  Repository: patients · scans · profile · xai               │
├─────────────────────────────────────────────────────────────┤
│  LiteRT (MRI filtre + Alzheimer) │ Retrofit · OkHttp · Coil │
├─────────────────────────────────────────────────────────────┤
│  Firebase Auth · Firestore (users/{uid}/patients/scans)     │
└─────────────────────────────────────────────────────────────┘
Katman Teknoloji
UI Jetpack Compose BOM 2024.12.01, Material 3
Mimari MVVM · tek yönlü state · Repository
DI Hilt 2.51.1 · KSP
Navigasyon Navigation Compose 2.8.5
ML Google LiteRT 1.4.1 · assets/*.tflite
XAI Grad-CAM (HF Gradio / REST) · Groq · Gemini
Backend Firebase BOM 33.16.0 · Auth · Firestore
OkHttp 4.12 · Retrofit 2.9 · Coil 2.4

ML & Analiz Pipeline

flowchart LR
    A["📷 MRI girişi"] --> B{"MRI filtresi\nmri_filter_v2"}
    B -->|Geçersiz| Z["Kullanıcı uyarısı"]
    B -->|Geçerli| C["Alzheimer sınıflandırıcı\nint8 · 260px"]
    C --> D["Firestore kayıt"]
    C --> E["Grad-CAM"]
    C --> F["LLM klinik rapor"]
    E --> G["Doktor UI"]
    F --> G
    D --> H["Geçmiş & karşılaştırma"]
    C --> I["Hasta evre & hub"]
Loading
Model Dosya Görev
MRI filtresi mri_filter_v2_noquant.tflite Aksiyel olmayan / geçersiz girişleri ayıklar (224×224)
Alzheimer alzheimer_preprocessed_int8_floatio.tflite 4 evre sınıflandırması (260×260, INT8)

Uzak servisler (API anahtarı local.properties):

Servis Amaç
Grad-CAM Space Isı haritası, anatomik odak bölgesi
Groq (GROK_API_KEY) Hızlı klinik özet (Llama)
Gemini (GEMINI_API_KEY) Alternatif / ek rapor üretimi

Teknoloji Özeti

Alan Neler yapıldı
Android Compose, MVVM, Navigation, Hilt, Material 3, çok persona
Edge ML LiteRT, çok modelli pipeline, MRI ön filtresi
XAI Grad-CAM entegrasyonu, HF Space uyandırma / retry
LLM Klinik rapor prompt'u, Markdown parse, hasta bağlamı
Backend Firebase Auth, Firestore güvenlik kuralları, scan geçmişi
Ürün Evreye duyarlı hasta UX, Play 16 KB page size, gizli anahtar ayrımı

Kurulum

Adımlar

git clone <repo-url>
cd NeuroStage
copy local.properties.example local.properties   # Windows
# cp local.properties.example local.properties   # macOS / Linux

local.properties içine ekleyin:

Anahtar Açıklama
sdk.dir Android SDK yolu
GROK_API_KEY Groq API (klinik rapor)
GEMINI_API_KEY Google Gemini (isteğe bağlı)
GRAD_CAM_API_BASE_URL Grad-CAM API tabanı (varsayılan HF Space)
HF_TOKEN Özel HF Space için okuma token'ı
./gradlew assembleDebug      # geliştirme
./gradlew bundleRelease      # Play Store AAB

Proje Yapısı

NeuroStage/
├── app/
│   ├── src/main/
│   │   ├── assets/              # .tflite modelleri
│   │   ├── java/.../neurostage/
│   │   │   ├── ui/              # Compose ekranları (doctor, patient, onboarding)
│   │   │   ├── xai/             # Grad-CAM, LLM rapor
│   │   │   ├── patients/        # Firestore hasta repo
│   │   │   ├── scans/           # Tarama modelleri & repo
│   │   │   ├── domain/          # PatientStage, iş kuralları
│   │   │   └── di/              # Hilt modülleri
│   │   └── res/
│   └── build.gradle.kts
├── docs/images/
│   ├── logo.png
│   ├── doctor/                  # 01–10.png
│   ├── patient/                 # 01–11.png
│   └── EKRAN_GORUNTULERI.md
├── scripts/                     # gradcam_api.py, gradcam_hf_app.py
├── firestore.rules
├── app_icon.svg
└── README.md

Lisans ve İletişim

Bu depo kişisel / portföy projesidir. Kullanım ve lisans için depo sahibiyle iletişime geçin.

📧 esmanur2eral@gmail.com


NeuroStage — Nörolojik evreyi anlamak, klinik kararı desteklemek, hastayı günlük hayatta güçlendirmek.


NeuroStage Poster

About

NeuroStage: Yapay Zeka Destekli Alzheimer Takip ve Bilişsel Destek Platformu

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages