def comenzar_terapia(self): '''------------ DOCUMENTACIÓN - Comienza la tarea de terapia. - Inicia la estimuacion visual de BCI2000 - Actualiza informacion de la tarea en Operador. - Actualiza informacion de la tarea en Sesion. - Inicia el progreso de la tarea - Escribe la seccion 'corrida' en el archivo externo resumen_sesiones - Si la tarea ya se esta ejecutando, permite suspender la misma - Observa los estados de BCI2000 para determinar las selecciones realizadas ------------''' if self.bci.estado == 'Suspended': self.bci.iniciar() self.bci.estado = 'Running' self.BCIOperador.ui_comenzar_terapia() self.BCIAplicacion.mostrarMensajes(constantes.MSG_COMENZAR, constantes.CSS_MSG_COMENZAR, True) self.sesion.actualizar_corrida() self.sesion.actualizar_estado("Realizando") self.BCIAplicacion.ui_iniciar_progreso( self.BCIOperador.guia_visual, self.sesion.cantidad_pasos, False) self.BCIOperador.ui_actualizar_selecciones( self.sesion.selecciones_realizadas, self.sesion.selecciones_correctas, self.sesion.selecciones_incorrectas) self.BCIOperador.ui_actualizar_estado(self.sesion.estado) Resumen.escribir_resumen(self.sesion, self.bci, self.BCIOperador, "corrida", False) else: self.suspender_terapia() self.observar_estados(False)
def aplicar_terapia(self): '''------------ DOCUMENTACIÓN - Prepara la tarea de terapia. - Restablece valores de la sesion. - Muestra la guia visual en Aplicacion si esta habilitada. - Carga en Sesion la nueva tarea de calibracion. - Carga los parametros de configuracion y la tarea seleccionada en BCI. - Presenta la matriz de estimulacion en Aplicacion - Actualiza la informacion de la tarea en Operador - Escribe la seccion 'sesion' en el archivo externo resumen_sesiones ------------''' # Refrezca la interfaz grafica evitando que se congele QtCore.QCoreApplication.processEvents() # Restablecer variables de sesion self.BCIAplicacion.restablecerMensajes() self.sesion.restablecer_selecciones() # Se deshabilita la opcion de aplicar configuracion de terapia self.BCIOperador.ui_inhabilitar_aplicacion_terapia() if self.BCIOperador.guia_visual != "Deshabilitada": self.BCIAplicacion.ui_mostrar_guia_terapia(self.sesion) else: self.BCIAplicacion.ui_iniciar_progreso( self.BCIOperador.guia_visual, self.sesion.cantidad_pasos, False) Parametros.aplicar_tarea_terapia(self.sesion, self.BCIOperador.tipo_tarea) # se oculta la matriz antes de configurar para evitar los glitches visuales de BCI2000 self.BCIAplicacion.ocultarMatriz() self.bci.cargar_parametros(ubicaciones.CONFIG_BASE) # Refrezca la interfaz grafica evitando que se congele QtCore.QCoreApplication.processEvents() self.bci.cargar_parametros(ubicaciones.CONFIG_AMPLIFICADOR) # Refrezca la interfaz grafica evitando que se congele QtCore.QCoreApplication.processEvents() self.bci.cargar_parametros(ubicaciones.CONFIG_SECUENCIA) Parametros.aplicar_nivel_terapia(self.BCIOperador.nivel) self.bci.cargar_parametros(ubicaciones.CONFIG_NIVEL) if self.sesion.ubicacion_clasificador != ubicaciones.UBICACION_CLASIFICADOR: self.bci.cargar_parametros(self.sesion.ubicacion_clasificador) # Refrezca la interfaz grafica evitando que se congele QtCore.QCoreApplication.processEvents() self.bci.aplicar_configuracion() self.BCIAplicacion.mostrarMatriz() self.BCIOperador.ui_aplicar_terapia(self.paciente) self.BCIOperador.ui_iniciar_resumen(TERAPIA, self.tarea) Resumen.escribir_resumen(self.sesion, self.bci, self.BCIOperador, "sesion", False) # Se habilita la opcion de aplicar configuracion de terapia nuevamente self.BCIOperador.ui_habilitar_aplicacion_terapia() self.sesion.actualizar_estado('Preparado')
def preparar_calibracion(self): '''------------ DOCUMENTACIÓN - Prepara la tarea preestablecida de calibracion. - Restablece valores de la sesion. - Carga en Sesion la nueva tarea de calibracion. - Muestra la guia visual en Aplicacion. - Carga los parametros de calibracion y la tarea seleccionada en BCI. - Presenta la matriz de estimulacion en Aplicacion - Actualiza la informacion de la tarea en Operador - Escribe la seccion 'sesion' en el archivo externo resumen_sesiones ------------''' # Refrezca la interfaz grafica evitando que se congele QtCore.QCoreApplication.processEvents() # restablecer self.BCIAplicacion.restablecerMensajes() self.sesion.restablecer_selecciones() # Se deshabilita la posibilidad de realizar multiples selecciones self.BCIOperador.ui_inhabilitar_preparacion_calibracion() # tarea if self.sesion.indice_tarea == 1: self.sesion.actualizar_tarea_calibracion(constantes.TAREA_UNO) if self.sesion.indice_tarea == 2: self.sesion.actualizar_tarea_calibracion(constantes.TAREA_DOS) if self.sesion.indice_tarea == 3: self.sesion.actualizar_tarea_calibracion(constantes.TAREA_TRES) self.tarea = self.sesion.tarea_calibracion self.BCIAplicacion.ui_mostrar_guia_calibracion(self.sesion) Parametros.aplicar_tarea_calibracion(self.sesion) self.bci.cargar_parametros(ubicaciones.CONFIG_CALIBRACION) # Refrezca la interfaz grafica evitando que se congele QtCore.QCoreApplication.processEvents() self.bci.cargar_parametros(ubicaciones.CONFIG_AMPLIFICADOR) # Refrezca la interfaz grafica evitando que se congele QtCore.QCoreApplication.processEvents() self.bci.cargar_parametros(ubicaciones.CONFIG_SECUENCIA) # se oculta la matriz antes de configurar para evitar los glitches visuales de BCI2000 self.BCIAplicacion.ocultarMatriz() Parametros.aplicar_nivel_calibracion() self.bci.cargar_parametros(ubicaciones.CONFIG_NIVEL) self.bci.aplicar_configuracion() # hace visible la interfaz de usuario paciente self.BCIAplicacion.mostrarMatriz() self.BCIOperador.ui_preparar_calibracion(self.paciente) self.BCIOperador.ui_iniciar_resumen(CALIBRACION, self.tarea) Resumen.escribir_resumen(self.sesion, self.bci, self.BCIOperador, "sesion", True) # se habilita la opcion de preparar calibracion nuevamente self.BCIOperador.ui_habilitar_preparacion_calibracion() self.sesion.actualizar_estado('Preparado')
def finalizar_calibracion(self): '''------------ DOCUMENTACIÓN - Finaliza la tarea de calibracion. - Actualiza informacion de la tarea en Operador. - Actualiza informacion de la tarea en Sesion. - Escribe la seccion 'resumen' en el archivo externo resumen_sesiones - Suspende la estimuacion visual de BCI2000 ------------''' self.bci.estado = 'Suspended' self.sesion.actividad_completada = True self.sesion.actualizar_estado("Completado") self.BCIOperador.ui_actualizar_estado(self.sesion.estado) self.BCIOperador.ui_finalizar_calibracion(self.sesion.indice_tarea) self.sesion.actualizar_indice_tarea() Resumen.escribir_resumen(self.sesion, self.bci, self.BCIOperador, "resumen", True) self.bci.ejecutar("Wait for Suspended 1") self.bci.suspender()
def suspender_terapia(self): '''------------ DOCUMENTACIÓN - Suspende la tarea de terapia. - Suspende la estimuacion visual de BCI2000 - Actualiza informacion de la tarea en Operador. - Actualiza informacion de la tarea en Sesion. - Escribe la seccion 'resumen' en el archivo externo resumen_sesiones ------------''' self.bci.suspender() self.bci.estado = 'Suspended' self.BCIOperador.ui_suspender_terapia() self.BCIAplicacion.mostrarMensajes(constantes.MSG_SUSPENDIDO, constantes.CSS_MSG_SUSPENDIDO, False) self.sesion.actualizar_estado("Interrumpido") self.BCIOperador.ui_actualizar_estado(self.sesion.estado) # si se interrumpe la corrida y se empieza una nueva, se anuncia que no se completo y se da un resumen Resumen.escribir_resumen(self.sesion, self.bci, self.BCIOperador, "resumen", False)
def finalizar_terapia(self): '''------------ DOCUMENTACIÓN - Finaliza la tarea de terapia. - Actualiza informacion de la tarea en Operador. - Actualiza informacion de la tarea en Sesion. - Escribe la seccion 'resumen' en el archivo externo resumen_sesiones - Suspende la estimuacion visual de BCI2000 ------------''' self.bci.estado = 'Suspended' self.BCIAplicacion.mostrarMensajes(constantes.MSG_TERMINADO, constantes.CSS_MSG_TERMINADO, False) self.sesion.actividad_completada = True self.sesion.actualizar_estado("Completado") self.BCIOperador.ui_actualizar_selecciones( self.sesion.selecciones_realizadas, self.sesion.selecciones_correctas, self.sesion.selecciones_incorrectas) self.BCIOperador.ui_actualizar_estado(self.sesion.estado) self.BCIOperador.ui_finalizar_terapia() Resumen.escribir_resumen(self.sesion, self.bci, self.BCIOperador, "resumen", False) self.bci.ejecutar("Wait for Suspended 1") self.bci.suspender()