Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Decoding pipeline edits for imported data (LorenFrankLab#782)
* Add non-local detector and remove replay_trajectory_classification * Reorganize * Fix formatting and imports * Update .gitignore * Remove because of circular import * Fix name of parameter * Handle case where ther is only one interval * Fix settings * Handle single interval * from_unit_dict does not exist in 0.98.2 of spike interface * Simplify call * Update for SpikeSorting merge table and add spyglass mixin * Fix dependencies * Fix merge conflict * Update src/spyglass/decoding/v1/clusterless.py Co-authored-by: Chris Brozdowski <[email protected]> * Update src/spyglass/decoding/v1/clusterless.py Co-authored-by: Chris Brozdowski <[email protected]> * Update src/spyglass/decoding/v1/clusterless.py Co-authored-by: Chris Brozdowski <[email protected]> * Update src/spyglass/decoding/v1/clusterless.py Co-authored-by: Chris Brozdowski <[email protected]> * Apply suggestions from code review Co-authored-by: Chris Brozdowski <[email protected]> * Remove unused imports and format * Add saving of waveform features * Don't store electrodes, full waveforms, waveform mean * Fix spike times and add convenience method * Add spike location and some formatting * Remove circular import * Fix dict expansion * Initial working clusterless pipeline * Add position group * Rename classifier to decoding * Handle encoding and decoding intervals * Put old files under v0, try/except for old decoding package * Rename visualization and remove from v0 v0 visualization is redundant with visualization * Place parameters and position group in core.py * Add sorted spikes decoding * Add objects to init for convenience * Remove unused imports * Fix fetching of spike times * Insert into merge table * Update CHANGELOG.md * Function for removing decoding outputs not in DecodingOutput * Fix name * Add draft of tutorials and rearrange notebooks * Fix config loading * Add 1D decoding and some notes on estimate_parameters kwarg * Update 43_Decoding_SortedSpikes.ipynb * Remove old decoding notebook * Save initial conditions and discrete transitions * Apply suggestions from code review Co-authored-by: Chris Brozdowski <[email protected]> * Be more specific with import error * Remove unneeded comments * Remove incorrect dimension name * Project merge_id from SpikeSortingOutput for clarity * Update src/spyglass/decoding/v0/clusterless.py Co-authored-by: Chris Brozdowski <[email protected]> * Update src/spyglass/decoding/v0/clusterless.py Co-authored-by: Chris Brozdowski <[email protected]> * Update src/spyglass/decoding/v0/clusterless.py Co-authored-by: Chris Brozdowski <[email protected]> * Fix linting * Update notebooks * Ignore .pem * Add session as a primary key for Groups * Add some helper methods * Update notebooks * Update README.md * Update pyscripts * Update 42_Decoding_Clusterless.ipynb * Update CHANGELOG.md * Add fetch and insert * Simplify class conversion * Do the dictionary conversion of class for the user * Update CHANGELOG.md * Update .gitignore * Use methods in populate * Avoid fetching interval range if not needed * Generalize finding class from modules * Use args/kwargs * Simplify tuple unpacking * Make decoding kwargs nullable * Add function for get_recording and get_sorting to the spikesorting merge table * make decoding waveform features agnostic to spikesorting source * Fix spelling * Use fetch1_dataframe for position * Use self instead of class * Update src/spyglass/decoding/v1/sorted_spikes.py Co-authored-by: Samuel Bray <[email protected]> * Be more careful about populating select keys * Make more readable/remove unused imports * Save classifier * Clean up saved model paths * add function load_linear_position_info * Update src/spyglass/decoding/v1/sorted_spikes.py Co-authored-by: Samuel Bray <[email protected]> * Update 41_Extracting_Clusterless_Waveform_Features.py * Update docstring * Apply suggestions from code review Co-authored-by: Chris Brozdowski <[email protected]> * Update src/spyglass/decoding/v1/clusterless.py Co-authored-by: Chris Brozdowski <[email protected]> * Update src/spyglass/decoding/v1/clusterless.py Co-authored-by: Chris Brozdowski <[email protected]> * Fix linting * Fix syntax * Rename variable to avoid confusion * Restrict UnitWaveformFeaturesGroup and SortedSpikesGroup * Concatenate linear position and position dataframes * Static methods don't require instantiating class * Avoid merge restrict * Add version to defaults * Remove unused import * Fix classifier path * Add dry run * Remove non-default * Handle permissions and file not found * Keep position info within encoding/decoding interval * Add methods to get the spike_times, spike_indicators, firing rate * Fix docstring to match default * Implement function rather than import * Remove unused broken imports * Add decoding cleanup * Fix import * Put old vis code back * Fix import * Add draft helper functions * Limit options on input * Fix logic * Fix where the key is passed * Update notebooks * Host main visualizations in non_local_detector repo * Update notebooks/py_scripts/41_Extracting_Clusterless_Waveform_Features.py Co-authored-by: Chris Brozdowski <[email protected]> * Update src/spyglass/spikesorting/merge.py Co-authored-by: Chris Brozdowski <[email protected]> * Update src/spyglass/decoding/decoding_merge.py Co-authored-by: Chris Brozdowski <[email protected]> * Revert "Limit options on input" This reverts commit 386714c. * Use f-string for version * Add useful imports to the top level This would have to change a bit if there were multiple versions of the pipeline. * Make source class a hidden attribute * Update CHANGELOG.md * Centralize get_class logic in Merge (LorenFrankLab#749) * get_class logic -> dj_merge * blackify --------- Co-authored-by: Eric Denovellis <[email protected]> * Add _nwb_table for fetch_nwb * Method is static method * Add merge insert * string split is brittle, use defaults if it didn't work * WIP: Mixin resolves _nwb_table attr for Merge (LorenFrankLab#783) * Change import * Handle single position 3D case * Fix getting source from key * Use merge_restrict_class for fetch_nwb on merge tables * Move this back * Remove for now * Temp patch for tests * Revert "Temp patch for tests" This reverts commit 281bf36. * Temp patch for tests * Handle None decoding kwargs * fetch_nwb is a method not a class method now * Fix _merge_repr for numeric data types (LorenFrankLab#786) * Easily calculate firing rate * Add sorting spike times by place field and ahead behind distance * Account for differently named position variables * Handle orientation name and fix linear position fetch * Fix 2D ahead/behind * Add `UnitSelection` table (LorenFrankLab#788) * Add UnitSelection * Rename table * Addressing LorenFrankLab#789, failing tests (LorenFrankLab#795) * Addressing LorenFrankLab#789. See details. - Edit settings.py to permit fail to load config on startup - Simplify instructions to use func to generate config, negating need for config.py script - Edit notebook 00 and installation doc to point to save-config func - Expand example config to demonstrate all possible values - Lint dj_merge_table.py to remove unused import and `var is True` * LorenFrankLab#794 * Fix failing tests * Update Changelog * Typo: chared -> shared * Apply suggestions from code review Co-authored-by: Chris Brozdowski <[email protected]> * Fix formatting * Update src/spyglass/common/common_behav.py Co-authored-by: Chris Brozdowski <[email protected]> * Update src/spyglass/settings.py Co-authored-by: Chris Brozdowski <[email protected]> * Fix syntax * Update merge.py --------- Co-authored-by: Chris Brozdowski <[email protected]> Co-authored-by: Sam Bray <[email protected]> Co-authored-by: Kyu Hyun Lee <[email protected]>
- Loading branch information