Saltar al contenido principal
LibreTexts Español

11.7: Ejercicio- EEG.Historia y eegh

  • Page ID
    151432
  • \( \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}}\)

    EEGLAB tiene una característica de historia súper conveniente, que copiamos descaradamente cuando creamos ERPLAB. Siempre que ejecute una rutina desde la GUI de EEGLAB, el texto de comando equivalente se guarda en el historial. El campo historial de la variable EEG (es decir, EEG.history) almacena el historial de las rutinas que se aplicaron a ese conjunto de datos específico, y puede ver este historial simplemente escribiendo EEG.history en la línea de comandos. También puede obtener un historial de todo lo que se hizo desde la última vez que lanzó EEGLAB (que podría incluir rutinas aplicadas a muchos conjuntos de datos diferentes) escribiendo eegh en la línea de comandos.

    Vaya al menú Conjuntos de datos y seleccione el primer conjunto de datos (que debe llamarse Mi primer conjunto de datos personalizado). El primer conjunto de datos ahora debería almacenarse en la variable EEG, y si escribe EEG.history debería ver el historial de las rutinas que se aplicaron a este conjunto de datos:

    EEG = pop_loadset ('nombre de archivo', '1_n170.set', 'ruta de archivo', '/Usuarios/suerto/dropbox/investigación/manuscritos/erp_analysis_book/ch_10_scripting/ejercicios/');

    EEG = eeg_checkset (EEG);

    EEG = eeg_checkset (EEG);

    La primera línea es el comando que utilizó para cargar el dataset desde un archivo. Esto es seguido por dos comandos eeg_checkset. Este comando solo verifica que todo esté bien en el conjunto de datos. Se ejecutó una vez cuando cargó el conjunto de datos por primera vez, y luego se volvió a ejecutar cuando cambió del segundo conjunto de datos al primer conjunto de datos. Observe que el comando Matlab que utilizó para cambiar el nombre del conjunto de datos no está en el historial. Solo las operaciones de GUI de EEGLAB se guardan automáticamente en el historial.

    Quiero detenerme un minuto y animarte a que aprecies lo que acaba de pasar. Usó su mouse para cargar el conjunto de datos usando la GUI de EEGLAB, que debería haber sido simple y natural ahora que ha pasado mucho tiempo usando EEGLAB. Y luego el historial te permitió ver el comando real de Matlab que se utilizó para cargar el conjunto de datos. Este es el mismo comando que usarás para cargar conjuntos de datos cuando comiences a escribir scripts. Entonces, no es necesario leer alguna documentación opaca para averiguar qué comando usar y cómo usarlo. Solo necesitas ejecutar la rutina desde la GUI y mirar el historial.

    ¡Esto hace que el scripting sea mucho más fácil! Y no es solo para principiantes: cuando creé los guiones para cada capítulo de este libro, primero ejecuté las rutinas desde la GUI para poder obtener la historia, que luego copié en los guiones que estaba escribiendo. No estoy seguro a cuál de los desarrolladores originales de EEGLAB se le ocurrió este esquema, ¡pero es brillante!

    Ahora que he brotado sobre lo genial que es esto, quiero señalar una pequeña complicación. Si observa de cerca el comando pop_loadset que se utilizó para cargar el conjunto de datos, verá que especifica el nombre de archivo ('nombre de archivo', '1_n170.set') y la ubicación del archivo en su disco duro (la ruta al archivo, enumerada en la cadena que sigue a 'filepath '). Sin embargo, la ruta que puedes ver en tu computadora no es la misma que la ruta que se muestra arriba, que muestra la ruta en mi computadora ('/Users/Luck/dropbox/Research/Manuscripts/erp_analysis_book/ch_10_scripting/ejercises/').

    Ten en cuenta que los caminos que verás en este libro no serán los mismos que los caminos que verás en tu computadora. Y los caminos pueden ser confusos incluso cuando no estés usando este libro. Uno de los problemas más comunes que tienen las personas a la hora de aprender a escribir guiones es equivocarse en los caminos. A menudo me equivoco yo mismo. Posteriormente, te mostraré algunas estrategias para reducir la probabilidad de tener problemas de ruta.

    Ahora seleccione el segundo conjunto de datos en el menú Conjuntos de datos y escriba EEG.history para ver el historial de ese conjunto de datos:

    EEG = pop_loadset ('nombre de archivo', '1_n170.set', 'ruta de archivo', '/Usuarios/suerto/dropbox/investigación/manuscritos/erp_analysis_book/ch_10_scripting/ejercicios/');

    EEG = eeg_checkset (EEG);

    EEG = pop_basicfilter (EEG, 1:33, 'Límite', 'límite', 'Cutoff', [0.1 30], 'Diseño', 'mantequilla', 'Filtro', 'paso de banda', 'Orden', 2, 'removeDC', 'on');% GUI: 10-jun-2021 09:49:46

    eeg.setName='1_N170_filt';

    EEG = eeg_checkset (EEG);

    EEG = eeg_checkset (EEG);

    Verás que el primer par de líneas son las mismas que el historial del primer conjunto de datos. Eso se debe a que esos comandos son parte de la secuencia de operaciones que se aplicó al segundo conjunto de datos. Siguiendo esas líneas, se puede ver el comando para filtrar el EEG. Cuando guardó el dataset filtrado, eso generó un comando adicional para establecer el nuevo valor setname.

    Ahora escriba eegh para ver el historial de la sesión actual de EEGLAB. Debería verse algo así:

    [ALLEEG EEG CURRENTSET ALLCOM] = eeglab;

    EEG = pop_loadset ('nombre de archivo', '1_n170.set', 'ruta de archivo', '/Usuarios/suerto/dropbox/investigación/manuscritos/erp_analysis_book/ch_10_scripting/ejercicios/');

    [ALLEEG, EEG, CURRENTSET] = eeg_store (ALLEEG, EEG, 0);

    EEG = pop_basicfilter (EEG, 1:33, 'Límite', 'límite', 'Cutoff', [0.1 30], 'Diseño', 'mantequilla', 'Filtro', 'paso de banda', 'Orden', 2, 'removeDC', 'on');% GUI: 10-Jun-2021 10:08:08

    [ALLEEG EEG CURRENTSET] = pop_newset (ALLEEG, EEG, 1, 'setname', '1_N170_filt', 'gui', 'off');

    [ALLEEG EEG CURRENTSET] = pop_newset (ALLEEG, EEG, 2, 'recuperar',1, 'estudio', 0);

    [ALLEEG EEG CURRENTSET] = pop_newset (ALLEEG, EEG, 1, 'recuperar',2, 'estudio', 0);

    La primera línea es el comando para lanzar EEGLAB, que devuelve las variables ALLEEG y EEG (que están vacías inicialmente). También devuelve una variable llamada CURRENTSET, que solo indica qué conjunto de datos está actualmente activo, y una variable llamada ALLCOM, que almacena el historial.

    La segunda línea es el comando para cargar el primer conjunto de datos desde su disco duro en la variable EEG. A esto le sigue un comando eeg_store que lo agrega a la variable ALLEEG. Sería posible reemplazar esto con ALLEEG (1) = EEG, pero el comando eeg_store se encarga de algunos detalles adicionales (como actualizar el valor de CURRENTSET).

    La siguiente línea es para la rutina de filtrado, que opera sobre la variable EEG. Esto es seguido por un comando pop_newset que crea una entrada para este nuevo conjunto de datos en la variable ALLEEG (y establece el nombre de conjunto). Luego tenemos dos comandos pop_newset más que corresponden a usted configurando el primer conjunto de datos para que esté activo en el menú Conjuntos de datos y luego configurando el segundo conjunto de datos para que esté activo en el menú Conjuntos de datos.

    Ahora ya sabe cómo ver los comandos de Matlab para todas las rutinas que sabe ejecutar desde la GUI de EEGLAB. Esto te hará la vida mucho más fácil en los siguientes ejercicios, donde comenzarás a armar guiones. Me gusta usar eegh cuando estoy escribiendo scripts que interactuarán con la GUI de EEGLAB, donde es importante realizar un seguimiento de ALLEEG y CURRENTSET. Pero normalmente uso EEG.history para scripts que se ejecutan independientemente de la GUI, en cuyo caso normalmente solo tengo un conjunto de datos en la memoria en un momento dado y no necesito preocuparme por ALLEEG.


    This page titled 11.7: Ejercicio- EEG.Historia y eegh 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.