pmknutsen / spiky Goto Github PK
View Code? Open in Web Editor NEWAutomated Spike Sorting for Matlab
License: GNU General Public License v3.0
Automated Spike Sorting for Matlab
License: GNU General Public License v3.0
Events are sometimes not displayed correctly. For instance, an event may not be displayed with an endpoint and hence extends all the way to the next event. This is a display bug, and not a problem with the actual Events data.
Undo/Redo currently reside in the Edit menu but neither option has any effect.
Write a coherence plugin for:
When gain is unknown for multiple channels, the input dialog appears multiple times.
Add an analysis function that computes the power spectrum of selected channel (if not already done) and extracts the power in selected frequency bands.
Output is one or more continuous signals with power vs time (displayed as new channel).
When using the horizontal zoom at high magnification, some data is dropped at the sides of the screen.
Create a new black and white theme, suitable for producing graphics for presentation/print.
Currently, it is not possible to open more than one Spiky GUI as figure handles are accessed via global variables (see GetStruct() function). The globals need to be removed and the GUI figure handle propagate through function callbacks by inheritance.
Happens in windows
Auto detect the type of files in a selected directory when a file is Opened. This saves the user clicking the filetype dropdown menu.
Can be done in themes
Add option to re-calculate values of selected channels.
For instance, user enter an equation through an input box;
abs(rad2deg(V))
, where V is short-hand for the channel's voltage values.
Other short-hand variables could be;
T - timestamp
G - channel G
Allow all analysis functions that work on Discrete events (/analysis/discrete/*) to also work on spikes (as the events).
Solutions:
On the initial Merge, spikes are not included from all files (just from one file it seems).
Steps to reproduce:
Only spikes in the initial file will be completed. Spikes of files that settings were Distributed to are not included in the merge file.
http://www.mathworks.com/matlabcentral/fileexchange/39721-save-mat-files-more-quickly
Check both read and write speeds after savefast() is used.
Spiky currently reads only DAQ files saved by the Matlab Data Acquisition Toolbox. This issue will implement a general scheme for reading any type of input file format. A general re-consideration of fieldnames etc should be undertaken before new filters are written.
/import
folder with file-extension as filename, e.g. daq.m
./import
folderUse Matlab native suppotr for reading and writing to HDF5 files:
http://www.mathworks.com/help/matlab/hdf5-files.html
Current implementation of positive spikie thresholds broken.
Change current behavior of detection with positive spike thresholds. Positive thresholds should only function as an inclusion criteria (i.e. spikes that do not cross the positive threshold are discarded).
Calibrate amplitudes according to channel gains and update all axis units
Right clicking on analog trace and selecting Copy to Figure brings up a figure with a strongly decimated trace.
Need to be corrected so that trace is displayed in its full sampling rate glory.
Title bar says "- Spiky" when a Merge file is open. Should say at least "MergeFile - Spiky" instead.
Common export formats:
CSV
Excel
As an option to Select Directory etc use the FileExchange tool uipickfiles to select multiple files across directories and drives:
http://www.mathworks.com/matlabcentral/fileexchange/10867-uipickfiles--uigetfile-on-steroids
Add option in Channels menu to merge multiple channels into a single channel. When samples exists for the same time points in two or more channels, user should be prompted for which channel takes precedence.
In Analysis menu, add selectable item "Limit to displayed range". When this option is selected, pre-process the data structure before passing FV to the analysis function, by removing data segments (or filling with NaNs) that are before/after the displayed range.
eg. custom units can be degrees, radians etc.
When clicking on start/end timestamp markers in the Events axis, MergeFile.spb is shown as filename instead of actual filename.
Currently, channel filters are not applied to a channel prior to spike detection.
Virtual event channels are created on the fly and are either copies of other event channels or combinations thereof using the logical operators AND, OR, XOR and NOT.
The cross/auto correlation analysis functions occasionally fails.
Improve validation of input fields.
In Aggregation window, clusters with same unit# as during initial overclustering sometimes not displayed.
Autoloading of new DAQ files on disk is currently broken.
refresh concatenating spikes on multielectrodes after changing settings
Occasionally, after merging some trial start times are repeated. Thus, trials are overlapping in time. The problem appears to occur during Distribution of settings as its noted that when start/end times are repeated, data is offending files is also duplicated/repeated. No known way to reproduce this problem, but if it does occurs deleting all .spb files in the directory and re-distributing may help.
Align start by bigger and change to
Align to start of signal
Work started on SetAmplitudeUnit(S,C).
Set the voltage unit (V, mV, uV) for all or individual channels. Menu item sets for all channels. Individual channels can be scripted or by right clicking displayed traced.
This may be challenging considering the large number of function dependencies.
Trial name that appears in Event axis is not themed correctly, e.g. is black on dark-gray background with the default spiky theme.
Remove the /scripts folders and instead load as scripts all files in the Matlab search path that are prefixed with 'spiky_' (double underscore). This way, Spiky scripts can be anywhere on the file system and private scripts do not need to be distributed via git etc.
E.g. a minus b
The analysis functions reside in the /analysis/discrete and /analysis/continuous directories. Handles to these can be added to the global structure Spiky that is created upon startup.
One option is to restructure the entire Spiky variable, as such:
Spiky.analysis.discrete.abc
for discrete analysis functions
Spiky.analysis.continuous.abc
for continuous analysis functions
Spiky.import.abc
for import functions
Spiky.export.abc
for import functions
Spiky.main.abc
for internal functions
the latter require recoding of all external functions, so simplest solution is to probably just leave internal functions where they are, i.e. Spiky.abc
When the default log file grows (very) large, every manual Run trigger freezes execution while log file is loaded and data appended to the end of it.
Solution:
When the default save location is used, don't append but create a new log file in the same directory.
Use a BS dataset with airpuff, spikes and LFP.
Add option for downsampling individual channels.
doesn't clean after changing the pre/post trigger times or dead time (stacks the next spike detection)
Reduce current screen space of digital channels to about half.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.