Saltar al contenido principal
LibreTexts Español

8.5: Ejercicio- Detección Simple de Parpadeo

  • Page ID
    151496
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)

    Ahora es el momento de ver cómo funciona la detección de artefactos en datos reales. Comenzaremos detectando parpadeos, que son grandes y fáciles de detectar. Comenzaremos con el algoritmo de detección de parpadeo más común, que simplemente pregunta si el voltaje cae fuera de un rango específico en algún punto de la época para un canal dado. Este es un algoritmo bastante primitivo, y el siguiente ejercicio te mostrará un enfoque mucho mejor.

    Comience cargando los datos del Sujeto #1 en el experimento MMN, que se encuentra en el archivo llamado 1_MMN_Preprocessed_INTERP. Este es el mismo conjunto de datos que examinamos en el capítulo anterior, luego de que se interpolara el canal C5. La detección de artefactos opera sobre datos de época, así que seleccione EEGLAB > ERPLAB > Extraer épocas basadas en binas, utilizando una época de -200 a 800 ms y Pre como línea base. Asigne un nombre al conjunto de datos resultante 1_mmn_preprocessed_interp_be. Ahora seleccione EEGLAB > ERPLAB > Detección de artefactos en datos de época > Umbrales de voltaje simples y establezca los parámetros como se muestra en la Captura de Pantalla 8.1. En particular, especifique 33 como el Canal (este es el canal VEOG-Bipolar) y límites de voltaje de -100 100. Estos límites de voltaje indican que se debe marcar una época para rechazo si el voltaje es más negativo que -100 µV o más positivo que +100 µV en cualquier momento en este canal. Los parpadeos serán más grandes en el canal Veog-bipolar, por lo que no tiene sentido buscar parpadeos en otros canales. Más adelante nos preocuparemos por otros tipos de artefactos.

    Quizás te preguntes por qué el periodo de prueba predeterminado está establecido en -199.2 796.9 en lugar de -200 800 (que es lo que especificaste para la época). La respuesta es que los datos se muestrearon originalmente a 1024 Hz y luego se redujeron a 256 Hz para los análisis proporcionados en el artículo ERP CORE. Como resultado, tenemos una muestra cada 3.90625 ms, y no tenemos muestras exactamente a -200 y +800 ms. En los capítulos anteriores, submuestreé a 200 Hz en su lugar, produciendo una muestra cada 5 ms. Pero pensé que era hora de que veas qué pasa cuando el periodo de muestreo no es un buen número redondo.

    No te preocupes por las banderas; las discutiré más tarde. Haga clic en ACEPTAR para aplicar el algoritmo al conjunto de datos seleccionado.

    Captura de pantalla 8.1

    Una vez finalizado el algoritmo, verás dos ventanas. Una es la ventana estándar para guardar el conjunto de datos actualizado. La otra es la ventana estándar para trazar formas de onda EEG. La idea es que utilices la ventana de trazado para verificar que la detección de artefactos funcionó como se desea. Si es así, usará la otra ventana para guardar el conjunto de datos. Si no está satisfecho con qué épocas se marcaron, haga clic en Cancelar e intentará de nuevo con nuevos parámetros de detección de artefactos.

    Sin embargo, antes de comenzar a desplazarse por la ventana de trazado, es importante ver cuántos artefactos se detectaron. Esta información se muestra en la ventana de comandos de Matlab. Se puede ver el número y porcentaje de épocas en las que se detectaron artefactos en cada bin y el total entre bins. En la mayoría de los casos, principalmente me preocupa el total (porque el porcentaje es mucho más significativo cuando se basa en un gran número de ensayos). Se puede ver que el 17.8% de las épocas fueron rechazadas. Eso es razonable. Como se señaló anteriormente, mi laboratorio siempre arroja a cualquier participante para quien más del 25% de las épocas fueron rechazadas, por lo que este participante sería retenido.

    Ahora vamos a desplazarnos por los datos del EEG y veamos qué tan bien se desempeñó el algoritmo al marcar épocas con parpadeos y no marcar épocas sin parpadeos. Recomiendo ajustar la escala vertical a 100. Tenga en cuenta que ahora estamos viendo épocas en lugar de datos continuos, y la ventana de trazado muestra 5 épocas por pantalla por defecto. (Si tienes una pantalla grande, te recomiendo ir a Ajustes > Rango de tiempo para mostrar en la ventana de trazado y decirle que muestre 10 o incluso 15 épocas por pantalla.) Las épocas que se han marcado para artefactos se resaltan en amarillo. Recordemos que el Asunto #1 tuvo un hermoso EEG al inicio de la sesión, así que al principio no verás ninguna época marcada. Pero aún necesitas asegurarte de que no haya parpadeos que no hayan sido detectados, así que desplázate por las épocas y mira los canales VEOG y Fp1/Fp2 para asegurarte de que todo se vea bien.

    La Época 103 debería ser la primera época marcada (ver Captura de Pantalla 8.2). La forma de onda para el canal infractor se dibuja en rojo. Se puede ver una forma clásica de parpadeo y distribución del cuero cabelludo. ¡Éxito!

    Pero a esto le sigue inmediatamente un fracaso en Época 104. Debido a que tenemos un estímulo cada 500 ms, pero cada época dura 1000 ms, la parte inicial de una época es la misma que la última parte de la época anterior. Entonces, el parpadeo que alcanzó su punto máximo justo antes de los 500 ms en la Época 103 aparece justo antes del tiempo cero en la Época 104. Debido a que el parpadeo es durante la línea base en la Época 104, el procedimiento de corrección de línea base redujo el voltaje máximo durante la época, y no se detecta el parpadeo.

    Captura de pantalla 8.2

    Sigue desplazándote. Notarás un gran estallido muscular en la Época 107 que no está marcado. Pero está bien, estamos buscando parpadeos en este momento, y luego probaremos otros artefactos. También verás un parpadeo que aparece en el periodo posestímulo de la Época 121 y en el periodo prestimulus de la Época 122. Este parpadeo fue mayor que el de las Épocas 103 y 104, y el parpadeo se detectó con éxito en ambas Épocas 121 y 122. También se detectó con éxito el parpadeo que aparece en las Épocas 162 y 163. No obstante, el parpadeo que aparece en Época 169 y 170 se perdió en Época 170.

    Si sigues desplazándote, también verás que el ruido de alta frecuencia (casi seguro EMG) causó que Epoch 463 se marcara. Se puede decir que no hubo parpadeo en esta época porque no hubo voltaje positivo en Fp1 y Fp2, solo un pequeño voltaje negativo en Veog-lower combinado con algo de ruido de alta frecuencia. No hay razón para rechazar esta época: Los voltajes en Veog-lower son muy localizados y es poco probable que impacten en nuestras grabaciones de EEG del cuero cabelludo. Las épocas 525 y 526 también están innecesariamente marcadas para el rechazo. En estas épocas, una combinación de una deflexión de voltaje lenta, no similar al parpadeo y ruido de alta frecuencia en Fp2 (pero sin una desviación de polaridad inversa en Veog-inferior) produjo un voltaje lo suficientemente grande en Veog-bipolar para que el voltaje superara nuestro umbral de ±100 µV.

    Ahora puede cerrar la ventana de trazado y guardar el dataset que se creó, nombrándolo 1_mmn_preprocessed_interp_be_ar100. Lo necesitaremos para un ejercicio posterior.


    This page titled 8.5: Ejercicio- Detección Simple de Parpadeo is shared under a CC BY 4.0 license and was authored, remixed, and/or curated by Steven J Luck directly on the LibreTexts platform.