NeuroAnalyzer tutorials: Edit: Epoching
Initialize NeuroAnalyzer
using NeuroAnalyzer
eeg = import_edf("files/eeg_edfplus.edf");Epoching is a procedure in which specific time-windows are extracted from the continuous EEG signal; these time windows are called epochs. Epochs usually are time-locked with respect an event e.g. a visual stimulus. Recorded data is stored as matrix channel × time (where time is the complete continuous the signal). After the epoching procedure the matrix is transformed into an array: channel × time × epochs, where time is the time length of each epoch, and epochs is the number of segments you extracted from continuous signal.
Imagine we have a signal with length of 60 s and our sampling frequency is 1 Hz. The matrix representation of your EEG signal would be 1×60 array or matrix, so if you divide your main signal to some 2 s signals, you would have 30 epoch (each 2 s of your main signal would be an epoch). This could be done by a simple for loop resulting in a new matrix which size is 30×1×2.
If you want to extract epochs from your signal, you should know what are the segments of interest to be analyzed, for instance, a specific stimulus.
(!) Many processing operations (such as filtering or ICA decomposition) should be performed on non-epoched (continuous) signal (e.g. due to the edge artifacts that may occur in case of filtering or the minimum required signal length for ICA decomposition).
Create epochs
Split EEG into 10-second epochs:
e10 = epoch(eeg, ep_len=10)NeuroAnalyzer.NEURO(NeuroAnalyzer.HEADER(Dict{Symbol, Any}(:weight => -1, :id => "", :middle_name => "", :height => -1, :head_circumference => -1, :handedness => "", :last_name => "000000 F 02-SEP-1938 Kamakaeha_Liliuokalani", :first_name => ""), Dict{Symbol, Any}(:epoch_id => "length_10s", :channel_type => ["eeg", "eeg", "eeg", "eeg", "eeg", "eeg", "eeg", "eeg", "eeg", "eeg" … "mrk", "eeg", "eeg", "ref", "ref", "eeg", "eeg", "mrk", "mrk", "mrk"], :label => ["Fp1", "Fp2", "F3", "F4", "C3", "C4", "P3", "P4", "O1", "O2" … "E", "PG1", "PG2", "A1", "A2", "T1", "T2", "Mark1", "Mark2", "Events/Markers"], :prefiltering => ["", "", "", "", "", "", "", "", "", "" … "", "", "", "", "", "", "", "", "", ""], :gain => [0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123 … 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.3662998397802701, 0.3662998397802701, 3.0518043793392844e-5, 3.0518043793392844e-5], :data_type => "eeg", :recording_notes => "", :recording_date => "02.09.88", :sampling_rate => 200, :file_type => "EDF+"…), Dict(:name => "", :design => "", :notes => "")), [0.0, 0.005, 0.01, 0.015, 0.02, 0.025, 0.03, 0.035, 0.04, 0.045 … 1999.95, 1999.955, 1999.96, 1999.965, 1999.97, 1999.975, 1999.98, 1999.985, 1999.99, 1999.995], [0.0, 0.005, 0.01, 0.015, 0.02, 0.025, 0.03, 0.035, 0.04, 0.045 … 9.95, 9.955, 9.96, 9.965, 9.97, 9.975, 9.98, 9.985, 9.99, 9.995], [49.99999731441215 49.99999731441215 … 0.0 0.0; 49.99999731441215 49.99999731441215 … 0.0 0.0; … ; -12002.91314991989 -12002.91314991989 … -12002.91314991989 -12002.91314991989; 3.0518043793392844e-5 3.0518043793392844e-5 … 3.0518043793392844e-5 3.0518043793392844e-5;;; 0.0 0.0 … -8.593749538414588 11.914061860074769; 0.0 0.0 … -58.88671558709087 -38.86718541237507; … ; -12002.91314991989 -12002.91314991989 … -12002.91314991989 -12002.91314991989; 3.0518043793392844e-5 3.0518043793392844e-5 … 0.0 0.0;;; 24.999998657206074 -9.374999496452277 … 106.34765053788053 120.31249353780423; -27.92968599984741 -60.35155925841154 … 36.523435538262 56.73827820248722; … ; -12002.91314991989 -12002.91314991989 … -12002.91314991989 -12002.91314991989; 0.0 0.0 … 0.0 0.0;;; … ;;; 4.980468482490273 5.468749706263829 … -8.593749538414588 -25.48827988097963; 4.296874769207294 17.871092790112154 … -8.984374517433434 -22.558592538338292; … ; -12002.91314991989 -12002.91314991989 … -12002.91314991989 -12002.91314991989; 0.0 0.0 … 0.0 0.0;;; -1.9531248950942246 1.5624999160753796 … 0.0 0.0; 10.546874433508812 7.91015582513161 … 0.0 0.0; … ; -12002.91314991989 -12002.91314991989 … -12002.91314991989 -12002.91314991989; 0.0 0.0 … 3.0518043793392844e-5 3.0518043793392844e-5;;; 0.0 0.0 … 49.99999731441215 49.99999731441215; 0.0 0.0 … 49.99999731441215 49.99999731441215; … ; -12002.91314991989 -12002.91314991989 … -12002.91314991989 -12002.91314991989; 3.0518043793392844e-5 3.0518043793392844e-5 … 3.0518043793392844e-5 3.0518043793392844e-5], Dict{Any, Any}(), 45×5 DataFrame
Row │ id start length value channel
│ String Float64 Float64 String Int64
─────┼──────────────────────────────────────────────────────────
1 │ 1 0.0 0.0 REC START BioCal CAL 0
2 │ 2 1.14 0.0 A1+A2 OFF 0
3 │ 3 4.22 0.0 IMP CHECK ON 0
4 │ 4 8.24 0.0 IMP CHECK OFF 0
5 │ 5 10.24 0.0 PAT BioCal EEG 0
6 │ 6 17.07 0.0 PAT 1-Banana EEG 0
7 │ 7 21.64 0.0 Head Straight 0
8 │ 8 23.38 0.0 Awake 0
9 │ 9 25.629 0.0 Eyes Open 0
10 │ 10 30.468 0.0 Eyes Closed 0
11 │ 11 35.899 0.0 Swallow 0
⋮ │ ⋮ ⋮ ⋮ ⋮ ⋮
36 │ 35 552.88 0.0 PHOTO 19Hz 0
37 │ 36 568.08 0.0 PHOTO 20Hz 0
38 │ 37 1272.7 0.0 PAT 2-Trans EEG 0
39 │ 38 1281.01 0.0 Drowsy 0
40 │ 39 1603.66 0.0 PAT 3-EarRef EEG 0
41 │ 9 1625.96 0.0 Eyes Open 0
42 │ 10 1638.53 0.0 Eyes Closed 0
43 │ 9 1939.59 0.0 Eyes Open 0
44 │ 10 1966.55 0.0 Eyes Closed 0
45 │ 40 1987.52 0.0 PAT 3-EarRef CAL 0
24 rows omitted, 25×9 DataFrame
Row │ label loc_radius loc_theta loc_x loc_y loc_z loc_radius_sp ⋯
│ String Float64 Float64 Float64 Float64 Float64 Float64 ⋯
─────┼──────────────────────────────────────────────────────────────────────────
1 │ Fp1 0.0 0.0 0.0 0.0 0.0 0. ⋯
2 │ Fp2 0.0 0.0 0.0 0.0 0.0 0.
3 │ F3 0.0 0.0 0.0 0.0 0.0 0.
4 │ F4 0.0 0.0 0.0 0.0 0.0 0.
5 │ C3 0.0 0.0 0.0 0.0 0.0 0. ⋯
6 │ C4 0.0 0.0 0.0 0.0 0.0 0.
7 │ P3 0.0 0.0 0.0 0.0 0.0 0.
8 │ P4 0.0 0.0 0.0 0.0 0.0 0.
9 │ O1 0.0 0.0 0.0 0.0 0.0 0. ⋯
10 │ O2 0.0 0.0 0.0 0.0 0.0 0.
11 │ F7 0.0 0.0 0.0 0.0 0.0 0.
⋮ │ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋱
16 │ T6 0.0 0.0 0.0 0.0 0.0 0.
17 │ Fz 0.0 0.0 0.0 0.0 0.0 0. ⋯
18 │ Cz 0.0 0.0 0.0 0.0 0.0 0.
19 │ Pz 0.0 0.0 0.0 0.0 0.0 0.
20 │ PG1 0.0 0.0 0.0 0.0 0.0 0.
21 │ PG2 0.0 0.0 0.0 0.0 0.0 0. ⋯
22 │ T1 0.0 0.0 0.0 0.0 0.0 0.
23 │ T2 0.0 0.0 0.0 0.0 0.0 0.
24 │ A1 0.0 0.0 0.0 0.0 0.0 0.
25 │ A2 0.0 0.0 0.0 0.0 0.0 0. ⋯
3 columns and 4 rows omitted, ["reset_components(OBJ)", "epoch(OBJ, marker=, offset=0, ep_n=nothing, ep_len=2000)"])
Split into 5-second epochs and then average into one epoch:
e5 = epoch(eeg, ep_len=5)
e5avg = average_epochs(e5)
info(e5avg) Data type: ERP
File format: EDF+
Source file: files/eeg_edfplus.edf
File size [MB]: 22.95
Memory size [MB]: 73.45
Subject: 000000 F 02-SEP-1938 Kamakaeha_Liliuokalani
Recording: Startdate 02-SEP-1988 98-001 Oe_Aloha_AASH Nihon_Kohden_EEG-0000A_V99.00
Recording notes:
Recording date: 02.09.88
Recording time: 09:11:38
Sampling rate (Hz): 200
Signal length [samples]: 401000
Signal length [seconds]: 2005.0
Number of channels: 23
Epochs ID: length_5s
Number of epochs: 401
Epoch length [samples]: 1000
Epoch length [seconds]: 5.0
Markers: yes
Channel locations: yes
Components: no
Number of EEG channels: 23
Channels:
ch label type unit bad
------ --------------- ----------- ------- -------
1 Fp1 EEG μV false
2 Fp2 EEG μV false
3 F3 EEG μV false
4 F4 EEG μV false
5 C3 EEG μV false
6 C4 EEG μV false
7 P3 EEG μV false
8 P4 EEG μV false
9 O1 EEG μV false
10 O2 EEG μV false
11 F7 EEG μV false
12 F8 EEG μV false
13 T3 EEG μV false
14 T4 EEG μV false
15 T5 EEG μV false
16 T6 EEG μV false
17 Fz EEG μV false
18 Cz EEG μV false
19 Pz EEG μV false
20 PG1 EEG μV false
21 PG2 EEG μV false
22 T1 EEG μV false
23 T2 EEG μV false
Split into epochs at the event marker (each epoch is 1500 ms long and starts 200 ms before the event marker):
erp = epoch(eeg,
marker="Eyes Open",
offset=0.2,
ep_len=1.5)NeuroAnalyzer.NEURO(NeuroAnalyzer.HEADER(Dict{Symbol, Any}(:weight => -1, :id => "", :middle_name => "", :height => -1, :head_circumference => -1, :handedness => "", :last_name => "000000 F 02-SEP-1938 Kamakaeha_Liliuokalani", :first_name => ""), Dict{Symbol, Any}(:epoch_id => "Eyes Open", :channel_type => ["eeg", "eeg", "eeg", "eeg", "eeg", "eeg", "eeg", "eeg", "eeg", "eeg" … "mrk", "eeg", "eeg", "ref", "ref", "eeg", "eeg", "mrk", "mrk", "mrk"], :label => ["Fp1", "Fp2", "F3", "F4", "C3", "C4", "P3", "P4", "O1", "O2" … "E", "PG1", "PG2", "A1", "A2", "T1", "T2", "Mark1", "Mark2", "Events/Markers"], :prefiltering => ["", "", "", "", "", "", "", "", "", "" … "", "", "", "", "", "", "", "", "", ""], :gain => [0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123 … 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.3662998397802701, 0.3662998397802701, 3.0518043793392844e-5, 3.0518043793392844e-5], :data_type => "eeg", :recording_notes => "", :recording_date => "02.09.88", :sampling_rate => 200, :file_type => "EDF+"…), Dict(:name => "", :design => "", :notes => "")), [0.0, 0.005, 0.01, 0.015, 0.02, 0.025, 0.03, 0.035, 0.04, 0.045 … 4.45, 4.455, 4.46, 4.465, 4.47, 4.475, 4.48, 4.485, 4.49, 4.495], [-0.2, -0.195, -0.19, -0.185, -0.18000000000000002, -0.17500000000000002, -0.17, -0.165, -0.16, -0.15500000000000003 … 1.25, 1.2550000000000001, 1.26, 1.2650000000000001, 1.27, 1.2750000000000001, 1.28, 1.2850000000000001, 1.29, 1.2950000000000002], [-12.69531181811246 9.374999496452277 … -98.14452597848478 -126.1718682230869; -64.25780904859998 -35.35156060120546 … -134.37499278248265 -160.64452262149996; … ; -12002.91314991989 -12002.91314991989 … -12002.91314991989 -12002.91314991989; 0.0 0.0 … 0.0 0.0;;; -11.425780636301214 -37.890622964827955 … 2.7343748531319143 24.902342412451365; -11.718749370565348 -39.94140410467689 … -40.0390603494316 4.00390603494316; … ; -12002.91314991989 -12002.91314991989 … -12002.91314991989 -12002.91314991989; 0.0 0.0 … 0.0 0.0;;; -52.34374718852522 -23.828123720149538 … 4.3945310139620055 -13.57421802090486; -60.742184237430386 -43.06640393682765 … -24.902342412451365 -41.11327904173343; … ; -12002.91314991989 -12002.91314991989 … -12002.91314991989 -12002.91314991989; 0.0 0.0 … 0.0 0.0], Dict{Any, Any}(), 3×5 DataFrame
Row │ id start length value channel
│ String Float64 Float64 String Int64
─────┼──────────────────────────────────────────────
1 │ 9 0.2 0.0 Eyes Open 0
2 │ 9 1.7 0.0 Eyes Open 0
3 │ 9 3.2 0.0 Eyes Open 0, 25×9 DataFrame
Row │ label loc_radius loc_theta loc_x loc_y loc_z loc_radius_sp ⋯
│ String Float64 Float64 Float64 Float64 Float64 Float64 ⋯
─────┼──────────────────────────────────────────────────────────────────────────
1 │ Fp1 0.0 0.0 0.0 0.0 0.0 0. ⋯
2 │ Fp2 0.0 0.0 0.0 0.0 0.0 0.
3 │ F3 0.0 0.0 0.0 0.0 0.0 0.
4 │ F4 0.0 0.0 0.0 0.0 0.0 0.
5 │ C3 0.0 0.0 0.0 0.0 0.0 0. ⋯
6 │ C4 0.0 0.0 0.0 0.0 0.0 0.
7 │ P3 0.0 0.0 0.0 0.0 0.0 0.
8 │ P4 0.0 0.0 0.0 0.0 0.0 0.
9 │ O1 0.0 0.0 0.0 0.0 0.0 0. ⋯
10 │ O2 0.0 0.0 0.0 0.0 0.0 0.
11 │ F7 0.0 0.0 0.0 0.0 0.0 0.
⋮ │ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋱
16 │ T6 0.0 0.0 0.0 0.0 0.0 0.
17 │ Fz 0.0 0.0 0.0 0.0 0.0 0. ⋯
18 │ Cz 0.0 0.0 0.0 0.0 0.0 0.
19 │ Pz 0.0 0.0 0.0 0.0 0.0 0.
20 │ PG1 0.0 0.0 0.0 0.0 0.0 0.
21 │ PG2 0.0 0.0 0.0 0.0 0.0 0. ⋯
22 │ T1 0.0 0.0 0.0 0.0 0.0 0.
23 │ T2 0.0 0.0 0.0 0.0 0.0 0.
24 │ A1 0.0 0.0 0.0 0.0 0.0 0.
25 │ A2 0.0 0.0 0.0 0.0 0.0 0. ⋯
3 columns and 4 rows omitted, ["reset_components(OBJ)", "epoch(OBJ, marker=Eyes Open, offset=0.2, ep_n=nothing, ep_len=1.5)"])
Create sub-epochs (of reduced time range, start at 0.1 sec and end 1.1 sec):
subepoch(erp, ep_start=0.1, ep_end=1.1)NeuroAnalyzer.NEURO(NeuroAnalyzer.HEADER(Dict{Symbol, Any}(:weight => -1, :id => "", :middle_name => "", :height => -1, :head_circumference => -1, :handedness => "", :last_name => "000000 F 02-SEP-1938 Kamakaeha_Liliuokalani", :first_name => ""), Dict{Symbol, Any}(:epoch_id => "Eyes Open", :channel_type => ["eeg", "eeg", "eeg", "eeg", "eeg", "eeg", "eeg", "eeg", "eeg", "eeg" … "mrk", "eeg", "eeg", "ref", "ref", "eeg", "eeg", "mrk", "mrk", "mrk"], :label => ["Fp1", "Fp2", "F3", "F4", "C3", "C4", "P3", "P4", "O1", "O2" … "E", "PG1", "PG2", "A1", "A2", "T1", "T2", "Mark1", "Mark2", "Events/Markers"], :prefiltering => ["", "", "", "", "", "", "", "", "", "" … "", "", "", "", "", "", "", "", "", ""], :gain => [0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123 … 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.3662998397802701, 0.3662998397802701, 3.0518043793392844e-5, 3.0518043793392844e-5], :data_type => "eeg", :recording_notes => "", :recording_date => "02.09.88", :sampling_rate => 200, :file_type => "EDF+"…), Dict(:name => "", :design => "", :notes => "")), [0.0, 0.005, 0.01, 0.015, 0.02, 0.025, 0.03, 0.035, 0.04, 0.045 … 2.965, 2.97, 2.975, 2.98, 2.985, 2.99, 2.995, 3.0, 3.005, 3.01], [0.09999999999999998, 0.10499999999999998, 0.10999999999999999, 0.11499999999999999, 0.12, 0.125, 0.13, 0.135, 0.14, 0.14499999999999996 … 1.055, 1.06, 1.065, 1.07, 1.075, 1.08, 1.085, 1.09, 1.095, 1.1], [5.1757809719996954 37.30468549629969 … -129.4921805447471 -141.8945236285954; -70.89843369192035 -48.04687241931792 … -183.88670887312125 -191.406239719234; … ; -12002.91314991989 -12002.91314991989 … -12002.91314991989 -12002.91314991989; 0.0 0.0 … 0.0 0.0;;; -7.617187090867476 -20.996092622262914 … 19.72656144045167 -3.027343587396048; -36.42577929350729 -47.8515599298085 … -12.792968062867171 -56.05468448920424; … ; -12002.91314991989 -12002.91314991989 … -12002.91314991989 -12002.91314991989; 0.0 0.0 … 0.0 0.0;;; -80.17577694361792 -50.390622293430994 … -38.86718541237507 -86.81640158693828; -107.91015045395591 -81.835933104448 … -76.46483964293888 -102.83202572671092; … ; -12002.91314991989 -12002.91314991989 … -12002.91314991989 -12002.91314991989; 0.0 0.0 … 0.0 0.0], Dict{Any, Any}(), 3×5 DataFrame
Row │ id start length value channel
│ String Float64 Float64 String Int64
─────┼──────────────────────────────────────────────
1 │ 9 0.1 0.0 Eyes Open 0
2 │ 9 1.105 0.0 Eyes Open 0
3 │ 9 2.11 0.0 Eyes Open 0, 25×9 DataFrame
Row │ label loc_radius loc_theta loc_x loc_y loc_z loc_radius_sp ⋯
│ String Float64 Float64 Float64 Float64 Float64 Float64 ⋯
─────┼──────────────────────────────────────────────────────────────────────────
1 │ Fp1 0.0 0.0 0.0 0.0 0.0 0. ⋯
2 │ Fp2 0.0 0.0 0.0 0.0 0.0 0.
3 │ F3 0.0 0.0 0.0 0.0 0.0 0.
4 │ F4 0.0 0.0 0.0 0.0 0.0 0.
5 │ C3 0.0 0.0 0.0 0.0 0.0 0. ⋯
6 │ C4 0.0 0.0 0.0 0.0 0.0 0.
7 │ P3 0.0 0.0 0.0 0.0 0.0 0.
8 │ P4 0.0 0.0 0.0 0.0 0.0 0.
9 │ O1 0.0 0.0 0.0 0.0 0.0 0. ⋯
10 │ O2 0.0 0.0 0.0 0.0 0.0 0.
11 │ F7 0.0 0.0 0.0 0.0 0.0 0.
⋮ │ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋱
16 │ T6 0.0 0.0 0.0 0.0 0.0 0.
17 │ Fz 0.0 0.0 0.0 0.0 0.0 0. ⋯
18 │ Cz 0.0 0.0 0.0 0.0 0.0 0.
19 │ Pz 0.0 0.0 0.0 0.0 0.0 0.
20 │ PG1 0.0 0.0 0.0 0.0 0.0 0.
21 │ PG2 0.0 0.0 0.0 0.0 0.0 0. ⋯
22 │ T1 0.0 0.0 0.0 0.0 0.0 0.
23 │ T2 0.0 0.0 0.0 0.0 0.0 0.
24 │ A1 0.0 0.0 0.0 0.0 0.0 0.
25 │ A2 0.0 0.0 0.0 0.0 0.0 0. ⋯
3 columns and 4 rows omitted, ["reset_components(OBJ)", "epoch(OBJ, marker=Eyes Open, offset=0.2, ep_n=nothing, ep_len=1.5)", "reset_components(OBJ)", "subepoch(OBJ, ep_start=0.1, ep_start=1.1)"])
Edit epochs
Get 1st epoch:
e10e1 = extract_epoch(e10, ep=1)
info(e10e1) Data type: EEG
File format: EDF+
Source file: files/eeg_edfplus.edf
File size [MB]: 22.95
Memory size [MB]: 0.47
Subject: 000000 F 02-SEP-1938 Kamakaeha_Liliuokalani
Recording: Startdate 02-SEP-1988 98-001 Oe_Aloha_AASH Nihon_Kohden_EEG-0000A_V99.00
Recording notes:
Recording date: 02.09.88
Recording time: 09:11:38
Sampling rate (Hz): 200
Signal length [samples]: 2000
Signal length [seconds]: 10.0
Number of channels: 29
Epochs ID: length_10s
Number of epochs: 1
Epoch length [samples]: 2000
Epoch length [seconds]: 10.0
Reference type: physical
Line frequency: 50 Hz
Markers: yes
Channel locations: yes
Components: no
Number of EEG channels: 23
Channels:
ch label type unit bad
------ --------------- ----------- ------- -------
1 Fp1 EEG μV false
2 Fp2 EEG μV false
3 F3 EEG μV false
4 F4 EEG μV false
5 C3 EEG μV false
6 C4 EEG μV false
7 P3 EEG μV false
8 P4 EEG μV false
9 O1 EEG μV false
10 O2 EEG μV false
11 F7 EEG μV false
12 F8 EEG μV false
13 T3 EEG μV false
14 T4 EEG μV false
15 T5 EEG μV false
16 T6 EEG μV false
17 Fz EEG μV false
18 Cz EEG μV false
19 Pz EEG μV false
20 E MRK μV false
21 PG1 EEG μV false
22 PG2 EEG μV false
23 A1 REF μV false
24 A2 REF μV false
25 T1 EEG μV false
26 T2 EEG μV false
27 Mark1 MRK μV false
28 Mark2 MRK μV false
29 Events/Markers MRK μV false
Delete epochs:
delete_epoch(e10, ep=1)
delete_epoch(e10, ep=8:10)
delete_epoch(e10, ep=[1:5; 9; 10])NeuroAnalyzer.NEURO(NeuroAnalyzer.HEADER(Dict{Symbol, Any}(:weight => -1, :id => "", :middle_name => "", :height => -1, :head_circumference => -1, :handedness => "", :last_name => "000000 F 02-SEP-1938 Kamakaeha_Liliuokalani", :first_name => ""), Dict{Symbol, Any}(:epoch_id => "length_10s", :channel_type => ["eeg", "eeg", "eeg", "eeg", "eeg", "eeg", "eeg", "eeg", "eeg", "eeg" … "mrk", "eeg", "eeg", "ref", "ref", "eeg", "eeg", "mrk", "mrk", "mrk"], :label => ["Fp1", "Fp2", "F3", "F4", "C3", "C4", "P3", "P4", "O1", "O2" … "E", "PG1", "PG2", "A1", "A2", "T1", "T2", "Mark1", "Mark2", "Events/Markers"], :prefiltering => ["", "", "", "", "", "", "", "", "", "" … "", "", "", "", "", "", "", "", "", ""], :gain => [0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123 … 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.3662998397802701, 0.3662998397802701, 3.0518043793392844e-5, 3.0518043793392844e-5], :data_type => "eeg", :recording_notes => "", :recording_date => "02.09.88", :sampling_rate => 200, :file_type => "EDF+"…), Dict(:name => "", :design => "", :notes => "")), [0.0, 0.005, 0.01, 0.015, 0.02, 0.025, 0.03, 0.035, 0.04, 0.045 … 1929.95, 1929.955, 1929.96, 1929.965, 1929.97, 1929.975, 1929.98, 1929.985, 1929.99, 1929.995], [0.0, 0.005, 0.01, 0.015, 0.02, 0.025, 0.03, 0.035, 0.04, 0.045 … 9.95, 9.955, 9.96, 9.965, 9.97, 9.975, 9.98, 9.985, 9.99, 9.995], [8.496093293659877 15.429686671244374 … 22.753905027847715 15.82031165026322; -30.957029587243458 -23.437498741130696 … -17.578124055848022 -22.949217517357138; … ; -12002.91314991989 -12002.91314991989 … -12002.91314991989 -12002.91314991989; 0.0 0.0 … 0.0 0.0;;; -1.9531248950942246 24.02343620965896 … -1.3671874265659572 -26.074217349507897; -38.574216678110936 -15.234374181734951 … -29.296873426413367 -65.33202774090181; … ; -12002.91314991989 -12002.91314991989 … -12002.91314991989 -12002.91314991989; 0.0 0.0 … 0.0 0.0;;; -29.199217181658657 -8.886718272678722 … 66.30859018844892 48.24218490882735; -65.91796520943008 -44.238278873884184 … 57.91015313954376 37.109373006790264; … ; -12002.91314991989 -12002.91314991989 … -12002.91314991989 -12002.91314991989; 0.0 0.0 … 0.0 0.0;;; … ;;; 4.980468482490273 5.468749706263829 … -8.593749538414588 -25.48827988097963; 4.296874769207294 17.871092790112154 … -8.984374517433434 -22.558592538338292; … ; -12002.91314991989 -12002.91314991989 … -12002.91314991989 -12002.91314991989; 0.0 0.0 … 0.0 0.0;;; -1.9531248950942246 1.5624999160753796 … 0.0 0.0; 10.546874433508812 7.91015582513161 … 0.0 0.0; … ; -12002.91314991989 -12002.91314991989 … -12002.91314991989 -12002.91314991989; 0.0 0.0 … 3.0518043793392844e-5 3.0518043793392844e-5;;; 0.0 0.0 … 49.99999731441215 49.99999731441215; 0.0 0.0 … 49.99999731441215 49.99999731441215; … ; -12002.91314991989 -12002.91314991989 … -12002.91314991989 -12002.91314991989; 3.0518043793392844e-5 3.0518043793392844e-5 … 3.0518043793392844e-5 3.0518043793392844e-5], Dict{Any, Any}(), 34×5 DataFrame
Row │ id start length value channel
│ String Float64 Float64 String Int64
─────┼──────────────────────────────────────────────────────────
1 │ 1 0.0 0.0 REC START BioCal CAL 0
2 │ 12 0.063 0.0 laughing 0
3 │ 13 28.91 0.0 HV START 0
4 │ 15 38.94 0.0 HV 00:30 0
5 │ 16 68.96 0.0 HV 01:00 0
6 │ 17 98.94 0.0 HV 01:30 0
7 │ 18 128.94 0.0 HV 02:00 0
8 │ 19 158.98 0.0 HV 02:30 0
9 │ 20 188.96 0.0 HV 03:00 0
10 │ 21 218.94 0.0 HV 03:30 0
11 │ 22 248.98 0.0 HV 04:00 0
⋮ │ ⋮ ⋮ ⋮ ⋮ ⋮
25 │ 35 482.88 0.0 PHOTO 19Hz 0
26 │ 36 498.08 0.0 PHOTO 20Hz 0
27 │ 37 1202.7 0.0 PAT 2-Trans EEG 0
28 │ 38 1211.01 0.0 Drowsy 0
29 │ 39 1533.66 0.0 PAT 3-EarRef EEG 0
30 │ 9 1555.96 0.0 Eyes Open 0
31 │ 10 1568.53 0.0 Eyes Closed 0
32 │ 9 1869.59 0.0 Eyes Open 0
33 │ 10 1896.55 0.0 Eyes Closed 0
34 │ 40 1917.52 0.0 PAT 3-EarRef CAL 0
13 rows omitted, 25×9 DataFrame
Row │ label loc_radius loc_theta loc_x loc_y loc_z loc_radius_sp ⋯
│ String Float64 Float64 Float64 Float64 Float64 Float64 ⋯
─────┼──────────────────────────────────────────────────────────────────────────
1 │ Fp1 0.0 0.0 0.0 0.0 0.0 0. ⋯
2 │ Fp2 0.0 0.0 0.0 0.0 0.0 0.
3 │ F3 0.0 0.0 0.0 0.0 0.0 0.
4 │ F4 0.0 0.0 0.0 0.0 0.0 0.
5 │ C3 0.0 0.0 0.0 0.0 0.0 0. ⋯
6 │ C4 0.0 0.0 0.0 0.0 0.0 0.
7 │ P3 0.0 0.0 0.0 0.0 0.0 0.
8 │ P4 0.0 0.0 0.0 0.0 0.0 0.
9 │ O1 0.0 0.0 0.0 0.0 0.0 0. ⋯
10 │ O2 0.0 0.0 0.0 0.0 0.0 0.
11 │ F7 0.0 0.0 0.0 0.0 0.0 0.
⋮ │ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋱
16 │ T6 0.0 0.0 0.0 0.0 0.0 0.
17 │ Fz 0.0 0.0 0.0 0.0 0.0 0. ⋯
18 │ Cz 0.0 0.0 0.0 0.0 0.0 0.
19 │ Pz 0.0 0.0 0.0 0.0 0.0 0.
20 │ PG1 0.0 0.0 0.0 0.0 0.0 0.
21 │ PG2 0.0 0.0 0.0 0.0 0.0 0. ⋯
22 │ T1 0.0 0.0 0.0 0.0 0.0 0.
23 │ T2 0.0 0.0 0.0 0.0 0.0 0.
24 │ A1 0.0 0.0 0.0 0.0 0.0 0.
25 │ A2 0.0 0.0 0.0 0.0 0.0 0. ⋯
3 columns and 4 rows omitted, ["reset_components(OBJ)", "epoch(OBJ, marker=, offset=0, ep_n=nothing, ep_len=2000)", "reset_components(OBJ)", "delete_epoch(OBJ, [10, 9, 5, 4, 3, 2, 1])"])
(!) Note the use of ; if mixed range is specified.
Keep epochs:
keep_epoch(e10, ep=[1, 3, 5, 9])NeuroAnalyzer.NEURO(NeuroAnalyzer.HEADER(Dict{Symbol, Any}(:weight => -1, :id => "", :middle_name => "", :height => -1, :head_circumference => -1, :handedness => "", :last_name => "000000 F 02-SEP-1938 Kamakaeha_Liliuokalani", :first_name => ""), Dict{Symbol, Any}(:epoch_id => "length_10s", :channel_type => ["eeg", "eeg", "eeg", "eeg", "eeg", "eeg", "eeg", "eeg", "eeg", "eeg" … "mrk", "eeg", "eeg", "ref", "ref", "eeg", "eeg", "mrk", "mrk", "mrk"], :label => ["Fp1", "Fp2", "F3", "F4", "C3", "C4", "P3", "P4", "O1", "O2" … "E", "PG1", "PG2", "A1", "A2", "T1", "T2", "Mark1", "Mark2", "Events/Markers"], :prefiltering => ["", "", "", "", "", "", "", "", "", "" … "", "", "", "", "", "", "", "", "", ""], :gain => [0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123 … 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.3662998397802701, 0.3662998397802701, 3.0518043793392844e-5, 3.0518043793392844e-5], :data_type => "eeg", :recording_notes => "", :recording_date => "02.09.88", :sampling_rate => 200, :file_type => "EDF+"…), Dict(:name => "", :design => "", :notes => "")), [0.0, 0.005, 0.01, 0.015, 0.02, 0.025, 0.03, 0.035, 0.04, 0.045 … 39.95, 39.955, 39.96, 39.965, 39.97, 39.975, 39.98, 39.985, 39.99, 39.995], [0.0, 0.005, 0.01, 0.015, 0.02, 0.025, 0.03, 0.035, 0.04, 0.045 … 9.95, 9.955, 9.96, 9.965, 9.97, 9.975, 9.98, 9.985, 9.99, 9.995], [49.99999731441215 49.99999731441215 … 0.0 0.0; 49.99999731441215 49.99999731441215 … 0.0 0.0; … ; -12002.91314991989 -12002.91314991989 … -12002.91314991989 -12002.91314991989; 3.0518043793392844e-5 3.0518043793392844e-5 … 3.0518043793392844e-5 3.0518043793392844e-5;;; 24.999998657206074 -9.374999496452277 … 106.34765053788053 120.31249353780423; -27.92968599984741 -60.35155925841154 … 36.523435538262 56.73827820248722; … ; -12002.91314991989 -12002.91314991989 … -12002.91314991989 -12002.91314991989; 0.0 0.0 … 0.0 0.0;;; 17.67578030060273 7.226562111848631 … 26.855467307545588 37.59765423056382; -28.417967223620966 -36.230466803997864 … 1.269531181811246 2.148437384603647; … ; -12002.91314991989 -12002.91314991989 … -12002.91314991989 -12002.91314991989; 0.0 0.0 … 0.0 0.0;;; 34.17968566414893 59.86327803463798 … 10.742186923018235 -16.210936629282063; 21.67968633554589 49.90234106965744 … -30.566404608224612 -71.48437116044862; … ; -12002.91314991989 -12002.91314991989 … -12002.91314991989 -12002.91314991989; 0.0 0.0 … 0.0 0.0], Dict{Any, Any}(), 7×5 DataFrame
Row │ id start length value channel
│ String Float64 Float64 String Int64
─────┼─────────────────────────────────────────────────────────
1 │ 1 0.0 0.0 REC START BioCal CAL 0
2 │ 2 1.14 0.0 A1+A2 OFF 0
3 │ 3 4.22 0.0 IMP CHECK ON 0
4 │ 4 8.24 0.0 IMP CHECK OFF 0
5 │ 7 11.64 0.0 Head Straight 0
6 │ 8 13.38 0.0 Awake 0
7 │ 9 15.629 0.0 Eyes Open 0, 25×9 DataFrame
Row │ label loc_radius loc_theta loc_x loc_y loc_z loc_radius_sp ⋯
│ String Float64 Float64 Float64 Float64 Float64 Float64 ⋯
─────┼──────────────────────────────────────────────────────────────────────────
1 │ Fp1 0.0 0.0 0.0 0.0 0.0 0. ⋯
2 │ Fp2 0.0 0.0 0.0 0.0 0.0 0.
3 │ F3 0.0 0.0 0.0 0.0 0.0 0.
4 │ F4 0.0 0.0 0.0 0.0 0.0 0.
5 │ C3 0.0 0.0 0.0 0.0 0.0 0. ⋯
6 │ C4 0.0 0.0 0.0 0.0 0.0 0.
7 │ P3 0.0 0.0 0.0 0.0 0.0 0.
8 │ P4 0.0 0.0 0.0 0.0 0.0 0.
9 │ O1 0.0 0.0 0.0 0.0 0.0 0. ⋯
10 │ O2 0.0 0.0 0.0 0.0 0.0 0.
11 │ F7 0.0 0.0 0.0 0.0 0.0 0.
⋮ │ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋱
16 │ T6 0.0 0.0 0.0 0.0 0.0 0.
17 │ Fz 0.0 0.0 0.0 0.0 0.0 0. ⋯
18 │ Cz 0.0 0.0 0.0 0.0 0.0 0.
19 │ Pz 0.0 0.0 0.0 0.0 0.0 0.
20 │ PG1 0.0 0.0 0.0 0.0 0.0 0.
21 │ PG2 0.0 0.0 0.0 0.0 0.0 0. ⋯
22 │ T1 0.0 0.0 0.0 0.0 0.0 0.
23 │ T2 0.0 0.0 0.0 0.0 0.0 0.
24 │ A1 0.0 0.0 0.0 0.0 0.0 0.
25 │ A2 0.0 0.0 0.0 0.0 0.0 0. ⋯
3 columns and 4 rows omitted, ["reset_components(OBJ)", "epoch(OBJ, marker=, offset=0, ep_n=nothing, ep_len=2000)", "reset_components(OBJ)", "delete_epoch(OBJ, [200, 199, 198, 197, 196, 195, 194, 193, 192, 191, 190, 189, 188, 187, 186, 185, 184, 183, 182, 181, 180, 179, 178, 177, 176, 175, 174, 173, 172, 171, 170, 169, 168, 167, 166, 165, 164, 163, 162, 161, 160, 159, 158, 157, 156, 155, 154, 153, 152, 151, 150, 149, 148, 147, 146, 145, 144, 143, 142, 141, 140, 139, 138, 137, 136, 135, 134, 133, 132, 131, 130, 129, 128, 127, 126, 125, 124, 123, 122, 121, 120, 119, 118, 117, 116, 115, 114, 113, 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 102, 101, 100, 99, 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 8, 7, 6, 4, 2])", "reset_components(OBJ)", "keep_epoch(OBJ, [9, 5, 3, 1])"])
Using markers
View markers:
view_marker(eeg)n ID start [s] length [s] value channel
1 '1' 0.0 0.0 'REC START BioCal CAL' 0
2 '2' 1.14 0.0 'A1+A2 OFF' 0
3 '3' 4.22 0.0 'IMP CHECK ON' 0
4 '4' 8.24 0.0 'IMP CHECK OFF' 0
5 '5' 10.24 0.0 'PAT BioCal EEG' 0
6 '6' 17.07 0.0 'PAT 1-Banana EEG' 0
7 '7' 21.64 0.0 'Head Straight' 0
8 '8' 23.38 0.0 'Awake' 0
9 '9' 25.629 0.0 'Eyes Open' 0
10 '10' 30.468 0.0 'Eyes Closed' 0
11 '11' 35.899 0.0 'Swallow' 0
12 '12' 50.063 0.0 'laughing' 0
13 '13' 78.91 0.0 'HV START' 0
14 '14' 92.122 0.0 '35 Hz' 0
15 '15' 108.94 0.0 'HV 00:30' 0
16 '16' 138.96 0.0 'HV 01:00' 0
17 '17' 168.94 0.0 'HV 01:30' 0
18 '18' 198.94 0.0 'HV 02:00' 0
19 '19' 228.98 0.0 'HV 02:30' 0
20 '20' 258.96 0.0 'HV 03:00' 0
21 '21' 288.94 0.0 'HV 03:30' 0
22 '22' 318.98 0.0 'HV 04:00' 0
23 '23' 348.98 0.0 'HV 04:30' 0
24 '24' 378.9 0.0 'HV 05:00' 0
25 '25' 380.22 0.0 'HV END' 0
26 '26' 410.26 0.0 'POST HV 00:30' 0
27 '25' 425.88 0.0 'HV END' 0
28 '27' 432.56 0.0 'PHOTO 4Hz' 0
29 '28' 448.14 0.0 'PHOTO 6Hz' 0
30 '29' 462.87 0.0 'PHOTO 7Hz' 0
31 '30' 478.12 0.0 'PHOTO 9Hz' 0
32 '31' 492.9 0.0 'PHOTO 10Hz' 0
33 '32' 508.12 0.0 'PHOTO 12Hz' 0
34 '33' 522.94 0.0 'PHOTO 15Hz' 0
35 '34' 537.68 0.0 'PHOTO 17Hz' 0
36 '35' 552.88 0.0 'PHOTO 19Hz' 0
37 '36' 568.08 0.0 'PHOTO 20Hz' 0
38 '37' 1272.7 0.0 'PAT 2-Trans EEG' 0
39 '38' 1281.011 0.0 'Drowsy' 0
40 '39' 1603.66 0.0 'PAT 3-EarRef EEG' 0
41 '9' 1625.963 0.0 'Eyes Open' 0
42 '10' 1638.531 0.0 'Eyes Closed' 0
43 '9' 1939.592 0.0 'Eyes Open' 0
44 '10' 1966.553 0.0 'Eyes Closed' 0
45 '40' 1987.52 0.0 'PAT 3-EarRef CAL' 0
(!) Value of channel refers to channels affected by the marker; 0 means all channels; values other than 0 are not supported.
Delete 1st marker:
delete_marker(eeg, n=1)NeuroAnalyzer.NEURO(NeuroAnalyzer.HEADER(Dict{Symbol, Any}(:weight => -1, :id => "", :middle_name => "", :height => -1, :head_circumference => -1, :handedness => "", :last_name => "000000 F 02-SEP-1938 Kamakaeha_Liliuokalani", :first_name => ""), Dict{Symbol, Any}(:epoch_id => "", :channel_type => ["eeg", "eeg", "eeg", "eeg", "eeg", "eeg", "eeg", "eeg", "eeg", "eeg" … "mrk", "eeg", "eeg", "ref", "ref", "eeg", "eeg", "mrk", "mrk", "mrk"], :label => ["Fp1", "Fp2", "F3", "F4", "C3", "C4", "P3", "P4", "O1", "O2" … "E", "PG1", "PG2", "A1", "A2", "T1", "T2", "Mark1", "Mark2", "Events/Markers"], :prefiltering => ["", "", "", "", "", "", "", "", "", "" … "", "", "", "", "", "", "", "", "", ""], :gain => [0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123 … 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.3662998397802701, 0.3662998397802701, 3.0518043793392844e-5, 3.0518043793392844e-5], :data_type => "eeg", :recording_notes => "", :recording_date => "02.09.88", :sampling_rate => 200, :file_type => "EDF+"…), Dict(:name => "", :design => "", :notes => "")), [0.0, 0.005, 0.01, 0.015, 0.02, 0.025, 0.03, 0.035, 0.04, 0.045 … 2000.95, 2000.955, 2000.96, 2000.965, 2000.97, 2000.975, 2000.98, 2000.985, 2000.99, 2000.995], [0.0, 0.005, 0.01, 0.015, 0.02, 0.025, 0.03, 0.035, 0.04, 0.045 … 2000.95, 2000.955, 2000.96, 2000.965, 2000.97, 2000.975, 2000.98, 2000.985, 2000.99, 2000.995], [49.99999731441215 49.99999731441215 … 49.99999731441215 49.99999731441215; 49.99999731441215 49.99999731441215 … 49.99999731441215 49.99999731441215; … ; -12002.91314991989 -12002.91314991989 … -12002.91314991989 -12002.91314991989; 3.0518043793392844e-5 3.0518043793392844e-5 … 3.0518043793392844e-5 3.0518043793392844e-5;;;], Dict{Any, Any}(), 44×5 DataFrame
Row │ id start length value channel
│ String Float64 Float64 String Int64
─────┼──────────────────────────────────────────────────────
1 │ 2 1.14 0.0 A1+A2 OFF 0
2 │ 3 4.22 0.0 IMP CHECK ON 0
3 │ 4 8.24 0.0 IMP CHECK OFF 0
4 │ 5 10.24 0.0 PAT BioCal EEG 0
5 │ 6 17.07 0.0 PAT 1-Banana EEG 0
6 │ 7 21.64 0.0 Head Straight 0
7 │ 8 23.38 0.0 Awake 0
8 │ 9 25.629 0.0 Eyes Open 0
9 │ 10 30.468 0.0 Eyes Closed 0
10 │ 11 35.899 0.0 Swallow 0
11 │ 12 50.063 0.0 laughing 0
⋮ │ ⋮ ⋮ ⋮ ⋮ ⋮
35 │ 35 552.88 0.0 PHOTO 19Hz 0
36 │ 36 568.08 0.0 PHOTO 20Hz 0
37 │ 37 1272.7 0.0 PAT 2-Trans EEG 0
38 │ 38 1281.01 0.0 Drowsy 0
39 │ 39 1603.66 0.0 PAT 3-EarRef EEG 0
40 │ 9 1625.96 0.0 Eyes Open 0
41 │ 10 1638.53 0.0 Eyes Closed 0
42 │ 9 1939.59 0.0 Eyes Open 0
43 │ 10 1966.55 0.0 Eyes Closed 0
44 │ 40 1987.52 0.0 PAT 3-EarRef CAL 0
23 rows omitted, 25×9 DataFrame
Row │ label loc_radius loc_theta loc_x loc_y loc_z loc_radius_sp ⋯
│ String Float64 Float64 Float64 Float64 Float64 Float64 ⋯
─────┼──────────────────────────────────────────────────────────────────────────
1 │ Fp1 0.0 0.0 0.0 0.0 0.0 0. ⋯
2 │ Fp2 0.0 0.0 0.0 0.0 0.0 0.
3 │ F3 0.0 0.0 0.0 0.0 0.0 0.
4 │ F4 0.0 0.0 0.0 0.0 0.0 0.
5 │ C3 0.0 0.0 0.0 0.0 0.0 0. ⋯
6 │ C4 0.0 0.0 0.0 0.0 0.0 0.
7 │ P3 0.0 0.0 0.0 0.0 0.0 0.
8 │ P4 0.0 0.0 0.0 0.0 0.0 0.
9 │ O1 0.0 0.0 0.0 0.0 0.0 0. ⋯
10 │ O2 0.0 0.0 0.0 0.0 0.0 0.
11 │ F7 0.0 0.0 0.0 0.0 0.0 0.
⋮ │ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋱
16 │ T6 0.0 0.0 0.0 0.0 0.0 0.
17 │ Fz 0.0 0.0 0.0 0.0 0.0 0. ⋯
18 │ Cz 0.0 0.0 0.0 0.0 0.0 0.
19 │ Pz 0.0 0.0 0.0 0.0 0.0 0.
20 │ PG1 0.0 0.0 0.0 0.0 0.0 0.
21 │ PG2 0.0 0.0 0.0 0.0 0.0 0. ⋯
22 │ T1 0.0 0.0 0.0 0.0 0.0 0.
23 │ T2 0.0 0.0 0.0 0.0 0.0 0.
24 │ A1 0.0 0.0 0.0 0.0 0.0 0.
25 │ A2 0.0 0.0 0.0 0.0 0.0 0. ⋯
3 columns and 4 rows omitted, ["reset_components(OBJ)", "delete_marker(OBJ; n=1)"])
Edit 1st marker:
edit_marker(eeg,
n=1,
id="Note",
start=1,
len=1,
value="test")NeuroAnalyzer.NEURO(NeuroAnalyzer.HEADER(Dict{Symbol, Any}(:weight => -1, :id => "", :middle_name => "", :height => -1, :head_circumference => -1, :handedness => "", :last_name => "000000 F 02-SEP-1938 Kamakaeha_Liliuokalani", :first_name => ""), Dict{Symbol, Any}(:epoch_id => "", :channel_type => ["eeg", "eeg", "eeg", "eeg", "eeg", "eeg", "eeg", "eeg", "eeg", "eeg" … "mrk", "eeg", "eeg", "ref", "ref", "eeg", "eeg", "mrk", "mrk", "mrk"], :label => ["Fp1", "Fp2", "F3", "F4", "C3", "C4", "P3", "P4", "O1", "O2" … "E", "PG1", "PG2", "A1", "A2", "T1", "T2", "Mark1", "Mark2", "Events/Markers"], :prefiltering => ["", "", "", "", "", "", "", "", "", "" … "", "", "", "", "", "", "", "", "", ""], :gain => [0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123 … 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.3662998397802701, 0.3662998397802701, 3.0518043793392844e-5, 3.0518043793392844e-5], :data_type => "eeg", :recording_notes => "", :recording_date => "02.09.88", :sampling_rate => 200, :file_type => "EDF+"…), Dict(:name => "", :design => "", :notes => "")), [0.0, 0.005, 0.01, 0.015, 0.02, 0.025, 0.03, 0.035, 0.04, 0.045 … 2000.95, 2000.955, 2000.96, 2000.965, 2000.97, 2000.975, 2000.98, 2000.985, 2000.99, 2000.995], [0.0, 0.005, 0.01, 0.015, 0.02, 0.025, 0.03, 0.035, 0.04, 0.045 … 2000.95, 2000.955, 2000.96, 2000.965, 2000.97, 2000.975, 2000.98, 2000.985, 2000.99, 2000.995], [49.99999731441215 49.99999731441215 … 49.99999731441215 49.99999731441215; 49.99999731441215 49.99999731441215 … 49.99999731441215 49.99999731441215; … ; -12002.91314991989 -12002.91314991989 … -12002.91314991989 -12002.91314991989; 3.0518043793392844e-5 3.0518043793392844e-5 … 3.0518043793392844e-5 3.0518043793392844e-5;;;], Dict{Any, Any}(), 45×5 DataFrame
Row │ id start length value channel
│ String Float64 Float64 String Int64
─────┼──────────────────────────────────────────────────────
1 │ Note 1.0 1.0 test 0
2 │ 2 1.14 0.0 A1+A2 OFF 0
3 │ 3 4.22 0.0 IMP CHECK ON 0
4 │ 4 8.24 0.0 IMP CHECK OFF 0
5 │ 5 10.24 0.0 PAT BioCal EEG 0
6 │ 6 17.07 0.0 PAT 1-Banana EEG 0
7 │ 7 21.64 0.0 Head Straight 0
8 │ 8 23.38 0.0 Awake 0
9 │ 9 25.629 0.0 Eyes Open 0
10 │ 10 30.468 0.0 Eyes Closed 0
11 │ 11 35.899 0.0 Swallow 0
⋮ │ ⋮ ⋮ ⋮ ⋮ ⋮
36 │ 35 552.88 0.0 PHOTO 19Hz 0
37 │ 36 568.08 0.0 PHOTO 20Hz 0
38 │ 37 1272.7 0.0 PAT 2-Trans EEG 0
39 │ 38 1281.01 0.0 Drowsy 0
40 │ 39 1603.66 0.0 PAT 3-EarRef EEG 0
41 │ 9 1625.96 0.0 Eyes Open 0
42 │ 10 1638.53 0.0 Eyes Closed 0
43 │ 9 1939.59 0.0 Eyes Open 0
44 │ 10 1966.55 0.0 Eyes Closed 0
45 │ 40 1987.52 0.0 PAT 3-EarRef CAL 0
24 rows omitted, 25×9 DataFrame
Row │ label loc_radius loc_theta loc_x loc_y loc_z loc_radius_sp ⋯
│ String Float64 Float64 Float64 Float64 Float64 Float64 ⋯
─────┼──────────────────────────────────────────────────────────────────────────
1 │ Fp1 0.0 0.0 0.0 0.0 0.0 0. ⋯
2 │ Fp2 0.0 0.0 0.0 0.0 0.0 0.
3 │ F3 0.0 0.0 0.0 0.0 0.0 0.
4 │ F4 0.0 0.0 0.0 0.0 0.0 0.
5 │ C3 0.0 0.0 0.0 0.0 0.0 0. ⋯
6 │ C4 0.0 0.0 0.0 0.0 0.0 0.
7 │ P3 0.0 0.0 0.0 0.0 0.0 0.
8 │ P4 0.0 0.0 0.0 0.0 0.0 0.
9 │ O1 0.0 0.0 0.0 0.0 0.0 0. ⋯
10 │ O2 0.0 0.0 0.0 0.0 0.0 0.
11 │ F7 0.0 0.0 0.0 0.0 0.0 0.
⋮ │ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋱
16 │ T6 0.0 0.0 0.0 0.0 0.0 0.
17 │ Fz 0.0 0.0 0.0 0.0 0.0 0. ⋯
18 │ Cz 0.0 0.0 0.0 0.0 0.0 0.
19 │ Pz 0.0 0.0 0.0 0.0 0.0 0.
20 │ PG1 0.0 0.0 0.0 0.0 0.0 0.
21 │ PG2 0.0 0.0 0.0 0.0 0.0 0. ⋯
22 │ T1 0.0 0.0 0.0 0.0 0.0 0.
23 │ T2 0.0 0.0 0.0 0.0 0.0 0.
24 │ A1 0.0 0.0 0.0 0.0 0.0 0.
25 │ A2 0.0 0.0 0.0 0.0 0.0 0. ⋯
3 columns and 4 rows omitted, ["reset_components(OBJ)", "edit_marker(OBJ; id=Note, start=1, len=1, value=test, ch=0)"])
Add marker at position start (in seconds):
add_marker(eeg,
id="Note",
start=1,
len=1,
value="test")NeuroAnalyzer.NEURO(NeuroAnalyzer.HEADER(Dict{Symbol, Any}(:weight => -1, :id => "", :middle_name => "", :height => -1, :head_circumference => -1, :handedness => "", :last_name => "000000 F 02-SEP-1938 Kamakaeha_Liliuokalani", :first_name => ""), Dict{Symbol, Any}(:epoch_id => "", :channel_type => ["eeg", "eeg", "eeg", "eeg", "eeg", "eeg", "eeg", "eeg", "eeg", "eeg" … "mrk", "eeg", "eeg", "ref", "ref", "eeg", "eeg", "mrk", "mrk", "mrk"], :label => ["Fp1", "Fp2", "F3", "F4", "C3", "C4", "P3", "P4", "O1", "O2" … "E", "PG1", "PG2", "A1", "A2", "T1", "T2", "Mark1", "Mark2", "Events/Markers"], :prefiltering => ["", "", "", "", "", "", "", "", "", "" … "", "", "", "", "", "", "", "", "", ""], :gain => [0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123 … 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.3662998397802701, 0.3662998397802701, 3.0518043793392844e-5, 3.0518043793392844e-5], :data_type => "eeg", :recording_notes => "", :recording_date => "02.09.88", :sampling_rate => 200, :file_type => "EDF+"…), Dict(:name => "", :design => "", :notes => "")), [0.0, 0.005, 0.01, 0.015, 0.02, 0.025, 0.03, 0.035, 0.04, 0.045 … 2000.95, 2000.955, 2000.96, 2000.965, 2000.97, 2000.975, 2000.98, 2000.985, 2000.99, 2000.995], [0.0, 0.005, 0.01, 0.015, 0.02, 0.025, 0.03, 0.035, 0.04, 0.045 … 2000.95, 2000.955, 2000.96, 2000.965, 2000.97, 2000.975, 2000.98, 2000.985, 2000.99, 2000.995], [49.99999731441215 49.99999731441215 … 49.99999731441215 49.99999731441215; 49.99999731441215 49.99999731441215 … 49.99999731441215 49.99999731441215; … ; -12002.91314991989 -12002.91314991989 … -12002.91314991989 -12002.91314991989; 3.0518043793392844e-5 3.0518043793392844e-5 … 3.0518043793392844e-5 3.0518043793392844e-5;;;], Dict{Any, Any}(), 46×5 DataFrame
Row │ id start length value channel
│ String Float64 Float64 String Int64
─────┼──────────────────────────────────────────────────────────
1 │ 1 0.0 0.0 REC START BioCal CAL 0
2 │ Note 1.0 1.0 test 0
3 │ 2 1.14 0.0 A1+A2 OFF 0
4 │ 3 4.22 0.0 IMP CHECK ON 0
5 │ 4 8.24 0.0 IMP CHECK OFF 0
6 │ 5 10.24 0.0 PAT BioCal EEG 0
7 │ 6 17.07 0.0 PAT 1-Banana EEG 0
8 │ 7 21.64 0.0 Head Straight 0
9 │ 8 23.38 0.0 Awake 0
10 │ 9 25.629 0.0 Eyes Open 0
11 │ 10 30.468 0.0 Eyes Closed 0
⋮ │ ⋮ ⋮ ⋮ ⋮ ⋮
37 │ 35 552.88 0.0 PHOTO 19Hz 0
38 │ 36 568.08 0.0 PHOTO 20Hz 0
39 │ 37 1272.7 0.0 PAT 2-Trans EEG 0
40 │ 38 1281.01 0.0 Drowsy 0
41 │ 39 1603.66 0.0 PAT 3-EarRef EEG 0
42 │ 9 1625.96 0.0 Eyes Open 0
43 │ 10 1638.53 0.0 Eyes Closed 0
44 │ 9 1939.59 0.0 Eyes Open 0
45 │ 10 1966.55 0.0 Eyes Closed 0
46 │ 40 1987.52 0.0 PAT 3-EarRef CAL 0
25 rows omitted, 25×9 DataFrame
Row │ label loc_radius loc_theta loc_x loc_y loc_z loc_radius_sp ⋯
│ String Float64 Float64 Float64 Float64 Float64 Float64 ⋯
─────┼──────────────────────────────────────────────────────────────────────────
1 │ Fp1 0.0 0.0 0.0 0.0 0.0 0. ⋯
2 │ Fp2 0.0 0.0 0.0 0.0 0.0 0.
3 │ F3 0.0 0.0 0.0 0.0 0.0 0.
4 │ F4 0.0 0.0 0.0 0.0 0.0 0.
5 │ C3 0.0 0.0 0.0 0.0 0.0 0. ⋯
6 │ C4 0.0 0.0 0.0 0.0 0.0 0.
7 │ P3 0.0 0.0 0.0 0.0 0.0 0.
8 │ P4 0.0 0.0 0.0 0.0 0.0 0.
9 │ O1 0.0 0.0 0.0 0.0 0.0 0. ⋯
10 │ O2 0.0 0.0 0.0 0.0 0.0 0.
11 │ F7 0.0 0.0 0.0 0.0 0.0 0.
⋮ │ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋱
16 │ T6 0.0 0.0 0.0 0.0 0.0 0.
17 │ Fz 0.0 0.0 0.0 0.0 0.0 0. ⋯
18 │ Cz 0.0 0.0 0.0 0.0 0.0 0.
19 │ Pz 0.0 0.0 0.0 0.0 0.0 0.
20 │ PG1 0.0 0.0 0.0 0.0 0.0 0.
21 │ PG2 0.0 0.0 0.0 0.0 0.0 0. ⋯
22 │ T1 0.0 0.0 0.0 0.0 0.0 0.
23 │ T2 0.0 0.0 0.0 0.0 0.0 0.
24 │ A1 0.0 0.0 0.0 0.0 0.0 0.
25 │ A2 0.0 0.0 0.0 0.0 0.0 0. ⋯
3 columns and 4 rows omitted, ["reset_components(OBJ)", "add_marker(OBJ; id=Note, start=1, len=1, value=test, ch=0)"])