-
Notifications
You must be signed in to change notification settings - Fork 58
Important changes log
Here's a log of important changes in bombcell:
-
🎉 2025/06/05: Beta-release of the python version of bombcell!
-
🍻 2025/05/22: Pre-release of the python version of bombcell
-
🔧 2025/04/22: bug fix in the GUI where some channels for units on the edge of the probe were not properly displayed and returned an error (see https://github.com/Julie-Fabre/bombcell/issues/206)
-
🎨 2024/12/08: better, clearer variable names. Call the function
[qMetric, param] = bc.qm.prettify_names(qMetric, param);to convert your param and qMetric fields. Bombcell automatically calls this function and handles the changes. -
⚡ 2024/11/01: support for post-hoc splitting/merging in phy - bombcell can now run on those new outputs. INTRODUCED A BREAKING CHANGE - you now have to call the function
bc.load.loadEphysDatawith TWO inputs:ephysKilosortPathandsavePath -
💫 2024/10/13: updated GUI to be in two parts, with dynamic histograms that show where the current unit falls in the distribution
-
✨ 2024/09/26: option to fit spatial decay with an exponential function
-
💄 2024/08/19: better non-somatic metrics
-
🎨 2024/08/19: another (better) option to compute refractory period violations: Llobet et al. set
param.hillOrLlobetMethodto 0 / false to enable. -
🚑 2024/08/06: only compute spatial decay of geometry of probe allows (ie if it is a high density probe)
-
✨ 2024/08/04: more robust waveform peak and trough detection
-
🎨 2024/07/04: changed code structure to namespace folders. INTRODUCED BREAKING CHANGES - you now have to call functions differently - see the
gettingStarted.mlxscript. -
🦺 2024/06/05: more robust spatial decay computation: template values are optionally (if
param.normalizeSpDecayis set to1) normalized relative to the peak value, making the spatial decay slope calculation more robust. - thanks @cbimbo for the suggestion. To update previously computed values, see the functionbc_updateSpatialDecaySlope -
🐛 2024/06/05: distance metric bug fix - thanks @chrisan97
-
✨ 2024/03/07: Now compatible with Kilosort4. For now, change param.spikeWidth to 61 is using KS4 (and use the default value of 82 otherwise). Thanks @petersaj!
-
🍱 2024/03/05: Added UpSet plots for outputs (more details on what they are and the original paper that introduced them.
-
🗑️ 2023/12/08: Now handles empty or non-existent
pcFeatures, which are no longer outputted by Kilosort3. Thanks @Spencer Hanson! In this case, metrics dependant on PCFeatures (distance and drift metrics) cannot be computed. -
🧐 2023/12/05: Added option to fine-tune the non-somatic classification. Now, if a unit has a its largest detected peak before the trough, it is no longer automatically classified as non-somatic. The peak needs to be
param.firstPeakRatiotimes larger than any value after the waveform's trough. Thanks @LaurenzMuessig. -
🍱 2023/11/27: New module to compute a host of ephys parameters and to classify striatal and cortical units. See the last section in the example script
bc_qualityMetrics_pipeline.mto get started. -
🗃️ 2023/11/23: New option to separate non-axonal spikes into MUA and good. If
param.splitGoodAndMua_NonSomaticis set to 1, non-somatic units are further separated into non-somatic multi-unit and non-somatic good unit. Thanks @cbimbo. -
👭 2023/10/29: Added option to remove duplicate spikes.
-
🧱 2023/10/29: Better back-compatibility management. Introduced the function
bc_checkParameterFieldsthat checks the inputed parameter structure/table has all necessary fields. This code adds any missing fields with values resulting in the same behavior as before any new feature or feature flag was added. -
✨ 2023/10/27: Option to detrend raw spikes. Set
param.detrendWaveformsto1to enable this. -
🩹 2023/10/19: Optional, if you are using another recording software than spikeGLX or OpenEphys (e.g. Intan), you can still use bombcell. You need to change the inputs to the parameter function
param = bc_qualityParamValues(ephysMetaDir, rawFile, ephysKilosortPath, gain_to_uV);. SetephysMetaDir = ''ANDgain_to_uV = your_value_here. For Intan data,gain_to_uV = 0.195;. -
🩹 2023/10/16: Optional, if you are using spikeGLX and there is some error in your metafile where your probe type is not defined, change param.probeType to the appropriate value.
-
🤝 2023/08/29: Optional compatibility with phy. If
param.saveAsTSVis true, bombcell saves a tsv file per quality metric in theparam.ephysKilosortPathpath. This needs to be the same path as where all your kilosort output paths are saved. -
🪄 2023/08/23: Move
makeprettyfunction to a separate repo, so it can be easily used across different projects. Users now need to downloadhttps://github.com/Julie-Fabre/prettify_matlaband add it to their matlab path. -
🔖 2023/07/21: Bombcell version 1 released! 10.5281/zenodo.8172821
-
🥅 2023/07/06: Updated SNR calculation. Previously was using largest peak rather largest absolute value - thanks @LaurenzMuessig.
-
🧹 2023/06/23: Added un-whitening step to templates - thanks @petersaj.
-
✨ 2023/05/30: New bombcell quality metric parameter
param.extractRawto extract or not raw waveforms. This is currently one of bombcell's most time consuming steps. Note that if this option is disabled, you will not compute each units' rawAmplitude or each units' signal-to-noise ratio. -
🐛 2023/05/20: Updated the scaling factor for open-ephys recorded data
Follow me on twitter: basal_gang for updates on bombcell.
💣 Any issues? To get support, create a github issue, create a pull request or write a message on the the Neuropixels slack workgroup.
- Quick start guide
- Why use quality metrics?
- Installation
- Recommended pre-processing and data acquisition