@@ -79,18 +79,18 @@ curation:
7979
8080
8181 1. Quality-metrics based curation
82- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
82+ ----------------------------------
8383
8484A simple solution is to use a filter based on quality metrics. To do so,
85- we can use the ``spikeinterface.curation.qualitymetrics_label_units ``
85+ we can use the ``spikeinterface.curation.threshold_metrics_label_units ``
8686function and provide a set of thresholds.
8787
8888.. code :: ipython3
8989
9090 qm_thresholds = {
91- "snr": {"min ": 5},
92- "firing_rate": {"min ": 0.1, "max ": 200},
93- "rp_contamination": {"max ": 0.5}
91+ "snr": {"greater ": 5},
92+ "firing_rate": {"greater ": 0.1, "less ": 200},
93+ "rp_contamination": {"less ": 0.5}
9494 }
9595
9696 .. code :: ipython3
@@ -143,7 +143,7 @@ across all units:
143143 .. image :: auto_label_units_files/auto_label_units_14_0.png
144144
145145
146- 1 . Bombcell
146+ 2 . Bombcell
147147-----------
148148
149149**Bombcell ** ([Fabre ]_) is another threshold-based method that also uses
@@ -161,24 +161,24 @@ file.
161161
162162 .. parsed-literal ::
163163
164- {'mua': {'amplitude_cutoff': {'max ': 0.2 , 'min ': None },
165- 'amplitude_median': {'max ': None , 'min ': 40 },
166- 'drift_ptp': {'max ': 100 , 'min ': None },
167- 'num_spikes': {'max ': None , 'min ': 300 },
168- 'presence_ratio': {'max ': None , 'min ': 0.7 },
169- 'rp_contamination': {'max ': 0.1 , 'min ': None },
170- 'snr': {'max ': None , 'min ': 5 }},
171- 'noise': {'exp_decay': {'max ': 0.1 , 'min ': 0.01 },
172- 'num_negative_peaks': {'max ': 1 , 'min ': None },
173- 'num_positive_peaks': {'max ': 2 , 'min ': None },
174- 'peak_after_to_trough_ratio': {'max ': 0.8 , 'min ': None },
175- 'peak_to_trough_duration': {'max ': 0.00115 , 'min ': 0.0001 },
176- 'waveform_baseline_flatness': {'max ': 0.5 , 'min ': None }},
177- 'non-somatic': {'main_peak_to_trough_ratio': {'max ': 0.8 , 'min ': None },
178- 'peak_before_to_peak_after_ratio': {'max ': 3 , 'min ': None },
179- 'peak_before_to_trough_ratio': {'max ': 3 , 'min ': None },
180- 'peak_before_width': {'max ': None , 'min ': 0.00015 },
181- 'trough_width': {'max ': None , 'min ': 0.0002 }}}
164+ {'mua': {'amplitude_cutoff': {'greater ': None , 'less ': 0.2 },
165+ 'amplitude_median': {'abs ': True , 'greater ': 30, 'less': None },
166+ 'drift_ptp': {'greater ': None , 'less ': 100 },
167+ 'num_spikes': {'greater ': 300 , 'less ': None },
168+ 'presence_ratio': {'greater ': 0.7 , 'less ': None },
169+ 'rp_contamination': {'greater ': None , 'less ': 0.1 },
170+ 'snr': {'greater ': 5 , 'less ': None }},
171+ 'noise': {'exp_decay': {'greater ': 0.01 , 'less ': 0.1 },
172+ 'num_negative_peaks': {'greater ': None , 'less ': 1 },
173+ 'num_positive_peaks': {'greater ': None , 'less ': 2 },
174+ 'peak_after_to_trough_ratio': {'greater ': None , 'less ': 0.8 },
175+ 'peak_to_trough_duration': {'greater ': 0.0001 , 'less ': 0.00115 },
176+ 'waveform_baseline_flatness': {'greater ': None , 'less ': 0.5 }},
177+ 'non-somatic': {'main_peak_to_trough_ratio': {'greater ': None , 'less ': 0.8 },
178+ 'peak_before_to_peak_after_ratio': {'greater ': None , 'less ': 3 },
179+ 'peak_before_to_trough_ratio': {'greater ': None , 'less ': 3 },
180+ 'peak_before_width': {'greater ': 0.00015 , 'less ': None },
181+ 'trough_width': {'greater ': 0.0002 , 'less ': None }}}
182182
183183
184184 .. code :: ipython3
@@ -248,8 +248,8 @@ contamination (``rp_contamination``).
248248.. image :: auto_label_units_files/auto_label_units_23_1.png
249249
250250
251- UnitRefine
252- ----------
251+ 3. UnitRefine
252+ -------------
253253
254254**UnitRefine ** ([Jain ]_) also uses quality and template metrics, but in
255255a different way. It uses pre-trained classifiers to trained on
@@ -305,12 +305,11 @@ sorting with different strategies. We recommend running **Bombcell** and
305305**UnitRefine ** as part of your pipeline. These methods will facilitate
306306further curation and make downstream analysis cleaner.
307307
308- To remove units from your ``SortingAnalyzer ``, you can simply use the
309- ``select_units `` function:
310-
311308Remove units from ``SortingAnalyzer ``
312309-------------------------------------
313310
311+ To remove units from your ``SortingAnalyzer ``, you can use the ``select_units `` function.
312+
314313After auto-labeling, we can easily remove the “noise” units for
315314downstream analysis:
316315
0 commit comments