using NeuroAnalyzer
= import_edf("files/eeg_edfplus.edf"); eeg
[ Info: Imported: EEG (29 × 400200 × 1; 2001.0 s)
Load data:
using NeuroAnalyzer
= import_edf("files/eeg_edfplus.edf"); eeg
[ Info: Imported: EEG (29 × 400200 × 1; 2001.0 s)
Show labels:
labels(eeg)
29-element Vector{String}:
"Fp1"
"Fp2"
"F3"
"F4"
"C3"
"C4"
"P3"
"P4"
"O1"
"O2"
"F7"
"F8"
"T3"
⋮
"Cz"
"Pz"
"E"
"PG1"
"PG2"
"A1"
"A2"
"T1"
"T2"
"Mark1"
"Mark2"
"Events/Markers"
Get channel by number:
get_channel(eeg, ch=labels(eeg)[18])
1-element Vector{Int64}:
18
Rename channels:
rename_channel(eeg, ch="Cz", name="CZ");
labels(eeg)
29-element Vector{String}:
"Fp1"
"Fp2"
"F3"
"F4"
"C3"
"C4"
"P3"
"P4"
"O1"
"O2"
"F7"
"F8"
"T3"
⋮
"Cz"
"Pz"
"E"
"PG1"
"PG2"
"A1"
"A2"
"T1"
"T2"
"Mark1"
"Mark2"
"Events/Markers"
Delete channels (epochs and channels may be specified using number, range or vector):
delete_channel(eeg, ch="Cz");
labels(eeg)
29-element Vector{String}:
"Fp1"
"Fp2"
"F3"
"F4"
"C3"
"C4"
"P3"
"P4"
"O1"
"O2"
"F7"
"F8"
"T3"
⋮
"Cz"
"Pz"
"E"
"PG1"
"PG2"
"A1"
"A2"
"T1"
"T2"
"Mark1"
"Mark2"
"Events/Markers"
or
delete_channel(eeg, ch=get_channel(eeg, type="eeg")[10:18]);
labels(eeg)
29-element Vector{String}:
"Fp1"
"Fp2"
"F3"
"F4"
"C3"
"C4"
"P3"
"P4"
"O1"
"O2"
"F7"
"F8"
"T3"
⋮
"Cz"
"Pz"
"E"
"PG1"
"PG2"
"A1"
"A2"
"T1"
"T2"
"Mark1"
"Mark2"
"Events/Markers"
Keep channel:
keep_channel(eeg, ch=get_channel(eeg, type="eeg")[1:4])
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"], :label => ["Fp1", "Fp2", "F3", "F4"], :prefiltering => ["", "", "", ""], :gain => [0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 0.09765624475471123, 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; 49.99999731441215 49.99999731441215 … 49.99999731441215 49.99999731441215; 49.99999731441215 49.99999731441215 … 49.99999731441215 49.99999731441215;;;], 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, 4×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. 3 columns omitted, ["reset_components(OBJ)", "delete_channel(OBJ, ch=[29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5])"])
Replace channel 1 with channel 18:
= extract_channel(eeg, ch=get_channel(eeg, type="all")[18])
ch18 replace_channel(eeg, ch=get_channel(eeg, type="all")[1], s=ch18)
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 │ 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)", "replace_channel(OBJ, ch=1, s"])
(!) 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).
Split EEG into 10-second epochs:
= epoch(eeg, ep_len=10) e10
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:
= epoch(eeg, ep_len=5)
e5 = average_epochs(e5)
e5avg info(e5avg)
[ Warning: Non-signal channels will be removed.
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):
= epoch(eeg, marker="Eyes Open", offset=0.2, ep_len=1.5) erp
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)"])
Get 1st epoch:
= extract_epoch(e10, ep=1)
e10e1 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])"])
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)"])