-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathCHANGES.txt
693 lines (542 loc) · 19.7 KB
/
CHANGES.txt
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
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
v2.2.14 (2024-05-01)
-------------------
- many small changes and bug fixes, check git log for details
v2.2.13 (2023-12-11)
-------------------
- fixed rate smoothing bug in dataset object
v2.2.12 (2023-11-9)
-------------------
- added rate smoothing to dataset object
v2.2.11 (2023-10-16)
-------------------
- consolidating last fixes to poissonHMM
- added method to proj to export "portable copy"
- added method to proj to return list of rec_dirs
v2.2.10 (2023-09-28)
-------------------
- fixed another bug in poissonHMM where log likelihood was not being properly calculated
v2.2.9 (2023-09-07)
-------------------
- fixed bug in poissonHMM where log likelihood was not being properly calculated
v2.2.8 (2023-08-21)
-------------------
- meatball surgery on poissonHMM to fix randomization freeze again
v2.2.7 (2023-08-21)
-------------------
- meatball surgery on poissonHMM to fix randomization freeze
v2.2.6 (2023-08-21)
-------------------
- attempt to patch bug where hmm freezes at randomization
v2.2.5 (2023-08-21)
-------------------
-patched bug in poissonHmm.poisson() where rate==0 would cause a divide by zero error
-expanded factorial lookup table
v2.2.4 (2023-08-11)
-------------------
-patched a whoopsie in phmm.compute_BIC()
v.2.2.3 (2023-08-11)
-------------------
-AIC calculation removed from standard processing and introduced as a post-processing step to ensure backwards-compatibility
v2.2.2 (2023-07-31)
-------------------
- added AIC to hmms
v2.2.1 (2023-07-31)
-------------------
- loosened tables requirements
v2.2.0 (2023-06-28)
-------------------
- you can now create an HmmHandler object with blechpy.HmmHandler()
- adjusted HMM plotting aesthetics
- added dig_in label to HMM plot titles by default through dinlabels argument
v2.1.43 (2023-06-12)
-fixed bug in rebin spike arrays where spike arrays were not actually rebinned, but subsampled
v2.1.42 (2023-06-07)
-another bug fix to capped rate
v2.1.41 (2023-06-07)
-quick bug fix with capped rate in HMM
v2.1.40 (2023-06-07)
-capped firing rate for poissonHMM at 150hz
v2.1.39 (2023-03-24)
-added option to dat.make_psth_plots() without stddev, as well as to prefix filenames
v2.1.38 (2023-03-23)
-added dataset.get_spike_array_table()
v2.1.37 (2023-03-13)
-made HP params and UMAP = True as default in blechpy.dataset
v2.1.36 (2023-03-09)
-fixed 2site_OE64 mapping, ch 24 was mapped to wrong side, fixed now
-added method to export spike arrays from dataset() to mat file
-fixed hash_channel_list/list_channel_hash in hmmIO.py where "hashed" channel lists don't save correctly
-TODO: adapt hmm plotting to accomodate huge multi-hmms
v2.1.35 (2022-10-18)
-tried to fix digital in for new intan software, and added plot_PSTH functionality
v2.1.34 (2022-10-14)
-added "2site_OE64" mapping to default CAR paramters for 2 site implants using OEPS hirose 64channel EIB
v2.1.33 (2022-09-31)
-added plot_hmm_models() to project for convenient, parallelized hmm replotting
v2.1.32 (2022-08-24)
-changed dat.make_unit_arrays() to start the unit array at the valve open rather than the valve close
v2.1.31 (2022-08-18)
-added dataset.edit_unit_descriptor() and dio.h5io.edit_unit_descriptor() methods
-fixed maplotlib requierment in requirements.txt since newer versions break phmm.HMMHandler.plot_saved_models()
v2.1.30 (2022-08-09)
-usability fix in experiment.get_electrode_unit_counts()
v2.1.29 (2022-08-09)
-updated requirements.txt
-updated tutorial
-added experiment.get_electrode_unit_counts()
v2.1.28 (2022-08-05)
-------------------
-added dataset.make_ensemble_raster() -> data_plot.plot_ensemble_raster()
-bug fixes in project.__init__()
v2.1.27 (2022-07-08)
-------------------
- added make_raster_plots() to dataset
- added some utilities to project object
- bug fixes
v2.1.26 (2022-05-03)
-------------------
- changed joblib back to work with default backend (loky) instead of multiprocessing. Requires joblib==1.1.0.
v2.1.25 (2022-03-03)
-------------------
- minor bug fixes
- experiment object now stores session numbers for each recording (order_dict)
- project object now stores rec_group table
v2.1.24 (2021-11-18)
-------------------
- Fix typo in detect_spikes
- Update PyYaml from 5.3 to 5.4
v2.1.23 (2021-11-12)
-------------------
- Update car params for bilateral64 default
- update requirements
v2.1.22 (2021-10-28)
-------------------
- update port_in_dataset to deal with clustered but not sorted data
v2.1.21 (2021-10-6)
-------------------
- increase notes size for HMM info particle
v2.1.20 (2021-10-6)
-------------------
- Fix delete_hmms to handle edge case of no matches found
v2.1.19 (2021-10-6)
-------------------
- allow datastructure loading with path to .p file
v2.1.18 (2021-10-6)
-------------------
- allow datastructure loading with path to .p file
- attempt to debug delete_hmms function
v2.1.17 (2021-9-6)
-------------------
- debug last update
v2.1.16 (2021-9-4)
-------------------
- debug last update
v2.1.15 (2021-9-2)
-------------------
- Added function to fix unit numbering in h5 files
v2.1.14 (2021-8-31)
-------------------
- Add ability to remove unfitted parameter sets from HmmHandler
- Fix HMM plotting to account for specific trials if HMM was fit only with specific trials
v2.1.13 (2021-8-30)
-------------------
- fix minor bugs with parameter handling with HMM fitting
v2.1.12 (2021-8-26)
-------------------
- fix minor bugs with parameter handling with HMM fitting
v2.1.11 (2021-8-26)
-------------------
- fix minor bugs with parameter handling with HMM fitting
v2.1.10 (2021-8-25)
-------------------
- Improvements and upgrades to HMM Fitting. Specifically, the ability to fit
HMMs using HmmHandler with specfic trials and/or multiple tastes.
v2.1.9 (2021-8-19)
-------------------
- Add bilateral64 default CAR param for Dan
v2.1.8 (2021-8-19)
-------------------
- Make HmmHandler MacOSX compatible
v2.1.7 (2021-8-19)
-------------------
- Make HmmHandler MacOSX compatible
v2.1.6 (2021-8-19)
-------------------
- Fix minor bugs
v2.1.5 (2021-8-11)
-------------------
- Improve robustness and automation in port_in_dataset
v2.1.4 (2021-8-10)
-------------------
- Fix minor bugs
v2.1.3 (2021-8-10)
-------------------
- Fix minor bugs
v2.1.2 (2021-8-10)
-------------------
- Fix typos is dataset parameter initialization
- Add dummy-proofing to dataset parameter initialization
v2.1.1 (2021-8-9)
-------------------
- Fix bug in create_trial_list with blank digital_outs
v2.1.0 (2021-8-8)
-------------------
- Make joblib with spike detection and clustering actually work
v2.0.74 (2021-8-5)
-------------------
- Fix joblib calls
v2.0.73 (2021-8-5)
-------------------
- Remove multiprocessing pacakge, and use joblib everywhere
v2.0.72 (2021-8-2)
-------------------
- Finish implementing blechpy.port_in_dataset function
v2.0.71 (2021-4-7)
-------------------
- added function to package HMM and spike data from many recordings into a single file
v2.0.70 (2021-3-19)
-------------------
- putting njit back into poissonHMM
v2.0.69 (2021-3-6) -- this is the version made for use on Jetstream
-------------------
- removing njit entirely form poissonHMM
v2.0.68 (2021-3-6)
-------------------
- Undo last change, remove njit from baum_welch
v2.0.67 (2021-3-6)
-------------------
- Added jit expected type definition for poissonHMM.baum_welch to solve
unexpected type error, possibly due to jit update
v2.0.66 (2021-1-21)
-------------------
- can specify number of cores to use when fitting hmms
- fix display enviroment variable when sshing
v2.0.65 (2021-1-21)
-------------------
- fix saving to hmm handler
v2.0.64 (2020-12-19)
-------------------
- fix bugs
v2.0.63 (2020-12-19)
-------------------
- fix bugs
v2.0.62 (2020-12-19)
-------------------
- fix bugs
v2.0.61 (2020-12-19)
-------------------
- fix bugs
v2.0.60 (2020-12-19)
-------------------
- fix bugs
v2.0.59 (2020-12-19)
-------------------
- Add plotting and recording of spike detection threshold while clustering
- Add button to spike sorting GUI to display spikes split up in time intervals
v2.0.58 (2020-12-13)
-------------------
- fix xlims in HMM rate plot
- update HMM tutorial
- add sequential_constraint function for poissonHMM
- update HMM default fitting parameters
v2.0.57 (2020-11-11)
-------------------
- fix hmm plotting issue
v2.0.56 (2020-10-20)
-------------------
- Add additional hdf5 info particle for HMM hdf5 files with HMMs from multiple recordings
v2.0.55 (2020-09-14)
-------------------
- Force reset low transition probabilities to 0 when updating HMM, since we convert 0 to 1e-100 for math earlier
v2.0.54 (2020-09-10)
-------------------
- fix row updating in hmm hdf5 data_overview
v2.0.53 (2020-08-27)
-------------------
- Add method of imposing constraints on PoissonHMM both directly and via HmmHandler
- Fix bug in how HMMs are saved
v2.0.52 (2020-08-27)
-------------------
- MAJOR BUX FIX: fix in HMM EM algorithm. Transition matrix was being improperly normalized
- Now log likelihood is being properly computed and effectively used as a convergence criteria for HMMs
v2.0.51 (2020-08-06)
-------------------
- small edit to get_hmm_spike_data so that you can pass it a unit_type keyword
or a list of units
- also added area parameter for HMM handler so cells from other brain areas can be ignored
v2.0.50 (2020-08-03)
-------------------
- fix hmm_id assignment for new HMMs after deleting HMMs
v2.0.49 (2020-07-26)
-------------------
- fixed delete_hmm so that it properly compares strings when choosing which hmm to delete
v2.0.48 (2020-07-26)
-------------------
- typo fix
v2.0.47 (2020-07-26)
-------------------
- small change to HmmHandler to automatically change root of dataset if
operating on dataset in different location from inital processing
v2.0.46 (2020-07-25)
-------------------
- missed an edge case, fixed now
v2.0.45 (2020-07-25)
-------------------
- fixed roll_back_to_best_hmm to choose maxima only from the saved iterations
since the HMM only stores a certain amount
v2.0.44 (2020-07-24)
-------------------
- optimized how HMMs are deleted
v2.0.43 (2020-07-24)
-------------------
- Made it possible to delete single HMMs, making refitting and organization easier
v2.0.41 (2020-07-24)
-------------------
- adjusted fit_hmm_mp so that if no h5_file is given and the fit fails, the hmm
is still returned for inspection
v2.0.40 (2020-07-24)
-------------------
- typo fix
v2.0.40 (2020-07-24)
-------------------
- Edit poissonHMM convergence criteria
v2.0.39 (2020-07-24)
-------------------
- minor bug fix in check_ll_trend
v2.0.38 (2020-07-24)
-------------------
- minor bug fix in check_ll_trend
v2.0.37 (2020-07-24)
-------------------
- Major change to HMM fitting
- Now convergence is checked by looking at the max log likelihood over
iterations and determining when the gaussian filtered trace has plateaued
- Also implemented HMM rejection if fitting results in decreasing log
likelihood when fit with linear regression after 100 iterations
- Further HmmHandler, after fitting and hmm, will roll back the HMM to a
local maxima in log likelihood within a plateaued region
- Added useful function to poissonHMM to check trend of log likelihood trace
and help determine if an hmm has plateaued
v2.0.36 (2020-07-23)
-------------------
- minor edits to hmmIO and poissonHMM
v2.0.35 (2020-07-22)
-------------------
- Also store HMM gamma probabilities in hdf5
- Add fucntion to HmmHandler to get a specific hmm
- Add helper function in poissonHMM to get HmmHandler overview directly from hdf5
v2.0.34 (2020-06-09)
-------------------
- fix to poissonHMM.load_hmm_from_hdf5 for backward compatibility
v2.0.33 (2020-06-09)
-------------------
- fix to poissonHMM.load_hmm_from_hdf5 for backward compatibility
v2.0.32 (2020-06-09)
-------------------
- wierd type error in h5io.get_spike_data, sovled with if condition, should
really hunt down source of why someimtes its int and others int32
v2.0.31 (2020-06-09)
-------------------
- minor fix to hmmIO to account for older models lacking newer saved parameters
v2.0.30 (2020-06-08)
-------------------
- minor fix to hmmIO to account for older models lacking newer saved parameters
v2.0.29 (2020-06-06)
-------------------
- minor fix to HmmHandler when all parameters are already fit
v2.0.28 (2020-06-05)
-------------------
- poissonHMM now stores history of log likelihood
v2.0.27 (2020-06-04)
-------------------
- fix to get_spike_data when returning data for all dins
- refined hmm handler parameter matching
- minor change to expand functionality of get_spike_data
- Modified poissonHMM to allow only using a subset of trials in fitting
v2.0.26 (2020-5-28)
-------------------
- Bug fix in poissonHMM saving and loading
- Change convergence test for poissonHMM fitting
v2.0.25 (2020-5-25)
-------------------
- Fix bug in PoissonHMM, will only try to fit for dig_ins with spike_array
- PoissonHMM hdf5 now stores the cost array for all iterations of fitting
v2.0.24 (2020-5-12)
-------------------
- Fix error in create_trial_table: support digital out
v2.0.23 (2020-5-12)
-------------------
- Fix error in create_trial_table
v2.0.22 (2020-5-1)
-------------------
- Updated requirements
- Fix error in create_trial_table
v2.0.21 (2020-4-9)
-------------------
- Minor fix in PoissonHMM
v2.0.20 (2020-4-2)
-------------------
- Re-structure poissonHMM module to streamline HMM fitting and parameter sweeps
v2.0.19 (2020-3-21)
-------------------
- Fix to make_psth_arrays
- Re-factor and optimize HMM fitting and data storage
v2.0.18 (2020-3-11)
-------------------
- Add HMMHandler to plan and distribute fitting of HMMs over multiple parameter sets and tastes
- Convert to using joblib to fit HMMs in parallel
v2.0.17 (2020-3-2)
-------------------
- Store both BIC and Cost on each iteration of fitting HMM in history
- Critical Bug Fix:
- Remove use of tempfile when waveform plotting
- Prevents errors while clustering
v2.0.16 (2020-3-2)
-------------------
- Minor debugging
- Fix to blech clustering, data loading
- Adding functions to plot hmm output
v2.0.15 (2020-2-28)
-------------------
- Trying to get BlechClust object to adpat if experiment root dir has changed
- Updated requirements
v2.0.14 (2020-2-03)
-------------------
- Correction to how spike time autocrrelation and xcorr are computed (from counts -> spike/s)
- Add wavelet transform view and split by rec to spike sorting
- Add umap clustering option to dataset object
- Unfinished module for Poisson HMM decoding of spike data
- Expanded functionality of h5io.get_spike_data to provide data for multiple neurons and digital inputs at once
- Fix adding and removing experiments from project datastructure
- Spike sorting no longer saves 0 spike clusters
- Fix experiment _change_root to update rec_labels
v2.0.13 (2020-2-02)
-------------------
- Minor fix to project
- Fix imports for project
v2.0.12 (2020-2-02)
-------------------
- Minor fix to project
- Fix imports for project
v2.0.11 (2020-2-02)
-------------------
- Actually import project in blechpy init
v2.0.10 (2020-2-02)
-------------------
- Fix held_unit_analysis to not error when no held units are found
v2.0.9 (2020-1-24)
-------------------
- Fix held_unit_analysis to save J3 as float instead of str
- Fix critical error in held unit lettering
- Add autocorrelation and cross correlation plots to spike sorting and GUI
v2.0.8 (2020-1-23)
-------------------
- Add general undo function to SpikeSorter and button to GUI
v2.0.7 (2020-1-21)
-------------------
- Actually fix views_waves_by_rec to show correct ISI violations
v2.0.6 (2020-1-21)
-------------------
- Fix views_waves_by_rec to show correct ISI violations
v2.0.5 (2020-1-21)
-------------------
- Fix error launching spike sorter gui from dataset
- setup to run blech clust using UMAP instead of PCA is desired
v2.0.4 (2020-1-17)
-------------------
- Change multiprocessing context to spawn to hopefully resolve freezing on many core machines
- Minor edits to spike sorting GUI
v2.0.3 (2020-1-16)
-------------------
- Fix implment_umap typo in blech_clustering
- Lauching sort_spikes now returns handle to GUI for command-line manipulation
- Can now run spike detection and clustering without multiprocessing
v2.0.2 (2020-1-16)
-------------------
- Add pre_process_for_clustering to dataset, to run all steps prior to clustering
- Fix error from re-factoring spike_sorting.py
- Fix error in delete unit for renaming unit plots
- Add UMAP visualization and cluster splitting to spike sorting
v2.0.1 (2020-1-16)
-------------------
- Fix typo in dataset.py
v2.0.0 (2020-1-15)
-------------------
- Fix spike sorting to re-compute pca after splitting or merging clusters
- Fix held unit analysis to handle multiple matches for single units by
choosing units with lowest J3
* Big Changes:
- Seperate spike detection and spike clustering
- Make objects to handle spike detection, spike clustering, and spike sorting
- Make GUI for spike sorting
- Can now cluster and sort over multiple recordings at once
- Change file structure occurring from clustering
v1.1.14 (2019-11-23)
--------------------
- Make blech clust use less than all cores, or user specified number of cores
v1.1.13 (2019-11-23)
--------------------
- typo fix
v1.1.12 (2019-11-23)
--------------------
- typo fix
v1.1.11 (2019-11-23)
--------------------
- Add support for digital outputs
v1.1.10, (2010-11-20)
---------------------
- Fix h5io.get_unit_waveforms
- Add initial slope of spike to GMM clustering variables
- make blech_clust use max - 1 cores to help prevent system freeze
- Allow for user specification of cores to use
v1.1.9, (2019-11-08)
--------------------
- Fix typo in spike_sorting units_similarity
- Critcal Bug Fix:
- Fix bug with CAR group assignment via GUI
v1.1.8, (2019-10-28)
--------------------
- Fix typo is experiment creation
- Slight improvement to spike sorting UI
- Fix process status update when no units similarity violations found
- Critical Bug Fix:
- Was applying voltage scaling twice during clustering, now fixed.
- Use tmp file when repacking. Resolves error when compressing and repacking to same filename
v1.1.7, (2019-10-10)
-------------------
- Fix imports for data_plot module
v1.1.6, (2019-10-09)
-------------------
- Consolidate plotting into single sub-package and minimize matplotlib imports
- Try to use TkAgg backend to resolve plt.show hang during spike_sorting
v1.1.5, (2019-10-07)
-------------------
- Included pyqt5 in requirements, necessary for plotting since I like the pyqt5 matplotlib backend
- Fixed blechpy.h5io.common_average_reference to handle uneven raw trace lengths (for a cutoff recording)
- now truncates data to match shortest trace
- Can mark channels as dead to exclude them and try and save good channels
v1.1.4, (2019-10-07) -- Actually saves dataset after clustering
v1.1.3, (2019-10-07)
-------------------
-Critical bug fix:
- Clustering now actually works and reports problems
- Clustering now excludes clustering of channels marked as dead
v1.1.2, (2019-10-07)
-------------------
- Critical bug fix:
- blechpy.dio.h5io now properly importing referenced traces
- blechpy.analysis.blech_clust_process now properly choosing raw data only
if referenced data is not available
v1.1.1, (2019-10-06)
-------------------
- Fixed critical bugs in new dataset creation:
- Indentation error causing CAR groups to not be assigned properly
- info.rhd corruption checking
- Can run from setup through clustering with only a single prompt if desired
- Allows you to programmatically setup, extract and cluster many recordings without staying near the keyboard
v1.1.0, (2019-10-05)
-------------------
- Fixed requirments and setup.py so that project properly installs via pip.
- Fix default parameter loading
- Change deprecated scipy.misc.imread to imageio.imread in blech_waveforms_datashader
v1.0.0, October 5, 2019 -- Initial release