-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDiagrama sin título.drawio
82 lines (82 loc) · 21.8 KB
/
Diagrama sin título.drawio
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
<mxfile host="app.diagrams.net" modified="2024-06-21T14:55:13.950Z" agent="Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:127.0) Gecko/20100101 Firefox/127.0" etag="FlrNDj7uJF0ERgfb3OZI" version="24.5.5" type="github">
<diagram id="C5RBs43oDa-KdzZeNtuy" name="Page-1">
<mxGraphModel dx="2314" dy="1366" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="WIyWlLk6GJQsqaUBKTNV-0" />
<mxCell id="WIyWlLk6GJQsqaUBKTNV-1" parent="WIyWlLk6GJQsqaUBKTNV-0" />
<mxCell id="FwMlWWRZnVb2PRxpXw4a-0" value="EEG_Data" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="50" y="10" width="850" height="410" as="geometry" />
</mxCell>
<mxCell id="FwMlWWRZnVb2PRxpXw4a-1" value="&nbsp; _id_subject&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; # Identificador del sujeto. Número entero que identifica el orden de carga del sujeto<br>&nbsp; _class_subject &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Identidicará si el sujeto es Young/Old. Valido para los procesos de clasificación<br>&nbsp; _name_subject&nbsp; &nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Nombre de los sujectos leidos, es igual al nombre del fichero que tiene lso datos del sujeto<br>&nbsp; _raw_data&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; # Almacenamos el conjunto de EEG channels sin procesar<br>&nbsp; _fraw_data&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; # Almacenamos el conjunto de EEG channels preprocedados (100HZ-mantenemos frezfreq gamma) y un paso alto 0.1<br>&nbsp; _info&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; # Almacenamos el objeto info asociado a los canales del subject. Mantiene los nombres de los canales y picks<br>&nbsp; _all_channels&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Lista de todos los canales presentes<br>&nbsp; _eeg_channels&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; # canales estandares de los electrodos eeg<br>&nbsp; _eog_channels&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; # canales estandares de los electrodos eog<br>&nbsp; _exg_channels&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # canales estandares de los electrodos exg<br>&nbsp; _sr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Frecuencia de muestreo de los datos originales<br>&nbsp; _epochs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; # Enventanado de las señales de cada canal<br>&nbsp; _filepath&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Directorio donde se serializa/deserializa en disco las señales del EEG en crudo<br>&nbsp; _DEBUG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Parametrizamos las salidas de debug" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="FwMlWWRZnVb2PRxpXw4a-0">
<mxGeometry y="26" width="850" height="214" as="geometry" />
</mxCell>
<mxCell id="FwMlWWRZnVb2PRxpXw4a-2" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="FwMlWWRZnVb2PRxpXw4a-0">
<mxGeometry y="240" width="850" height="10" as="geometry" />
</mxCell>
<mxCell id="FwMlWWRZnVb2PRxpXw4a-3" value="<div>def __init__(self, name_subject, id_subject, class_subject, data, DEBUG = False, sr = 512, filepath = './eeg_path')&nbsp; #Creaciónb objeto<br></div><div>read_random_eeg_files(directory, entity_subject, count_subj, verbose=True)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Lectura aleatoria de los datos EEG de cada sujeto <br></div><div>read_eeg_files(directory, entity_subject, count_subj, verbose=True) # Lectura lineal de los datos EEG de cada sujeto<br></div><div>def assign_channel_names (self, all_channels, eeg_channels, eog_channels, exg_channels, exg_type = "ecg")&nbsp; 3asignación tipo canales al objeto<br></div><div>def channel_filtered (self, cut_low = 100, cut_hi = 0.2 ) # Filtrado base datos EEG. Sólo realiza un filtro paso alto y otro paso bajo<br></div><div>def resample_mne (self, n_decim = 2)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Remuestrear las señales de los datos EEG con API mne<br></div><div>def resample_scipy (self, n_decim = 2)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Remuestrear las señales de los datos EEG con API scipy<br></div><div>def remove_ica_components_artifact(self)&nbsp; # Eliminación artefactos con ICA en api mne. SEelimina lso artefactos con eog, ecg, emg y por amplitud<br></div>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="FwMlWWRZnVb2PRxpXw4a-0">
<mxGeometry y="250" width="850" height="160" as="geometry" />
</mxCell>
<mxCell id="FwMlWWRZnVb2PRxpXw4a-10" value="MyESN" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="50" y="560" width="590" height="470" as="geometry" />
</mxCell>
<mxCell id="FwMlWWRZnVb2PRxpXw4a-11" value="init_type&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br><div>init_std&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; # Desviación estándar para la inicializar de los pesos iniciales y del RC &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </div>init_mean&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #&nbsp; Media para la inicialización de los pesos iniciales y RC<br>connectivity&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Conectividad de las neuronas de la capa interna del RC<br>input_size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Tamaño del vector de entrada al RC = Número de canales<br>nonlinearity&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Tipo de función de activación a aplicar<br>use_input_bias&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # si se aplica o no bias a la capa de entrada &nbsp; <br>use_input_layer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Si se usa una capa lineal de entrada o no &nbsp; <br>use_output_bias&nbsp;&nbsp;&nbsp;&nbsp; # Si se usa bías en la capa de salida del estado del RC &nbsp;&nbsp; <br><div>reservoir_size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Número de neuronas de la capa interna del RC</div><div>spectral_radius&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Radio espectral para normalizar la matriz de conexión de neuronas capa interna &nbsp; <br></div>input_scaling&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Porcentaje escalado valores de entrada <br>plasticity_synaptic&nbsp; # Tipo de plasticidad sináptica. NO APLICABLE. Poner None &nbsp; <br><div>plasticity_intrinsic &nbsp; # Tipo de plasticidad intrínseca. No aplicable, poner None <br></div><div>new_activation_function # Nueva función activación para&nbsp;plasticidad sináptica<br></div>excitability_factor&nbsp;&nbsp;&nbsp;&nbsp; # Factor excitabilidad para plasticidad sináptica<br>leak&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Parámetro fuga para calcular el estado de las neuronas de la capa interna del RC<br>noise_level&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Ruido asociado al estado de las neuronas internas del RC<br>learning_rate&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Valor del coeficiente aprendizaje para capa salida del RC<br>circle&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Si se implementa una conexión circulas de las neuronas de la capa interna del RC<br>theta_m&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Parámetro para la pesticida sináptica" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="FwMlWWRZnVb2PRxpXw4a-10">
<mxGeometry y="26" width="590" height="314" as="geometry" />
</mxCell>
<mxCell id="FwMlWWRZnVb2PRxpXw4a-12" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="FwMlWWRZnVb2PRxpXw4a-10">
<mxGeometry y="340" width="590" height="8" as="geometry" />
</mxCell>
<mxCell id="FwMlWWRZnVb2PRxpXw4a-13" value="<div>def __init__ (self, config)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ## Inicialización objetos y parametros entrada<br></div><div>def forward (self, input_data, reservoir_state, t) # Actualización estado neuronas capa interna del RC<br></div><div>def _f_nonlinearity(self, rc_data)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Aplicar función activación<br></div><div>def _spectral_reservoir_weights_circ (self, n_internal_units, spectral_radius) # inicialización circular pesos<br></div><div>def _spectral_reservoir_weights (self) # inicialización pesos capa interna RC<br></div><div>def _initialize_weights (self)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Inicializa peos capa entrada y capa interna del RC<br></div><div>def plot_spectral_graph (self)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Muetra la conectividad neuronal de la capa interna del RC<br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="FwMlWWRZnVb2PRxpXw4a-10">
<mxGeometry y="348" width="590" height="122" as="geometry" />
</mxCell>
<mxCell id="FwMlWWRZnVb2PRxpXw4a-14" value="MyRC" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="690" y="660" width="370" height="396" as="geometry" />
</mxCell>
<mxCell id="FwMlWWRZnVb2PRxpXw4a-26" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="FwMlWWRZnVb2PRxpXw4a-14">
<mxGeometry y="26" width="370" height="8" as="geometry" />
</mxCell>
<mxCell id="FwMlWWRZnVb2PRxpXw4a-15" value="model&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # modelo ESN <br>readout&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # si utilizamos reaout o no &nbsp;&nbsp;&nbsp; <br>config&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # contenedor de la configuración del modelo&nbsp; <br>readout_type&nbsp;&nbsp;&nbsp; # tipo de readout a utilizar &nbsp; <br>mts_rep&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # tipo de representación interna de los estados<br>w_ridge_embedding # parámetro regresión ridge readout<br>w_ridge&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # parámetro regresión ridge readout<br>w_l2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # parámetro regresión ridge readout<br>svm_C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# parámetro regresión svn readout <br>svm_kernel&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # parámetro regresión svn readout <br>svm_gamma&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # parámetro regresión svn readout <br>mlp_layout&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # parámetro regresión mlp readout <br>num_epochs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # parámetro regresión mlp readout <br>nonlinearity&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # parámetro regresión mlp readout &nbsp;&nbsp;&nbsp;&nbsp; <br>dimred_method&nbsp;&nbsp; #método de reducción dimensionalidad<br>n_dim&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # número canales a redución<br>bidir&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Si el RC es bidireccional o no a procesar entrada<br><div>threshold # para obtener las clases predichas en el readout &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br></div><div>washout&nbsp;&nbsp;&nbsp;&nbsp; # número de transitorios a eliminar<br></div>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="FwMlWWRZnVb2PRxpXw4a-14">
<mxGeometry y="34" width="370" height="304" as="geometry" />
</mxCell>
<mxCell id="FwMlWWRZnVb2PRxpXw4a-27" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="FwMlWWRZnVb2PRxpXw4a-14">
<mxGeometry y="338" width="370" height="8" as="geometry" />
</mxCell>
<mxCell id="FwMlWWRZnVb2PRxpXw4a-17" value="<div>def __init__ (self, model,&nbsp; config)</div><div>def fit (self, input_data, target_data = None)<br></div><div>def fit_evaluate (self, Xte, Y_test)<br></div>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="FwMlWWRZnVb2PRxpXw4a-14">
<mxGeometry y="346" width="370" height="50" as="geometry" />
</mxCell>
<mxCell id="FwMlWWRZnVb2PRxpXw4a-20" value="1" style="endArrow=open;html=1;endSize=12;startArrow=diamondThin;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=bottom;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="FwMlWWRZnVb2PRxpXw4a-11" target="FwMlWWRZnVb2PRxpXw4a-14">
<mxGeometry x="-1" y="3" relative="1" as="geometry">
<mxPoint x="420" y="870" as="sourcePoint" />
<mxPoint x="500" y="830" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="FwMlWWRZnVb2PRxpXw4a-24" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="FwMlWWRZnVb2PRxpXw4a-21" target="FwMlWWRZnVb2PRxpXw4a-11">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="FwMlWWRZnVb2PRxpXw4a-21" value="«interface»<br><b>nn.Module</b>" style="html=1;whiteSpace=wrap;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="670" y="585" width="110" height="50" as="geometry" />
</mxCell>
<mxCell id="FwMlWWRZnVb2PRxpXw4a-23" value="" style="endArrow=block;dashed=1;endFill=0;endSize=12;html=1;rounded=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="370" y="740" as="sourcePoint" />
<mxPoint x="530" y="740" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="FwMlWWRZnVb2PRxpXw4a-28" value="base" style="shape=folder;fontStyle=1;spacingTop=10;tabWidth=40;tabHeight=14;tabPosition=left;html=1;whiteSpace=wrap;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="940" y="80" width="470" height="240" as="geometry" />
</mxCell>
<mxCell id="FwMlWWRZnVb2PRxpXw4a-30" value="eeg.py" style="shape=module;align=left;spacingLeft=20;align=center;verticalAlign=top;whiteSpace=wrap;html=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="940" y="150" width="100" height="50" as="geometry" />
</mxCell>
<mxCell id="FwMlWWRZnVb2PRxpXw4a-31" value="MyRC.py" style="shape=module;align=left;spacingLeft=20;align=center;verticalAlign=top;whiteSpace=wrap;html=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="1250" y="170" width="100" height="50" as="geometry" />
</mxCell>
<mxCell id="FwMlWWRZnVb2PRxpXw4a-33" value="Extractfeatures.py" style="shape=module;align=left;spacingLeft=20;align=center;verticalAlign=top;whiteSpace=wrap;html=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="940" y="290" width="160" height="50" as="geometry" />
</mxCell>
<mxCell id="FwMlWWRZnVb2PRxpXw4a-34" value="utils.py" style="shape=module;align=left;spacingLeft=20;align=center;verticalAlign=top;whiteSpace=wrap;html=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="1270" y="290" width="100" height="50" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>