You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
My GUI for the manual stage of spike sorting with [UltraMegaSort2000](https://github.com/danamics/UMS2K) (UMS).
3
5
6
+
If you use this software in your work, please cite both the original UMS2000 toolbox (Hill DN, Mehta SB, Kleinfeld D. *"Quality metrics to accompany spike sorting of extracellular signals"*__J Neurosci__, 2011) and this software (Merricks EM, *"SplitMerge toolbox: a fast GUI for UltraMegaSort2000"*__DOI:10.5281/zenodo.3951171__, 2020)
7
+
8
+
## Quickstart
9
+
Download the most recent [release](https://github.com/edmerix/SplitMerge/releases/tag/v1.0) and install the app in Matlab by opening "SplitMerge.mlappinstall". The app can now be started by clicking on its button in the "Apps" tab at the top of the Matlab main window.
10
+
11
+
Alternatively, add the source code directory to your Matlab path, and enter `SplitMerge` in the command window. `app = SplitMerge();` will enable a handle to interact with the GUI programmatically, and allows for name, value pairs of arguments to be passed to the app from the following options:
| Height | Start app with this height (pixels) | 900 |
20
+
| Width | Start app with this width (pixels) | 1440 |
21
+
| TreeWidth | Set the left column (file list) to this width (pixels) | 200 |
22
+
| Epoch | Lock time plots to these start and stop times (seconds). If empty, defaults to earliest and latest spikes in selected channel |[]|
23
+
| ShowTime | Show seconds on time plots | false |
24
+
| Colorful | Plot units with different colors (can be toggled in-app) | true |
25
+
| ToScale | Plot units on the same scale (can be toggled in-app) | false |
26
+
| nFFT | Length to use for FFT calculation in Noise Removal tab | 8192 |
27
+
| Debugging | Show verbose messages about functioning to command window | false |
28
+
29
+
## Info
4
30
__UPDATE 2020-07-14__: Major overhaul of the main plot method giving a huge increase in the speed of loading units.
5
31
6
32
[Screenshots below](#screenshots).
@@ -11,12 +37,6 @@ To speed up interactivity, I'm making use of the new UIFigure and UIAxes objects
11
37
12
38
It is designed to work on directories containing UMS result structs for each channel in many files, speeding up processing of large numbers of channels, such as in the Utah array.
13
39
14
-
It is now fully functional with an original, unmodified copy of UMS :)
15
-
16
-
~~__N.B.__ This is a work in progress... Importantly, I have made _minor_ alterations to the original toolbox, which _may_ be required for full functionality. These requirements will be removed/documented shortly (see todos below).~~
17
-
18
-
_BTW_ this uses Matlab's class structure (using @ClassName directory and separate methods files within). This structure must be maintained in order for the methods to work correctly.
19
-
20
40
## Screenshots:
21
41
22
42
__Inspect/Merge tab:__
@@ -37,7 +57,7 @@ __Noise removal tab:__
37
57
38
58
### Todos:
39
59
-[x] Remove or document all necessary alterations to the base UMS toolbox
40
-
-[ ] Write the help documentation!
60
+
-[ ] Write the more in-depth help documentation!
41
61
-[x] Add app.Data.modifylist array for future use (minimizing replots)
42
62
-[x] Update the replotting of the Inspect/merge panel to make use of app.Data.modifylist data and avoid full re-plot
43
63
-[x] Add in confirmation of file change when alterations have been made (use app.Data.modified array?)
0 commit comments