-
Notifications
You must be signed in to change notification settings - Fork 33
Important changes log
Here's a log of important changes in bombcell:
-
π¨ 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.loadEphysData
with TWO inputs:ephysKilosortPath
andsavePath
-
π« 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.hillOrLlobetMethod
to 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.mlx
script. -
π¦Ί 2024/06/05: more robust spatial decay computation: template values are optionally (if
param.normalizeSpDecay
is 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.firstPeakRatio
times 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.m
to get started. -
ποΈ 2023/11/23: New option to separate non-axonal spikes into MUA and good. If
param.splitGoodAndMua_NonSomatic
is 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_checkParameterFields
that 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.detrendWaveforms
to1
to 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.saveAsTSV
is true, bombcell saves a tsv file per quality metric in theparam.ephysKilosortPath
path. This needs to be the same path as where all your kilosort output paths are saved. -
πͺ 2023/08/23: Move
makepretty
function to a separate repo, so it can be easily used across different projects. Users now need to downloadhttps://github.com/Julie-Fabre/prettify_matlab
and 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.extractRaw
to 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.