forked from spyking-circus/spyking-circus
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathchangelog
373 lines (316 loc) · 14.7 KB
/
changelog
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
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
=============
Release 0.8.0
=============
* major improvement in the clustering. No more max_clusters parameters
* much faster clustering (thanks to Ruben Herzog)
* added the statsmodels library as a required dependency
* enhancement of the smart search mode
* enhancement of the bicubic spline interpolation
* fix a typo when using dead times and the collect mode
* fix a minor bug when small amount of spikes are found during smart search
* fix a bug in the wrapper for BRW files
=============
Release 0.7.6
=============
* cosmetic changes in the GUI
* adding a deconverting method to switch back from phy to MATLAB
* support for the lags between templates in the MATLAB GUI
* warn user if data are corrupted because of interrupted filtering
* robust automatic selection of the centroids (thanks to Ruben Herzog)
* addition of the statsmodels dependency
* remove the max_cluster parameter
* reduction of the size for saved clusters
* display the file name in the header
* fix a nasty bug allowing spikes at the border of chunks to be fitted even during dead periods
=============
Release 0.7.5
=============
* fix a bug for MPICH when large dictionaries.
* fix a bug for numpy files when used with new numpy versions
* add the possibility to subtract one channel as a reference channel from others
* native support for blackrock files (only .ns5 tested so far)
* simplifications in the parameter file
* fix for display of progress bars with tqdm
* addition of a multi-folders mode for openephys
* hide GPU support for now, as this is not actively maintained and optimized
* fix in the MATLAB GUI for float32 data
* fix the broken log files
* default cpu number is now half the available cores
=============
Release 0.7.4
=============
* fix a regression with spline interpolation, more investigation needed
=============
Release 0.7.0
=============
* fix a possible rounding bug if triggers are given in ms
* artefacts are computed as medians and not means over the signal
* can turn off shared memory if needed
* a particular pattern can be specified for neuralynx files
* fix bugs with output_dir, as everything was not saved in the folder
* add a circus-folders script to process virtually files within several folders as a single recording
* add a circus-artefacts script to concatenate artefact files before using stream mode
* multi-files mode is now enabled for Neuralynx data
* fixes for conversion of old dataset with python GUI
* smooth exit if fitting with 0 templates (thanks to Alex Gonzalez)
=============
Release 0.6.7
=============
* optimizations for clusters (auto blosc and network bandwith)
* addition of a dead_channels option in the [detection] section, as requested
* prevent user to remove median with only 1 channel
* fix for parallel writes in HDF5 files
* hide h5py FutureWarning
=============
Release 0.6.6
=============
* fix for matplotlib 2.2.2
* fix a bug when loading merged data with phy GUI
* faster support for native MCD file with pyMCStream
* more robust whitening for large arrays with numerous overlaps
* add an experimental mode to refine coreset (isolated spikes)
* put merging units in Hz^2 in the merging GUI
* add a HDF5 compression mode to greatly reduce disk usage for very large probe
* add a Blosc compression mode to save bandwith for clusters
* fix a display bug in the merging GUI when performing multiple passes
=============
Release 0.6.5
=============
* reduce memory consumption for mixture removal with shared memory
* made an explicit parameter cc_mixtures for mixture removal in the [clustering] section
* Minor fixes in the MATLAB GUI
* fix in the exact times shown during preview if second is specified
* prevent errors if filter is False and overwrite is False
=============
Release 0.6.4
=============
* fix a bug in the BEER for windows platforms, enhancing robustness to mpi data types
* speed up the software when using ignore_dead_times
* ensure backward compatibility with hdf5 version for MATLAB
* fix a rare bug in clustering, when no spikes are found on electrodes
* fix a bug in the MATLAB GUI when reloading saved results, skipping overlap fixes
=============
Release 0.6.3
=============
* fix a bug if the parameter file have tabulations characters
* add a tab to edit parameters directly in the launcher GUI
* fix dtype offset for int32 and int64
* minor optimizations for computations of overlaps
* explicit message displayed on screen if filtering has already been performed
* can specify a distinct folder for output results with output_dir parameter
* fix a bug when launching phy GUI for datafiles without data_offset parameter (HDF5)
* fix a memory leak when using dead_times
* fix a bug for BRW and python3
* fix a bug in the BEER
* pin HDF5 to 1.8.18 versions, as MATLAB is not working well with 1.10
* fix a bug when relaunching code and overwrite is False
* make the multi-files more robust, also reading all files in a directory
* fix a bug when peak detection is set on both with only one channel
=============
Release 0.6.2
=============
* fix for openephys and new python syntax
* fix in the handling of parameters
* fix a bug on windows with unclosed hdf5 files
* fix a bug during converting with multi CPU on windows
* minor optimization in the fitting procedure
* support for qt5 (and backward compatibility with qt4 as long as phy is using Qt4)
=============
Release 0.6.1
=============
* fix for similarities and merged output from the GUIs
* fix for Python 3 and HDF5
* fix for Python 3 and launcher GUI
* fix for maxlag in the merging GUI
* optimization in the merging GUI for pairs suggestion
* addition of an auto_mode for meta merging, to suppress manual curation
* various fixes in the docs
* fix a bug when closing temporary files on windows
* allow spaces in names of probe files
* collect_all should take dead times into account
* patch to read INTAN 2.0 files
* fix in the MATLAB GUI when splitting neurons
* fix in the MATLAB GUI when selecting individual amplitudes
=============
Release 0.6.0
=============
* fix an IMPORTANT BUG in the similarities exported for phy/MATLAB, affect the suggestions in the GUI
* improvements in the neuralynx wrapper
* add the possibility to exclude some portions of the recordings from the analysis (see documentation)
* fix a small bug in MS-MPI (Windows only) when shared memory is activated and emtpy arrays are present
=============
Release 0.5.9
=============
* The validating step can now accept custom spikes as inputs
* Change the default frequency for filtering to 300Hz instead of 500Hz
=============
Release 0.5.8
=============
* fix a bug for int indices in some file wrappers (python 3.xx) (thanks to Ben Acland)
* fix a bug in the preview gui to write threshold
* fix a bug for some paths in Windows (thanks to Albert Miklos)
* add a wrapper for NeuraLynx (.ncs) file format
* fix a bug in the installation of the MATLAB GUI
* fix a bug to see results in MATLAB GUI with only 1 channel
* fix a bug to convert data to phy with only positive peaks
* add builds for python 3.6
* optimizations in file wrappers
* fix a bug for MCS headers in multifiles, if not all with same sizes
* add the possibility (with a flag) to turn off parallel HDF5 if needed
* fix a bug with latest version of HDF5, related to flush issues during clustering
=============
Release 0.5.7
=============
* Change the strsplit name in the MATLAB GUI
* Fix a bug in the numpy wrapper
* Fix a bug in the artefact removal (numpy 1.12), thanks to Chris Wilson
* Fixes in the matlab GUI to ease a refitting procedure, thanks to Chris Wilson
* Overlaps are recomputed if size of templates has changed (for refitting)
* Addition of a "second" argument for a better control of the preview mode
* Fix when using the phy GUI and the multi-file mode.
* Add a file wrapper for INTAN (RHD) file format
=============
Release 0.5.6
=============
* Fix in the smart_search when only few spikes are found
* Fix a bug in density estimation when only few spikes are found
=============
Release 0.5.5
=============
* Improvement in the smart_select option given various datasets
* Fix a regression for the clustering introduced in 0.5.2
=============
Release 0.5.2
=============
* fix for the MATLAB GUI
* smart_select can now be used [experimental]
* fix for non 0: DISPLAY
* cosmetic changes in the clustering plots
* ordering of the channels in the openephys wrapper
* fix for rates in the MATLAB GUI
* artefacts can now be given in ms or in timesteps with the trig_unit parameter
=============
Release 0.5rc
=============
* fix a bug when exporting for phy in dense mode
* compatibility with numpy 1.12
* fix a regression with artefact removal
* fix a display bug in the thresholds while previewing with a non unitary gain
* fix a bug when filtering in multi-files mode (overwrite False, various t_starts)
* fix a bug when filtering in multi-files mode (overwrite True)
* fix a bug if matlab gui (overwrite False)
* fix the gathering method, not working anymore
* smarter selection of the centroids, leading to more clusters with the smart_select option
* addition of a How to cite section, with listed publications
=============
Release 0.5b9
=============
* switch from progressbar2 to tqdm, for speed and practical issues
* optimization of the ressources by preventing numpy to use multithreading with BLAS
* fix MPI issues appearing sometimes during the fitting procedure
* fix a bug in the preview mode for OpenEphys files
* slightly more robust handling of openephys files, thanks to Ben Acland
* remove the dependency to mpi4py channel on osx, as it was crashing
* fix a bug in circus-multi when using extensions
=============
Release 0.5b8
=============
* fix a bug in the MATLAB GUI in the BestElec while saving
* more consistency with "both" peak detection mode. Twice more waveforms are always collect during whitening/clustering
* sparse export for phy is now available
* addition of a dir_path parameter to be compatible with new phy
* fix a bug in the meta merging GUI when only one template left
=============
Release 0.5b7
=============
* fix a bug while converting data to phy with a non unitary gain
* fix a bug in the merging gui with some version of numpy, forcing ucast
* fix a bug if no spikes are detected while constructing the basis
* Optimization if both positive and negative peaks are detected
* fix a bug with the preview mode, while displaying non float32 data
=============
Release 0.5b6
=============
* fix a bug while launching the MATLAB GUI
=============
Release 0.5b3
=============
* code is now hosted on GitHub
* various cosmetic changes in the terminal
* addition of a garbage collector mode, to collect also all unfitted spikes, per channel
* complete restructuration of the I/O such that the code can now handle multiple file formats
* internal refactoring to ease interaction with new file formats and readibility
* because of the file format, slight restructuration of the parameter files
* N_t and radius have been moved to the [detection] section, more consistent
* addition of an explicit file_format parameter in the [data] section
* every file format may have its own parameters, see documentation for details (or --info)
* can now work natively with open ephys data files (.openephys)
* can now work natively with MCD data files (.mcd) [using neuroshare]
* can now work natively with Kwik (KWD) data files (.kwd)
* can now work natively with NeuroDataWithoutBorders files (.nwb)
* can now work natively with NiX files (.nix)
* can now work natively with any HDF5-like structure data files (.h5)
* can now work natively with Arf data files (.arf)
* can now work natively with 3Brain data files (.brw)
* can now work natively with Numpy arrays (.npy)
* can now work natively with all file format supported by NeuroShare (plexon, blackrock, mcd, ...)
* can still work natively with raw binary files with/without headers :)
* faster IO for raw binary files
* refactoring of the exports during multi-file/preview/benchmark: everything is now handled in raw binary
* fix a bug with the size of the safety time parameter during whitening and clustering
* all the interactions with the parameters are now done in the circus/shared/parser.py file
* all the interactions with the probe are now done in the circus/shared/probes.py file
* all the messages are now handled in circus/shared/messages.py
* more robust and explicit logging system
* more robust checking of the parameters
* display the electrode number in the preview/result GUI
* setting up a continuous integration workflow to test all conda packages with appveyor and travis automatically
* cuda support is now turned off by default, for smoother install procedures (GPU yet do not bring much)
* file format can be streamed. Over several files (former multi-file mode), but also within the same file
* several cosmetic changes in the default parameter file
* clustering:smart_search and merging:correct_lag are now True by default
* fix a minor bug in the smart search, biasing the estimation of densities
* fix a bug with the masks and the smart-search: improving results
* addition of an overwrite parameter. Note that any t_start/t_stop infos are lost
* if using streams, or internal t_start, output times are on the same time axis than the datafile
* more robust parameter checking
=============
Release 0.4.3
=============
* cosmetic changes in the terminal
* suggest to reduce chunk sizes for high density probes (N_e > 500) to save memory
* fix a once-in-a-while bug in the smart-search
=============
Release 0.4.2
=============
* fix a bug in the test suite
* fix a bug in python GUI for non integer thresholds
* fix a bug with output strings in python3
* fix a bug to kill processes in windows from the launcher
* fix graphical issues in the launcher and python3
* colors are now present also in python3
* finer control of the amplitudes with the dispersion parameter
* finer control of the cut off frequencies during the filtering
* the smart search mode is now back, with a simple True/False flag. Use it for long or noisy recordings
* optimizations in the smart search mode, now implementing a rejection method based on amplitudes
* show the mean amplitude over time in the MATLAB GUI
* MATLAB is automatically closed when closing the MATLAB GUI
* mean rate is now displayed in the MATLAB GUI, for new datasets only
* spike times are now saved as uint32, for new datasets only
* various fixes in the docs
* improvements when peak detection is set on "both"
* message about cc_merge for low density probes
* message about smart search for long recordings
* various cosmetic changes
* add a conda app for anaconda navigator
=============
Release 0.4.1
=============
* fix a bug for converting millions of PCs to phy, getting rid of MPI limitation to int32
* fix bugs with install on Windows 10, forcing int64 while default is int32 even on 64bits platforms
* improved errors messages if wrong MCS headers are used
* Various cosmetic changes
===========
Release 0.4
===========
First realease of the software