Agradecimientos Este repositorio hace parte de los resultados del proyecto de investigación "Desarrollo de una metodología para evaluar el desempeño de algoritmos basados en redes neuronales para la remoción de artefactos en electroencefalografía (EEG)" identificado con el código SI6-23-1, cuyo desarrollo fue apoyado por la Universidad Tecnológica de Pereira a través de la Vicerrectoria de Investigaciones, Innovación y Extensión
Este proyecto desarrolla y evalúa una metodología para la remoción de artefactos en señales EEG utilizando redes neuronales. La remoción efectiva de estos artefactos es crucial para mejorar la precisión de las interpretaciones en estudios neurocientíficos y aplicaciones clínicas.
El propósito principal de este proyecto es explorar la efectividad de diferentes arquitecturas de autoencoders en la limpieza de señales EEG. La metodología incluye la creación, entrenamiento y evaluación de varios modelos de autoencoders para determinar su desempeño en la reducción de ruido y artefactos.
La remoción de artefactos en EEG es un desafío significativo debido a la naturaleza compleja y ruidosa de las señales. Este proyecto contribuye al campo de la neuroinformática y la inteligencia artificial proporcionando una metodología sistemática para evaluar y comparar modelos de redes neuronales aplicados a este problema.
Para ejecutar este proyecto, sigue los siguientes pasos:
-
Clona este repositorio:
git clone https://github.com/tu_usuario/tu_repositorio.git cd tu_repositorio -
Crea un entorno virtual y activa:
python -m venv env source env/bin/activate # En Windows usa `env\Scripts\activate`
-
Instala las dependencias necesarias:
pip install -r requirements.txt
A continuación se presenta un ejemplo de cómo usar los scripts proporcionados en este repositorio.
mlflow server --host 127.0.0.1 --port 8080
Los datos deben estar en la carpeta NeuralData con los nombres data_clean_interp_artificial.npy para las imágenes ruidosas y data_interp_ica_normalized.npy para las imágenes denoised.
Para entrenar un modelo autoencoder, puedes ejecutar el siguiente script:
python NnTest.py
project-name/
│
├── data/ # Conjuntos de datos
│ ├── raw/ # Datos originales sin procesar
│ ├── processed/ # Datos transformados/preprocesados
│ └── external/ # Datos externos o de terceros
│
├── notebooks/ # Notebooks (Jupyter, Colab, etc.)
│ └── experiment_X.ipynb # Diferentes experimentos o análisis
│
├── src/ # Código fuente del proyecto
│ ├── data/ # Scripts relacionados con la obtención y procesamiento de datos
│ ├── features/ # Transformaciones y generación de características
│ ├── models/ # Definición y almacenamiento de modelos
│ ├── training/ # Lógica de entrenamiento y evaluación
│ ├── evaluation/ # Scripts de evaluación de los resultados y métricas
│ ├── utils/ # Funciones auxiliares (e.g., métricas personalizadas, helpers)
│ └── visualizations/ # Gráficas y visualización de resultados
│
├── models/ # Modelos entrenados y versiones guardadas
│
├── logs/ # Logs de ejecuciones, debugging o monitoreo
│
├── scripts/ # Scripts para ejecución automatizada (bash, python scripts, etc.)
│
├── tests/ # Pruebas unitarias y de integración
│
├── configs/ # Configuraciones de hiperparámetros, paths y otros
│
├── requirements.txt # Lista de dependencias del proyecto
├── Dockerfile # Definición de entorno para Docker
├── setup.py # Instalación de dependencias si es un paquete
├── README.md # Documentación del proyecto
├── .gitignore # Archivos que no serán versionados en Git
└── LICENSE # Licencia del proyecto