How yimis-source/prostaai works
Prosta-AI es una aplicación web académica para cargar estudios prostáticos desidentificados, segmentarlos en 3D y explorar la ROI y métricas opcionales. El recorrido principal va desde las pantallas de carga y la API de admisión hasta un trabajo persistido, tomado por el worker y procesado por el pipeline; el resultado queda en almacenamiento privado y repositorios para consulta y visualización. Se incluyen también el asistente opcional y la autenticación. Las relaciones se limitan a llamadas documentadas en README o visibles en los extractos; no se inspeccionaron los módulos no muestreados.
Main entry points: base.py Pipeline por etapas · service.py Servicio de proceso · cliente.js Cliente HTTP · app.py Aplicación API
Components 32
Cliente web
- Rutas privadas
frontend/src/App.jsx - Sesión
frontend/src/auth/AuthContext.jsx - Cliente HTTP
frontend/src/api/cliente.js - Carga estudio
frontend/src/pages/Cargar.jsx - Mis estudios
frontend/src/pages/MisEstudios.jsx - Estado trabajo
frontend/src/pages/Procesamiento.jsx - Visor ROI
frontend/src/pages/VisualizarRoi.jsx - Orientación
frontend/src/pages/Asistente.jsx
API y admisión
- Aplicación API
backend/prosta_ai/api/app.py - Admisión y estudios
backend/prosta_ai/api/estudios.py - Trabajos
backend/prosta_ai/api/trabajos.py - Representación
backend/prosta_ai/api/rendering.py
Procesamiento
- Worker
backend/prosta_ai/processing/worker.py - Servicio de proceso
backend/prosta_ai/processing/service.py - Pipeline por etapas
backend/prosta_ai/pipeline/base.py - Control de calidad
backend/prosta_ai/pipeline/validators.py - Lectura volúmenes
backend/prosta_ai/pipeline/io.py - Preparación
backend/prosta_ai/pipeline/preparation.py - Segmentación
backend/prosta_ai/pipeline/segmentation.py - Conversión ROI
backend/prosta_ai/pipeline/roi.py - Evaluación Dice IoU
backend/prosta_ai/pipeline/evaluation.py - Progreso
backend/prosta_ai/pipeline/progress.py
Persistencia
- Repositorios
backend/prosta_ai/repositories - Estudios
backend/prosta_ai/repositories/studies.py - Modelos de datos
backend/prosta_ai/models.py - Base de datos
backend/prosta_ai/db.py - Archivos privados
backend/prosta_ai/storage.py
Asistente opcional
- API asistente
backend/prosta_ai/api/asistente.py - Motor de respuestas
backend/prosta_ai/assistant/motor.py - Contexto estudios
backend/prosta_ai/assistant/contexto.py - Conocimiento fijo
backend/prosta_ai/assistant/conocimiento.py
Other components
- Usuario
Connections 39
- Usuario → Carga estudio: selecciona archivos
- Rutas privadas → Carga estudio: enruta a
frontend/src/App.jsx - Rutas privadas → Mis estudios: enruta a
frontend/src/App.jsx - Rutas privadas → Estado trabajo: enruta a
frontend/src/App.jsx - Rutas privadas → Visor ROI: enruta a
frontend/src/App.jsx - Sesión → Cliente HTTP: usa sesión
frontend/src/auth/AuthContext.jsx - Carga estudio → Cliente HTTP: solicita carga
frontend/src/pages/Cargar.jsx - Mis estudios → Cliente HTTP: consulta y elimina
frontend/src/pages/MisEstudios.jsx - Estado trabajo → Cliente HTTP: consulta estado
frontend/src/pages/Procesamiento.jsx - Visor ROI → Cliente HTTP: solicita resultado
- Orientación → Cliente HTTP: consulta asistente
- Cliente HTTP → Aplicación API: envía solicitudes
frontend/src/api/cliente.js - Aplicación API → Admisión y estudios: registra router
backend/prosta_ai/api/app.py - Aplicación API → Trabajos: registra router
backend/prosta_ai/api/app.py - Aplicación API → API asistente: registra router
backend/prosta_ai/api/app.py - Aplicación API → Worker: inicia worker
backend/prosta_ai/api/app.py - Admisión y estudios → Repositorios: admite y consulta
backend/prosta_ai/api/estudios.py - Admisión y estudios → Archivos privados: guarda archivos
backend/prosta_ai/api/estudios.py - Admisión y estudios → Servicio de proceso: crea trabajo
- Trabajos → Servicio de proceso: consulta trabajos
- Servicio de proceso → Pipeline por etapas: ejecuta pipeline
README.md - Servicio de proceso → Repositorios: lee y registra estado
backend/prosta_ai/processing/service.py - Servicio de proceso → Archivos privados: lee entrada y guarda salida
backend/prosta_ai/processing/service.py - Pipeline por etapas → Control de calidad: valida
backend/prosta_ai/pipeline/base.py - Pipeline por etapas → Lectura volúmenes: lee y escribe volúmenes
backend/prosta_ai/pipeline/base.py - Pipeline por etapas → Preparación: prepara volumen
backend/prosta_ai/pipeline/base.py - Pipeline por etapas → Segmentación: segmenta
backend/prosta_ai/pipeline/base.py - Pipeline por etapas → Conversión ROI: transforma máscara
backend/prosta_ai/pipeline/base.py - Pipeline por etapas → Evaluación Dice IoU: calcula métricas
backend/prosta_ai/pipeline/base.py - Pipeline por etapas → Progreso: notifica etapas
backend/prosta_ai/pipeline/base.py - Progreso → Servicio de proceso: actualiza progreso
backend/prosta_ai/processing/service.py - Repositorios → Estudios: exporta repositorio
backend/prosta_ai/repositories/__init__.py - Estudios → Modelos de datos: consulta entidades
backend/prosta_ai/repositories/studies.py - Modelos de datos → Base de datos: usa ORM
backend/prosta_ai/models.py - Servicio de proceso → Representación: sirve resultado
- API asistente → Motor de respuestas: responde consultas
- Motor de respuestas → Contexto estudios: obtiene contexto
- Contexto estudios → Conocimiento fijo: consulta contenido
backend/prosta_ai/assistant/contexto.py - Contexto estudios → Estudios: lee estudios
backend/prosta_ai/assistant/contexto.py