Repository navigation
XSort 0.1.4
Pre-release
Pre-release
Version 0.1.4 (02/08/2024)
- Finished implementation of the Help view, which offers a small user guide for XSort. The guide is divided into
five chapters. A dropdown combo box selects the chapter displayed in the read-only text browser. The chapter contents
are maintained in Markdown files in theassetsfolder. - Minor changes to
CorrelogramView: Added a horizontal line at zero correlation and a translucent white vertical band
spanning the time range -1.5 to +1.5 milliseconds in each ACG or CCG plot. A checkbox at the bottom of the view lets
the user toggle the visibility of the zero correlation lines. - The
TemplateViewnow includes a slider to set the voltage range (Y-axis) for the templates, between +/-30 and +/-250
microvolts. The voltage span is a user preference that is saved at application exit and restored on startup. - The
ChannelViewnow includes a slider to set the vertical separation between channel traces, between +/-50 and
+/-150 microvolts. This parameter is NOT saved as a user preference and defaults to 100 microvolts at startup. - Modified how user selects units for display in the neural units table. Clicking on any row in the table selects the
corresponding unit for display while clearing any previous selection (single-selection behavior). To select multiple
units for display (up to three), you must hold down theControlkey (Commandkey on MacOS) while clicking on each
table row to select. - Implemented File | Open Recent menu with up to 5 most recently visited working directories.
- Implemented File | Save menu command. This will save the current list of neural units to a Python pickle file at a
location specified by the user. The content is aList[Dict[str, Any]], with the following key-value pairs:- "uid": The UID assigned to the unit in XSort (
str). - "spikes": A 1D Numpy array holding the unit's spike timestamps in chronological order, in seconds.
- "primary": The integer index identifying the primary channel on which the best signal-to-noise ratio was observed
for the unit. - "snr": The signal-to-noise observed on the unit's primary channel (
float). - "template": A 1D Numpy array holding the unit's mean spike waveform as recorded on the primary channel. The
waveform spans 10-ms and is in microvolts.
- "uid": The UID assigned to the unit in XSort (
- Updated
setup.cfgto use ">=" rather than "==" in theinstall_requiressection. This is needed for Numpy, in
particular, aspipwon't install Numpy <= 1.25 if the Python version is 3.12, as changes made in the 3.12 elease were
incompatible with Numpy versions prior to 1.26. - Introduced support for an alternative working directory configuration. Instead of the Omniplex PL2 file, a flat
binary file (extensions.binor.dat) can serve as the analog source file. This file contains the analog channel
streams as raw 16-bit signed integer samples. The streams may be stored one after the other or interleaved, and the
raw data may be prefiltered or not. In addition, XSort now handles situations in which the specified working directory
contains multiple Python pickle files and multiple.pl2/.bin/.datfiles. Whenever the identity of the neural unit
and analog channel data source files is ambiguous, or the analog source requires additional configuration from the
user, XSort raises a modal dialog to request this information from the user. - Note that, if the analog source is a pre-filtered flat binary file, there is no need to generate the individual
internal analog channel cache files.
Installation Instructions
See README.