-
Notifications
You must be signed in to change notification settings - Fork 2
/
example_config.ini
162 lines (136 loc) · 5.66 KB
/
example_config.ini
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
[path]
; the name of folder in which all results will be stored
experiment_name = test
; path to the data
data_path = ./data/test_data.dill
[preprocessing]
; recording will be high-pass filtered by this value in [Hz]
highpass_freq = 100
; recording will be z-scored if True
z_score = True
[spike detect]
; run only initial spike detection to calibrate spike detection parameters
spike_detect_only = False
; find positive or negative values in voltage trace
peak_mode = positive
; minimum threshold for spike detection, scaled to signal-to-noise ratio, set as
; multiples of noise MAD, likely 3-10
min_theshold_scale = 3
; minimum peak prominence of spikes, scaled to signal-to-noise ratio, set as
; multiples of noise MAD, likely 2-5
min_prominence_scale = 2
; window around spike in ms
wsize = 4
[spike sort]
; initial number of clusters
init_clusters = 6
; final number of clusters
n_clust_final = 3
; no more reassigned spikes than this fraction for convergence
conv_crit = 0.01
; number of past iterations to consider when computing convergence
history_len = 6
; abort algorithm if no convergence is reached after this number of iterations
iterations = 60
; confirm merges manually?
manual_merge = True
; force merges until n_clust_final is reached
force_merge = True
; initial alpha for clustering. If force_merge=True, this value does not matter
; much if force_merge = False, then this value determines how aggressively or
; conservatively the algorithm merges clusters, and will largely determine the
; amount of final clusters that are reached.
clust_alpha = 0.5
; added penalty to the score of a spike when scored with templates from another
; cluster. This makes it harder for spikes to be reassigned decrease this value
; if you think you have more than one unit within one cluster
reassign_penalty = 0.15
; added penalty to the score of a spike if in the smallest cluster. Assumes that
; cluster with the smallest amplitude is noise and not spikes. set to 0 if all
; clusters definitely represent units
noise_penalty = 4.0
; fraction of spikes that are randomly unassigned at each iteration increase
; this value if you find the algorithm getting stuck in a local minima and
; terminating prematurely
f_noise = 0.05
; plot data and sorted spikes for the whole trace
plot_fitted_spikes_extense = false
; [experimental] use the firing rate as additional information when scoring pairwise distances
use_fr = false
; [experimental] if use_fr, this is the scaling weight
fr_weight = 5
[spike model]
; number of features increase this number if your spikes are very similar in
; temporal shape
n_model_comp = 5
; parameter for outlier detection incease this number if you your models
; predictions don't look like "healthy" spikes
template_reject = 40
[output]
; output file format
output_format = .dill
; write spike times as .csv?
csv = False
; zoom in ms for high magnification spike train inspect
zoom = 2200, 3000
; figure format and resolution
fig_format = .png
; dpi of the diagnostic plots as output
fig_dpi = 300
; dpi of the screen (relevant for interactive manual merging)
screen_dpi = 166
; interval at which to indicate spike numbers in overview plots? (say 0 for no
; labels)
spike_label_interval = 5
; Width of the final plots showing fitted spikes, in seconds
max_window_fitted_spikes_overview = 0.6
[kernels]
; the time constant of the fast kernel, used for the firing rate estimation
; change this value carefully if you think the models do not capture the
; temporal dependence of firing rate on spike shape (e.g. how quickly it
; recovers)
sigma_fast = 0.05
; the time constant of the slow kernel, used for across-unit firing rate
; prediction. change this value if you think the same unit with high and low
; firing rates is split into different clusters
sigma_slow = 0.10
[postprocessing]
segment_number = 0
; post_run_manual_merger max number of iterations
max_it = 200
; spike model type, i.e how to model spike shape as a function of firing rate.
; Options are "scaled_average" or "individual"
spike_model_type = scaled_average
; size of spike templates as left, right, where left = ms left of spike top and
; right = ms right of spike top; default 2, 2
template_window = 2,2
; spike window width, i.e. size of window in which to match templates in ms
spike_window_width = 12
;vertical align mode
vertical_align_mode = mean
;spike position tolerance, i.e. how far from the originally determined spike
;time a matching template spike can be located, in ms
spike_position_tolerance = 1.0
; maximum spike time difference in a compound spike, i.e. the maximal spike time
; difference between two spikes before they are treated as individual spikes, in
; ms
max_compound_spike_diff = 2.5
; maximum Euclidean distance of template and data when accepting a spike
; decision without user confirmation, % mean spike model amplitude
max_dist_for_auto_accept = 1
; minimal Euclidean distance of template and data when rejecting either match
; and deleting a putative spike, % mean spike model amplitude
min_dist_for_auto_reject = 2
; maximum difference between Euclidean distances of single and composite spike
; best match when defaulting to single spike as insuffient evidence for
; composite, set to 0 for no defaulting, % mean spike model amplitude
max_diff_for_auto_single = 0.5
; minimal difference between Euclidean distances of single and composite spike
; best match when accepting the better match without user input, % mean spike
; model amplitude
min_diff_for_auto_accept = 10
; range of spikes to process as x, y where x and y are integers and denote the
; first and last spike to process (x,y), or use "all" to process all 62 77
spike_range = 114,118
; plot data and detected spikes during post-processing
plot_fitted_spikes = False