Skip to content

About

App para procesar video antes de DeepLabCut

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

Video Batch Processor

Video Batch Processor

Aplicación de escritorio para preprocesamiento masivo de videos de la tarea de Conflicto Mediado por Cruces (CMC).

El objetivo del proyecto es convertir sesiones largas de video en clips cortos, consistentes y bien nombrados antes de usarlos en DeepLabCut, BORIS u otros análisis posteriores. La app busca normalizar crop, orientación, detección de luces, segmentación por eventos/ITIs/habituación y exportación por lote.

Descargar La App

Instaladores públicos en Releases, sin necesidad de clonar el repositorio ni instalar .NET:

La versión 0.3.1 es una versión de prueba para el laboratorio: incluye FFmpeg/FFprobe, pero no firma pública de Windows ni notarización de Apple. Los sistemas pueden mostrar advertencias de seguridad. La validación completa en una PC Windows del laboratorio sigue pendiente.

Estado

La interfaz ya procesa y exporta sesiones CS y CP con validación real. DIS con comida también completó una sesión real: 60 eventos empatados y 121 recortes en exp_0526_dis_d10r2. La versión 0.3.1 conserva tabla pegada desde Excel (ocho columnas), aviso si falta MAT/CSV, procesamiento aproximado sin tabla con consentimiento y panel Video Setup ajustable.

  • Producto activo: VideoBatchProcessor.App; LightEventDetector permanece como prototipo histórico.
  • Backend: VideoBatchProcessor.Core ya incluye nomenclaturas, metadata, lectura de video, ROI/brillo, detección y calibración de luces, timeline, MAT/CSV y una puerta de sincronización video-conducta por sesión.
  • Interfaz: HTML/CSS local dentro de Avalonia con carga recursiva, preview, giro, espejo, crop, ROIs circulares, calibración, rango de análisis y exportación XLSX de diagnóstico.
  • Validación: 256 pruebas de backend pasan. En una sesión real de Cruces Seguros (CS), el diagnóstico completo empató los 67 eventos MAT con video y planeó 1 habituación inicial, 67 eventos, 66 ITIs y 1 habituación final. Cuatro señales visuales extra quedaron como avisos para revisión, no como eventos. El XLSX incluye perfil de cámara, comparación y segmentos planeados. Un ClipExporter ya genera un clip individual con FFmpeg y transformaciones. BatchOrchestrator coordina CS/CP/DIS con emparejamiento MAT/CSV por contenido, sincronización, diagnóstico XLSX y exportación de clips desde la interfaz.
  • Pendiente: perfiles reutilizables por grupo, más validaciones DIS, eventos de solo sonido y compatibilidad con el CSV actual de 10 columnas de CajaValentia.
  • Limitaciones conocidas: por ahora colocar cada MAT junto a su video y con el mismo nombre base, o seleccionarlo manualmente. La búsqueda automática de tablas en subcarpetas separadas está pendiente. En d10r2 el reporte de habituación final declara dos frames más que el clip real; la discrepancia también existe en la ejecución anterior con MAT.

Stack

  • C# / .NET
  • Avalonia UI
  • HTML/CSS local dentro del WebView oficial de Avalonia para la interfaz final
  • OpenCvSharp para lectura de video y análisis de frames
  • FFmpeg incluido en los paquetes para exportación de clips

Estructura

.
├── docs/
│   ├── project/                       # Producto y arquitectura
│   ├── protocol/                      # Protocolo CMC y literatura base
│   ├── reference/                     # Formatos, nomenclatura y términos
│   └── development/                   # Guías de trabajo e implementación
├── src/
│   ├── LightEventDetector/            # Prototipo C# / Avalonia para calibración visual
│   ├── VideoBatchProcessor.Core/      # Librería backend reusable del producto
│   └── VideoBatchProcessor.App/       # Aplicación de escritorio e interfaz
└── VideoBatchProcessor.sln            # Solución C#

Documentación

Archivo Paralelo En Drive

La fuente histórica de requisitos, guías y ejemplos del producto permanece en:

/Users/ab/Library/CloudStorage/GoogleDrive-jasjabs19@gmail.com/My Drive/workspace/03_lab/01_Proyecto_Grande_App/02_video-batch-processor

Esa carpeta es de referencia y archivo; la documentación y el código activos viven en este repositorio. No copiar árboles completos ni datos de sesión: si aparece una corrección útil, incorporarla aquí con un cambio pequeño y probado.

Build

dotnet build VideoBatchProcessor.sln

Tests

dotnet test VideoBatchProcessor.sln

En macOS, usar este wrapper para pruebas con OpenCV:

./scripts/test-macos.sh

Ese script detecta si la Mac es Apple Silicon o Intel y resuelve la ruta nativa que OpenCvSharp necesita.

La aplicación activa se puede ejecutar con:

dotnet run --project src/VideoBatchProcessor.App/VideoBatchProcessor.App.csproj

La preparación de paquetes .app y Windows se describe en la guía de empaquetado. Los paquetes son autónomos respecto de .NET y deben incluir FFmpeg/FFprobe portables antes de distribuirse.

El prototipo histórico se puede ejecutar con:

dotnet run --project src/LightEventDetector/LightEventDetector.csproj

About

App para procesar video antes de DeepLabCut

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages