From e970451582f594303b6b4be9c2a208cf8d358101 Mon Sep 17 00:00:00 2001 From: Alessio Buccino Date: Wed, 16 Oct 2019 19:11:38 +0200 Subject: [PATCH] reorganize folders --- MEArec_SqMEA1015/README.md | 14 + MEArec_SqMEA1015/main_script.py | 124 + MEArec_SqMEA1015/sorter_comparison.html | 21237 ++++++++++++++++ MEArec_SqMEA1015/sorter_comparison.ipynb | 8745 +++++++ README.md | 5 +- .../MEArec_GT_comparison}/README.md | 0 .../mearec-gt-comparison.ipynb | 0 .../MEArec_GT_comparison}/run_sorters.py | 13 - .../Neuropixels_multi_comparison}/README.md | 0 .../Neuropixels_multi_comparison}/chanMap.mat | Bin .../neuropixels-multi-comparison.ipynb | 0 .../run_sorters.py | 0 12 files changed, 30123 insertions(+), 15 deletions(-) create mode 100644 MEArec_SqMEA1015/README.md create mode 100644 MEArec_SqMEA1015/main_script.py create mode 100644 MEArec_SqMEA1015/sorter_comparison.html create mode 100644 MEArec_SqMEA1015/sorter_comparison.ipynb rename {MEArec_GT_comparison => SpikeInterface_manuscript/MEArec_GT_comparison}/README.md (100%) rename {MEArec_GT_comparison => SpikeInterface_manuscript/MEArec_GT_comparison}/mearec-gt-comparison.ipynb (100%) rename {MEArec_GT_comparison => SpikeInterface_manuscript/MEArec_GT_comparison}/run_sorters.py (72%) rename {Neuropixels_multi_comparison => SpikeInterface_manuscript/Neuropixels_multi_comparison}/README.md (100%) rename {Neuropixels_multi_comparison => SpikeInterface_manuscript/Neuropixels_multi_comparison}/chanMap.mat (100%) rename {Neuropixels_multi_comparison => SpikeInterface_manuscript/Neuropixels_multi_comparison}/neuropixels-multi-comparison.ipynb (100%) rename {Neuropixels_multi_comparison => SpikeInterface_manuscript/Neuropixels_multi_comparison}/run_sorters.py (100%) diff --git a/MEArec_SqMEA1015/README.md b/MEArec_SqMEA1015/README.md new file mode 100644 index 0000000..aa0b44a --- /dev/null +++ b/MEArec_SqMEA1015/README.md @@ -0,0 +1,14 @@ +# Comparison of spike sorters with MEArec and SpikeInterface + +@author : Samuel Garcia + + +Dataset generated with [MEArec](https://github.com/alejoe91/MEArec) (author: Alessio Paolo Buccino) + +The recordings are simulated on a **SqMEA-10-15** probe, with 100 channels in a 10x10 configurtion, and with an inter-electrode distance of 15 um. There are 50 ground-truth neurons and the duration is 60 seconds. + +The file **recordings_50cells_SqMEA-10-15um_60.0_10.0uV_27-03-2019_13_31.h5** is freely downloadable [here](https://doi.org/10.5281/zenodo.3260283). You can download the file, unzip it in this folder, and run the notebook. + + +This notebook is a demonstration of the SpikeInterface ground-truth comparison framework. +The notebook launches several popular sorters on the recording and computes several performence metrics. diff --git a/MEArec_SqMEA1015/main_script.py b/MEArec_SqMEA1015/main_script.py new file mode 100644 index 0000000..6f03063 --- /dev/null +++ b/MEArec_SqMEA1015/main_script.py @@ -0,0 +1,124 @@ +import os + +import pandas as pd +import matplotlib.pyplot as plt +import seaborn as sns +import spikeextractors as se +from spiketoolkit.study import GroundTruthStudy +import spikewidgets as sw +from pathlib import Path + +plot_mearec = False + +def clean_plot(ax, label, sorters): + ax.set_xlabel('') + ax.set_ylabel(label, fontsize=20) + ax.yaxis.set_tick_params(labelsize=12) + ax.set_xticklabels(sorters, fontsize=15, rotation=45, ha='center') + ax.spines['top'].set_visible(False) + ax.spines['right'].set_visible(False) + fig = ax.get_figure() + fig.subplots_adjust(bottom=0.2) + fig.set_size_inches(8, 7) + +p = Path('.') + +study_folder = p / 'study_mearec_SqMEA1015um' + +mearec_filename = p / 'recordings_50cells_SqMEA-10-15um_60.0_10.0uV_27-03-2019_13-31.h5' +rec0 = se.MEArecRecordingExtractor(mearec_filename) +gt_sorting0 = se.MEArecSortingExtractor(mearec_filename) +study = None + +if plot_mearec: + import MEArec as mr + import MEAutility as mu + + recgen = mr.load_recordings(mearec_filename) + + # plot the probe + probe_info = recgen.info['electrodes'] + probe_name = recgen.info['electrodes']['electrode_name'] + mea = mu.return_mea(info=probe_info) + fig1, ax1 = plt.subplots() + mu.plot_probe(mea, ax=ax1) + ax1.axis('off') + + fig2, axs = plt.subplots(nrows=3, ncols=4) + for i, unit_id in enumerate(gt_sorting0.get_unit_ids()[:12]): + ax = axs.flatten()[i] + mr.plot_templates(recgen, template_ids=unit_id, ax=ax) + ax.set_title('unit #{}'.format(unit_id)) + + fig3, ax3 = plt.subplots() + mr.plot_recordings(recgen, start_time=0, end_time=5, lw=0.1, ax=ax3) + +# Setup study folder +if not study_folder.is_dir(): + print('Setting up study folder:', study_folder) + gt_dict = {'rec0': (rec0, gt_sorting0)} + study = GroundTruthStudy.create(study_folder, gt_dict) + +if study is None: + study = GroundTruthStudy(study_folder) + +# Run sorters +sorter_list = ['herdingspikes', 'kilosort2', 'ironclust', + 'spykingcircus', 'tridesclous'] +sorter_params = {'mountainsort4': {'adjacency_radius': 50}, + 'spykingcircus': {'adjacency_radius': 50}} + +if not (study_folder / 'sorter_folders').is_dir(): + print('Running sorters') + study.run_sorters(sorter_list, mode='keep', engine='loop') + +# Perform comparisons +print('Performing comparisons and getting results') +study.run_comparisons(exhaustive_gt=True, compute_misclassification=True) + +comparisons = study.comparisons +dataframes = study.aggregate_dataframes(accuracy=0.8) + +# Plot confusion matrices +fig4 = plt.figure() +for i, ((rec_name, sorter_name), comp) in enumerate(comparisons.items()): + print(rec_name, sorter_name) + comp.print_summary(accuracy=0.8) + + ax = fig4.add_subplot(2, 3, i + 1) + sw.plot_confusion_matrix(comp, ax=ax, count_text=False, unit_ticks=False) + ax.set_title(sorter_name) + +plt.show() + +run_times = dataframes['run_times'] +perf_units = dataframes['perf_by_units'] +perf_avg = dataframes['perf_pooled_with_average'] +count_units = dataframes['count_units'] + +exclude_sorters = ['mountainsort4', 'tridesclous'] + +if len(exclude_sorters) > 0: + for name in exclude_sorters: + run_times = run_times[run_times['sorter_name'] != name] + perf_units = perf_units[perf_units['sorter_name'] != name] + perf_avg = perf_avg[perf_avg['sorter_name'] != name] + count_units = count_units[count_units['sorter_name'] != name] + +sorters = run_times['sorter_name'] + +fig5, ax5 = plt.subplots() +ax5 = sns.barplot(data=dataframes['run_times'], x='sorter_name', y='run_time', ax=ax5, order=sorters) +fig6, ax6 = plt.subplots() +ax6 = sns.swarmplot(data=dataframes['perf_by_units'], x='sorter_name', y='accuracy', ax=ax6, order=sorters) +fig7, ax7 = plt.subplots() +ax7 = sns.barplot(data=dataframes['perf_pooled_with_average'], x='sorter_name', y='precision', ax=ax7, order=sorters) +fig8, ax8 = plt.subplots() +ax8 = sns.barplot(data=dataframes['count_units'], x='sorter_name', y='num_bad', ax=ax8, order=sorters) + +sorters = run_times['sorter_name'] + +clean_plot(ax5, 'run times (s)', sorters) +clean_plot(ax6, 'accuracy', sorters) +clean_plot(ax7, 'precision', sorters) +clean_plot(ax8, 'bad units', sorters) diff --git a/MEArec_SqMEA1015/sorter_comparison.html b/MEArec_SqMEA1015/sorter_comparison.html new file mode 100644 index 0000000..e8a02d1 --- /dev/null +++ b/MEArec_SqMEA1015/sorter_comparison.html @@ -0,0 +1,21237 @@ + + + + +sorter_comparison + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+

Compare sorters with some dataset generated with MEArec

@author : Samuel Garcia

+

Alessio Paolo Buccino author of MEArec have generated a dataset with ground truth. The simulated probe is SqMEA-10-15.

+

It is a very dense probe. The duration is 60s.

+

The file recordings_50cells_SqMEA-10-15um_60.0_10.0uV_27-03-2019_13_31.h5 is (will be) freely downloadable to reproduce results.

+

This notebook is is demonstration of the spiketoolkit ground truth comparison framework. +It launch several popular sorter on this recording and compute some performence metrics.

+

The goal of this is not to rank sorter because some have then have certainly non optimal parameters for this particular dataset. The goal is to explore strength but mainly weekness of each sorters.

+ +
+
+
+
+
+
In [1]:
+
+
+
import time
+
+import pandas as pd
+import matplotlib.pyplot as plt
+import seaborn as sns
+
+import spiketoolkit as st
+import spikeextractors as se
+from spiketoolkit.study import GroundTruthStudy
+
+import MEAutility as mu
+import MEArec as mr
+
+# %matplotlib notebook
+%matplotlib inline
+plt.rcParams['figure.figsize'] = [12, 8]
+
+ +
+
+
+ +
+
+ + +
+ +
+ + +
+
/home/samuel/.virtualenvs/py36/lib/python3.6/site-packages/sklearn/externals/six.py:31: DeprecationWarning: The module is deprecated in version 0.21 and will be removed in version 0.23 since we've dropped support for Python 2.7. Please rely on the official version of six (https://pypi.org/project/six/).
+  "(https://pypi.org/project/six/).", DeprecationWarning)
+/home/samuel/.virtualenvs/py36/lib/python3.6/site-packages/sklearn/externals/joblib/__init__.py:15: DeprecationWarning: sklearn.externals.joblib is deprecated in 0.21 and will be removed in 0.23. Please import this functionality directly from joblib, which can be installed with: pip install joblib. If this warning is raised when loading pickled models, you may need to re-serialize those models with scikit-learn 0.21+.
+  warnings.warn(msg, category=DeprecationWarning)
+
+
+
+ +
+
+ +
+
+
+
In [2]:
+
+
+
# p = '/media/samuel/SamCNRS/DataSpikeSorting/mearec/'
+p = '/home/samuel/DataSpikeSorting/mearec/'
+# p = '/media/samuel/dataspikesorting/DataSpikeSortingHD2/mearec/'
+
+study_folder = p + 'study_mearec'
+
+mearec_filename = p + 'recordings_50cells_SqMEA-10-15um_60.0_10.0uV_27-03-2019_13_31.h5'
+
+ +
+
+
+ +
+
+
+
In [3]:
+
+
+
rec0  = se.MEArecRecordingExtractor(mearec_filename, locs_2d=False)
+gt_sorting0 = se.MEArecSortingExtractor(mearec_filename)
+
+ +
+
+
+ +
+
+
+
+

Inspect the dataset

Before, making the dataset lets explore probe geometry and grdound truth templates.

+

The signal are simulated using MEArec written by Alessio Buccino.

+
    +
  • It is a very dense probe using the shape SqMEA-10-15.
  • +
  • The probe have 10 X 10 channels.
  • +
  • There are 50 templates = 50 ground truth units.
  • +
  • As the array is dense, template have a high spatial definition and redundency.
  • +
+

MEAutility and MEArec offer easy to use plotting functions.

+ +
+
+
+
+
+
+

Probe

+
+
+
+
+
+
In [ ]:
+
+
+
# load the mearec file
+recgen = mr.load_recordings(mearec_filename)
+
+ +
+
+
+ +
+
+
+
In [30]:
+
+
+
# plot the probe
+probe_info = recgen.info['electrodes']
+probe_name = recgen.info['electrodes']['electrode_name']
+mea = mu.return_mea(info=probe_info)
+fig, ax = plt.subplots()
+mu.plot_probe(mea, ax=ax)
+ax.set_title(probe_name)
+
+ +
+
+
+ +
+
+ + +
+ +
Out[30]:
+ + + + +
+
Text(0.5,1,'SqMEA-10-15um')
+
+ +
+ +
+ +
+ + + + +
+ +
+ +
+ +
+
+ +
+
+
+
+

Some ground truth templates

Here a selection of 12 template out of 50.

+ +
+
+
+
+
+
In [31]:
+
+
+
fig, axs = plt.subplots(nrows=3, ncols=4)
+for i, unit_id in enumerate(gt_sorting0.get_unit_ids()[:12]):
+    ax = axs.flatten()[i]
+    mr.plot_templates(recgen, template_ids=unit_id, ax=ax)
+    ax.set_title('unit #{}'.format(unit_id))
+
+ +
+
+
+ +
+
+ + +
+ +
+ + + + +
+ +
+ +
+ +
+
+ +
+
+
+
+

Compute template SNR

Spiketookit have utilities to compute the peak of each template. +This is quite long so we save the results into a datataframe with xlsx format.

+

For the peak SNR is done as follow:

+
    +
  • compute the median template with the ground truth indexes
  • +
  • detect where is the max channel.
  • +
  • get the peak amplitude
  • +
  • compute the MAD on the filtered signals on a fraction of the signal.
  • +
  • snr = peak_amplitude / mad_of_the_channel
  • +
+

On the following figures we can see that for the 500 units the SNR is between 3 and 19.

+

lets do the prediction that units with SNR of 3 will be "hard" to detect and sort :).

+ +
+
+
+
+
+
In [37]:
+
+
+
snr = st.validation.compute_unit_SNR(rec0, gt_sorting0)
+snr = pd.Series(snr, index=gt_sorting0.get_unit_ids())
+snr.name = 'snr'
+pd.DataFrame(snr).to_excel(p + 'units_snr.xlsx')
+
+ +
+
+
+ +
+
+
+
In [6]:
+
+
+
snr = pd.read_excel(p + 'units_snr.xlsx', index_col=0)['snr']
+
+ +
+
+
+ +
+
+ + +
+ +
+ + +
+
/home/samuel/.virtualenvs/py36/lib/python3.6/site-packages/xlrd/xlsx.py:266: PendingDeprecationWarning: This method will be removed in future versions.  Use 'tree.iter()' or 'list(tree.iter())' instead.
+  for elem in self.tree.iter() if Element_has_iter else self.tree.getiterator():
+/home/samuel/.virtualenvs/py36/lib/python3.6/site-packages/xlrd/xlsx.py:312: PendingDeprecationWarning: This method will be removed in future versions.  Use 'tree.iter()' or 'list(tree.iter())' instead.
+  for elem in self.tree.iter() if Element_has_iter else self.tree.getiterator():
+
+
+
+ +
+
+ +
+
+
+
In [7]:
+
+
+
fig, ax = plt.subplots()
+ax.hist(snr, bins=50)
+ax.set_title('Units SNR for best peak')
+ax.set_xlabel('SNR of peak')
+
+ +
+
+
+ +
+
+ + +
+ +
Out[7]:
+ + + + +
+
Text(0.5, 0, 'SNR of peak')
+
+ +
+ +
+ +
+ + + + +
+ +
+ +
+ +
+
+ +
+
+
+
+

Step 1 : setup study folder

The function setup_comparison_study of spiketoolkit create a "study folder" with evrything copied inside. +The input is a dict of (recording + gt_sorting). Recording been the spikeextractor object representing traces and gt_sorting been the spikeextractor object representing the spike index of each units.

+

We need first to downloaded in the current directory.

+

Note: this file have a 3D geometry for teh probe. Many sorters work only with 2D. +So here we remove the first dimenssion of "location" in the recording.

+ +
+
+
+
+
+
In [ ]:
+
+
+
# this is a small trick to make the probe geometry planar.
+for chan in rec0.get_channel_ids():
+    loc = rec0.get_channel_property(chan, 'location')
+    rec0.set_channel_property(chan, 'location', loc[1:])
+
+gt_dict = {'rec0' : (rec0, gt_sorting0) }
+
+study = GroundTruthStudy.setup(study_folder, gt_dict)
+
+ +
+
+
+ +
+
+
+
+

Step 2 : run all sorter

This run all sorter on all recording and store the results in a working folder.

+

Note:s prevent

+
    +
  • of course this simple cells take hours to be computed. So when it is done never execute this again.
  • +
  • if a sorter is failing you can launch it again the 'keep' arg prevent recompute again.
  • +
+ +
+
+
+
+
+
In [5]:
+
+
+
# ironclust isleft because the wrapper is buggy and klusta do not scale correctly for 100 chans
+sorter_list = ['tridesclous', 'herdingspikes', 'mountainsort4', 'spykingcircus', 'kilosort', 'kilosort2', 'klusta']
+study = GroundTruthStudy(study_folder)
+study.run_sorters(sorter_list, mode='keep', engine='loop')
+
+ +
+
+
+ +
+
+
+
+

Step3 : collect comparisons

spiketoolkit offer a GroundTruthComparison class that take a gt_sorting and a tested_sorting as input. +This class do:

+
    +
  • match units between GT and tested
  • +
  • count FP/TP/FN/CL
  • +
  • compute the confusion matrix
  • +
  • make some performance table.
  • +
+

When we run a "study", the function aggregate_sorting_comparison collect of all (rec_name, sorter_name) pair and apply the GroundTruthComparison class for each.

+

So we have at once all comparison for all sorter for all recordings. +We can then exploit this to analyse results.

+ +
+
+
+
+
+
In [8]:
+
+
+
study = GroundTruthStudy(study_folder)
+study.run_comparisons(exhaustive_gt=True)
+comparisons = study.comparisons
+
+ +
+
+
+ +
+
+
+
+

plot confusion matrix

The most important but quite verbose step to do is to look at confusion matrix between ground truth and sorter units:

+
    +
  • The Y axis represent the GT units
  • +
  • the X axis represent the detected units.
  • +
  • each value of the matrix count how spike they have in common.
  • +
  • the bottom line is the FalsePositve FP spikes
  • +
  • the left columns is the FalseNegative FN spikes
  • +
+

Unfortunatly this big matrix are very diffuclt to inspect because we have to many units. +By zooming then we can have a clear overviwe on the situation

+

Some rules to interpret this matrix:

+
    +
  • square matrix with evry thing on the diagonal is the perfect situation.
  • +
  • vertical elongatated matrix means, but with a dialog in upper part is +some units are detected some other no
  • +
  • horizontal elongated matrix means, the sorter detect too much units. More than the ground truth. +wich is exhaustive here.
  • +
  • have a look on the FP line and FN columns.
  • +
  • spike out the diagonal is missclassification (CL)
  • +
+

See https://en.wikipedia.org/wiki/Confusion_matrix

+ +
+
+
+
+
+
In [9]:
+
+
+
for (rec_name, sorter_name), comp in comparisons.items():
+    print(rec_name, sorter_name)
+    fig, ax = plt.subplots()
+    comp.plot_confusion_matrix(ax=ax)
+    fig.suptitle(rec_name + ' ' + sorter_name)
+
+ +
+
+
+ +
+
+ + +
+ +
+ + +
+
rec0 klusta
+rec0 kilosort
+rec0 herdingspikes
+rec0 kilosort2
+rec0 spykingcircus
+
+
+
+ +
+ +
+ + +
+
/home/samuel/smb4k/CRNLDATA/home/samuel.garcia/Documents/spiketoolkit/spiketoolkit/comparison/comparisontools.py:365: FutureWarning: elementwise comparison failed; returning scalar instead, but in the future will perform elementwise comparison
+  fp = len(np.where('FP' == lab_st2)[0])
+
+
+
+ +
+ +
+ + +
+
rec0 tridesclous
+
+
+
+ +
+ +
+ + + + +
+ +
+ +
+ +
+ +
+ + + + +
+ +
+ +
+ +
+ +
+ + + + +
+ +
+ +
+ +
+ +
+ + + + +
+ +
+ +
+ +
+ +
+ + + + +
+ +
+ +
+ +
+ +
+ + + + +
+ +
+ +
+ +
+
+ +
+
+
+
+

 print summary and average perf

To summary performence each GroundTruthComparison can print performance and a summary.

+ +
+
+
+
+
+
In [10]:
+
+
+
for (rec_name, sorter_name), comp in comparisons.items():
+    print('*'*40)
+    print(rec_name, sorter_name)
+    print('*'*40)
+    comp.print_summary()
+    comp.print_performance('pooled_with_average')
+
+ +
+
+
+ +
+
+ + +
+ +
+ + +
+
****************************************
+rec0 klusta
+****************************************
+SUMMARY
+GT num_units: 50
+TESTED num_units: 16
+num_well_detected: 0 
+num_redundant: 0
+num_false_positive_units 0
+num_bad: 11
+
+PERFORMANCE
+Method : pooled_with_average
+
+ACCURACY: 6.760951649045929
+RECALL: 7.281469993980179
+PRECISION: 90.9023707826402
+FALSE DISCOVERY RATE: 9.097629217359776
+MISS RATE: 92.71853000601982
+MISS CLASSIFICATION RATE: 0.0
+
+****************************************
+rec0 kilosort
+****************************************
+SUMMARY
+GT num_units: 50
+TESTED num_units: 15
+num_well_detected: 7 
+num_redundant: 0
+num_false_positive_units 0
+num_bad: 4
+
+PERFORMANCE
+Method : pooled_with_average
+
+ACCURACY: 17.937860367153935
+RECALL: 19.906628935907463
+PRECISION: 81.85324699921523
+FALSE DISCOVERY RATE: 18.146753000784763
+MISS RATE: 80.00784471928556
+MISS CLASSIFICATION RATE: 0.09429376178878782
+
+****************************************
+rec0 herdingspikes
+****************************************
+SUMMARY
+GT num_units: 50
+TESTED num_units: 45
+num_well_detected: 12 
+num_redundant: 1
+num_false_positive_units 0
+num_bad: 14
+
+PERFORMANCE
+Method : pooled_with_average
+
+ACCURACY: 53.666574808381675
+RECALL: 57.60635093865014
+PRECISION: 89.70084971300633
+FALSE DISCOVERY RATE: 10.299150286993655
+MISS RATE: 42.14200731055593
+MISS CLASSIFICATION RATE: 1.9814170675782707
+
+****************************************
+rec0 kilosort2
+****************************************
+SUMMARY
+GT num_units: 50
+TESTED num_units: 105
+num_well_detected: 43 
+num_redundant: 3
+num_false_positive_units 2
+num_bad: 59
+
+PERFORMANCE
+Method : pooled_with_average
+
+ACCURACY: 89.74386179176997
+RECALL: 91.73870236725384
+PRECISION: 97.82268336281174
+FALSE DISCOVERY RATE: 2.1773166371882446
+MISS RATE: 8.253687914274183
+MISS CLASSIFICATION RATE: 0.8952850627817011
+
+****************************************
+rec0 spykingcircus
+****************************************
+SUMMARY
+GT num_units: 50
+TESTED num_units: 274
+num_well_detected: 2 
+num_redundant: 2
+num_false_positive_units 62
+num_bad: 252
+
+PERFORMANCE
+Method : pooled_with_average
+
+ACCURACY: 31.449201467399828
+RECALL: 31.589481811652085
+PRECISION: 99.17913518749704
+FALSE DISCOVERY RATE: 0.8208648125029621
+MISS RATE: 68.23179829875691
+MISS CLASSIFICATION RATE: 0.5402547805221579
+
+****************************************
+rec0 tridesclous
+****************************************
+SUMMARY
+GT num_units: 50
+TESTED num_units: 32
+num_well_detected: 18 
+num_redundant: 0
+num_false_positive_units 0
+num_bad: 2
+
+PERFORMANCE
+Method : pooled_with_average
+
+ACCURACY: 53.382813186650466
+RECALL: 59.61566710054671
+PRECISION: 89.47733106743215
+FALSE DISCOVERY RATE: 10.522668932567852
+MISS RATE: 40.38109055483243
+MISS CLASSIFICATION RATE: 0.3352191980119521
+
+
+
+
+ +
+
+ +
+
+
+
+

Step 4 : collect tables

spiketoolkit propos ethe function aggregate_performances_table to concatenate several table of performance.

+

dataframes is a dict that contain several results formated in dataframes:

+
    +
  • run_times : time for computing each one
  • +
  • perf_pooled_with_sum: performance with method pooled_with_sum
  • +
  • perf_pooled_with_average: performance with method pooled_with_average
  • +
  • nb_units_above_threshold: count how many units detect with a treshold on a perf columns.
  • +
  • perf_by_spiketrain: the most convinient one perf at units level
  • +
+ +
+
+
+
+
+
In [11]:
+
+
+
%%capture --no-display
+dataframes = study.aggregate_dataframes()
+
+ +
+
+
+ +
+
+
+
In [13]:
+
+
+
dataframes['perf_pooled_with_average']
+
+ +
+
+
+ +
+
+ + +
+ +
Out[13]:
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
accuracyrecallprecisionfalse_discovery_ratemiss_ratemisclassification_rate
rec_namesorter_name
rec0herdingspikes0.5366660.5760640.8970080.1029920.421420.0198142
klusta0.06760950.07281470.9090240.09097630.9271850
tridesclous0.5338280.5961570.8947730.1052270.4038110.00335219
kilosort0.1793790.1990660.8185320.1814680.8000780.000942938
kilosort20.8974390.9173870.9782270.02177320.08253690.00895285
spykingcircus0.3144920.3158950.9917910.008208650.6823180.00540255
+
+
+ +
+ +
+
+ +
+
+
+
In [14]:
+
+
+
dataframes['count_units']
+
+ +
+
+
+ +
+
+ + +
+ +
Out[14]:
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
num_gtnum_sorternum_well_detectednum_redundantnum_false_positivenum_bad
rec_namesorter_name
rec0herdingspikes5045121014
klusta501600011
tridesclous503218002
kilosort50157004
kilosort250105433259
spykingcircus502742262252
+
+
+ +
+ +
+
+ +
+
+
+
+

Step 5: inspect result by unit

For finer exploration, we can also retrieve for all (rec_name, sorter_name) pair the raw count unit by unit for each sorter.

+

This give a give result for each units of the ground truth.

+ +
+
+
+
+
+
In [15]:
+
+
+
for (rec_name, sorter_name), comp in comparisons.items():
+    print(rec_name, sorter_name)
+    perf = comp.get_performance(method='raw_count')
+    display(perf)
+
+ +
+
+
+ +
+
+ + +
+ +
+ + +
+
rec0 klusta
+
+
+
+ +
+ +
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
tpfnclfpnum_gtnum_testedtested_id
gt_unit_id
00228002280-1
10389003890-1
20410004100-1
30185001850-1
40232002320-1
50234002340-1
60266002660-1
70306003060-1
80300003000-1
90324003240-1
100440004400-1
110369003690-1
120286002860-1
130348003480-1
140317003170-1
150287002870-1
160265002650-1
170307003070-1
180318003180-1
190302003020-1
200506005060-1
210302003020-1
220330003300-1
230244002440-1
240225002250-1
250330003300-1
260289002890-1
270345003450-1
280328003280-1
290356003560-1
300306003060-1
310276002760-1
320244002440-1
330317003170-1
340220002200-1
350258002580-1
360223002230-1
370246002460-1
380163001630-1
390298002980-1
400970009700-1
418052680213107310188
426382690690764417
43658255020291386015
44011430011430-1
456902330192369116
460786007860-1
470695006950-1
48634248008826347
490510005100-1
+
+
+ +
+ +
+ +
+ + +
+
rec0 kilosort
+
+
+
+ +
+ +
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
tpfnclfpnum_gtnum_testedtested_id
gt_unit_id
00228002280-1
10389003890-1
20410004100-1
30185001850-1
40232002320-1
50234002340-1
60266002660-1
70306003060-1
80300003000-1
90324003240-1
100440004400-1
110369003690-1
120286002860-1
130348003480-1
140317003170-1
150287002870-1
160265002650-1
170307003070-1
180318003180-1
190302003020-1
200506005060-1
210302003020-1
220330003300-1
230244002440-1
240225002250-1
250330003300-1
260289002890-1
270345003450-1
280328003280-1
2935510295356652193
300306003060-1
310276002760-1
320244002440-1
330317003170-1
340220002200-1
350258002580-1
360223002230-1
370246002460-1
380163001630-1
390298002980-1
40962710970962172
41107300010731073736
4290520090790553
43087439913913913135
441133100111431134115
45921200923921402
46786005578684141
47688615695693751
488811014882895470
4950271416510920351
+
+
+ +
+ +
+ +
+ + +
+
rec0 herdingspikes
+
+
+
+ +
+ +
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
tpfnclfpnum_gtnum_testedtested_id
gt_unit_id
00228002280-1
1378011143894048
236624201841038816
3184014018522730
423200323223724
52161084223425832
626600826627423
7299432730633510
82860141230031714
90324003240-1
104360484404526
110369003690-1
120286002860-1
1334116634835913
14313044731737912
1522147193428725526
16256542726528820
170307003070-1
1831008931832211
19294441030230717
20491015115065065
212661917630227418
2222774292533025629
230244002440-1
24216453222524825
2525848242233029015
262701182728930719
27320421403453727
283091188832839822
29332915183563549
300306003060-1
310276002760-1
320244002440-1
330317003170-1
340220002200-1
350258002580-1
362120112022324328
370246002460-1
381272883416317334
390298002980-1
400970009700-1
41103520183107310380
4289827129079211
432860518459138643
44011430011430-1
459133729239152
460786007860-1
470695006950-1
48785544378827924
490510005100-1
+
+
+ +
+ +
+ +
+ + +
+
rec0 kilosort2
+
+
+
+ +
+ +
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
tpfnclfpnum_gtnum_testedtested_id
gt_unit_id
02232302282237
138900038938938
240910041040958
318500018518578
423200023223294
523310023423340
626600026626660
730510030630580
830000030030075
932211732433186
10440000440440100
1136702236936952
1228222028628241
1334800034834827
1431700031731835
152870002872886
1626500026526597
173011524930755057
1831710031831715
1930200030230237
2050510050650598
2130110030230189
2232901033032931
230244002440-1
2422500022522554
2521821103330221105
2628900028928920
273430220334564182
2832800132832947
29353030356353101
300306003060-1
3127600027627656
3224310024424366
333121403173130
340220002200-1
350258002580-1
3622300022322362
3724141124624287
3816210016316219
392883712982931
409691009709695
4110712001073107118
4290610090790610
4391210091391226
4411112012131143113693
459212009239218
4678510078678530
4768951069568985
4887930188288044
49508206551057317
+
+
+ +
+ +
+ +
+ + +
+
rec0 spykingcircus
+
+
+
+ +
+ +
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
tpfnclfpnum_gtnum_testedtested_id
gt_unit_id
00228002280-1
126711660389267146
20410004100-1
30185001850-1
4231100232231167
5165672023416514
60266002660-1
70306003060-1
80300003000-1
90324003240-1
104201820440420125
110369003690-1
120286002860-1
13283614034828354
1416914440317172149
1516910996287175178
1614111860265141219
170307003070-1
18268482031826851
190302003020-1
204029311050640240
21213827030221335
220330003300-1
230244002440-1
240225002250-1
251881375633019436
260289002890-1
270345003450-1
2821910540328219107
290356003560-1
300306003060-1
310276002760-1
320244002440-1
33211104253172180
340220002200-1
350258002580-1
362071600223207109
371549200246154266
380163001630-1
39195101262982042
400970009700-1
41010730010730-1
4271717317090771791
4377113840913771137
4469044948114370079
450923009230-1
46466304162578649153
470695006950-1
48458402220882458148
490510005100-1
+
+
+ +
+ +
+ +
+ + +
+
rec0 tridesclous
+
+
+
+ +
+ +
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
tpfnclfpnum_gtnum_testedtested_id
gt_unit_id
00228002280-1
13872013893900
20410004100-1
31841001851893
42320002322321
523400523424122
62651002662652
730402230631110
82892922130051118
90324003240-1
104370304404384
110369003690-1
120286002860-1
133451203483456
140317003170-1
150287002870-1
162631102652647
170307003070-1
1831431031831424
192983103022989
2049538250649812
2129831830230627
220330003300-1
230244002440-1
2422410022522413
250330003300-1
26286212528931220
27342123134538219
283271014532847223
2934411112635647217
300306003060-1
310276002760-1
320244002440-1
330317003170-1
340220002200-1
350258002580-1
360223002230-1
370246002460-1
38163007316324716
390298002980-1
40951811504970145629
411072012107310745
4290511090790514
4390832091390815
4411211576111143173731
4591832092391811
467661649778686328
4765232114869571026
4887192652882152325
495081122351073530
+
+
+ +
+ +
+
+ +
+
+
+
In [16]:
+
+
+
for (rec_name, sorter_name), comp in comparisons.items():
+    print(rec_name, sorter_name)
+    perf = comp.get_performance(method='by_unit')
+    display(perf)
+
+ +
+
+
+ +
+
+ + +
+ +
+ + +
+
rec0 klusta
+
+
+
+ +
+ +
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
accuracyrecallprecisionfalse_discovery_ratemiss_ratemisclassification_rate
gt_unit_id
00.0000000.000000NaNNaN1.0000000.0
10.0000000.000000NaNNaN1.0000000.0
20.0000000.000000NaNNaN1.0000000.0
30.0000000.000000NaNNaN1.0000000.0
40.0000000.000000NaNNaN1.0000000.0
50.0000000.000000NaNNaN1.0000000.0
60.0000000.000000NaNNaN1.0000000.0
70.0000000.000000NaNNaN1.0000000.0
80.0000000.000000NaNNaN1.0000000.0
90.0000000.000000NaNNaN1.0000000.0
100.0000000.000000NaNNaN1.0000000.0
110.0000000.000000NaNNaN1.0000000.0
120.0000000.000000NaNNaN1.0000000.0
130.0000000.000000NaNNaN1.0000000.0
140.0000000.000000NaNNaN1.0000000.0
150.0000000.000000NaNNaN1.0000000.0
160.0000000.000000NaNNaN1.0000000.0
170.0000000.000000NaNNaN1.0000000.0
180.0000000.000000NaNNaN1.0000000.0
190.0000000.000000NaNNaN1.0000000.0
200.0000000.000000NaNNaN1.0000000.0
210.0000000.000000NaNNaN1.0000000.0
220.0000000.000000NaNNaN1.0000000.0
230.0000000.000000NaNNaN1.0000000.0
240.0000000.000000NaNNaN1.0000000.0
250.0000000.000000NaNNaN1.0000000.0
260.0000000.000000NaNNaN1.0000000.0
270.0000000.000000NaNNaN1.0000000.0
280.0000000.000000NaNNaN1.0000000.0
290.0000000.000000NaNNaN1.0000000.0
300.0000000.000000NaNNaN1.0000000.0
310.0000000.000000NaNNaN1.0000000.0
320.0000000.000000NaNNaN1.0000000.0
330.0000000.000000NaNNaN1.0000000.0
340.0000000.000000NaNNaN1.0000000.0
350.0000000.000000NaNNaN1.0000000.0
360.0000000.000000NaNNaN1.0000000.0
370.0000000.000000NaNNaN1.0000000.0
380.0000000.000000NaNNaN1.0000000.0
390.0000000.000000NaNNaN1.0000000.0
400.0000000.000000NaNNaN1.0000000.0
410.6259720.7502330.7907660.2092340.2497670.0
420.6987950.7034180.9906830.0093170.2965820.0
430.5901350.7207010.7651160.2348840.2792990.0
440.0000000.000000NaNNaN1.0000000.0
450.7467530.7475620.9985530.0014470.2524380.0
460.0000000.000000NaNNaN1.0000000.0
470.0000000.000000NaNNaN1.0000000.0
480.7188210.7188211.0000000.0000000.2811790.0
490.0000000.000000NaNNaN1.0000000.0
+
+
+ +
+ +
+ +
+ + +
+
rec0 kilosort
+
+
+
+ +
+ +
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
accuracyrecallprecisionfalse_discovery_ratemiss_ratemisclassification_rate
gt_unit_id
00.0000000.000000NaNNaN1.0000000.000000
10.0000000.000000NaNNaN1.0000000.000000
20.0000000.000000NaNNaN1.0000000.000000
30.0000000.000000NaNNaN1.0000000.000000
40.0000000.000000NaNNaN1.0000000.000000
50.0000000.000000NaNNaN1.0000000.000000
60.0000000.000000NaNNaN1.0000000.000000
70.0000000.000000NaNNaN1.0000000.000000
80.0000000.000000NaNNaN1.0000000.000000
90.0000000.000000NaNNaN1.0000000.000000
100.0000000.000000NaNNaN1.0000000.000000
110.0000000.000000NaNNaN1.0000000.000000
120.0000000.000000NaNNaN1.0000000.000000
130.0000000.000000NaNNaN1.0000000.000000
140.0000000.000000NaNNaN1.0000000.000000
150.0000000.000000NaNNaN1.0000000.000000
160.0000000.000000NaNNaN1.0000000.000000
170.0000000.000000NaNNaN1.0000000.000000
180.0000000.000000NaNNaN1.0000000.000000
190.0000000.000000NaNNaN1.0000000.000000
200.0000000.000000NaNNaN1.0000000.000000
210.0000000.000000NaNNaN1.0000000.000000
220.0000000.000000NaNNaN1.0000000.000000
230.0000000.000000NaNNaN1.0000000.000000
240.0000000.000000NaNNaN1.0000000.000000
250.0000000.000000NaNNaN1.0000000.000000
260.0000000.000000NaNNaN1.0000000.000000
270.0000000.000000NaNNaN1.0000000.000000
280.0000000.000000NaNNaN1.0000000.000000
290.5453150.9971910.5461540.4538460.0028090.000000
300.0000000.000000NaNNaN1.0000000.000000
310.0000000.000000NaNNaN1.0000000.000000
320.0000000.000000NaNNaN1.0000000.000000
330.0000000.000000NaNNaN1.0000000.000000
340.0000000.000000NaNNaN1.0000000.000000
350.0000000.000000NaNNaN1.0000000.000000
360.0000000.000000NaNNaN1.0000000.000000
370.0000000.000000NaNNaN1.0000000.000000
380.0000000.000000NaNNaN1.0000000.000000
390.0000000.000000NaNNaN1.0000000.000000
400.9927760.9927761.0000000.0000000.0072160.001031
411.0000001.0000001.0000000.0000000.0000000.000000
420.9977950.9977951.0000000.0000000.0022050.000000
430.0000000.0000000.0000001.0000000.9572840.042716
440.9903850.9912510.9991180.0008820.0087490.000000
450.9978330.9978331.0000000.0000000.0021670.000000
460.9346021.0000000.9346020.0653980.0000000.000000
470.9842630.9913540.9927850.0072150.0086330.001439
480.9832590.9988660.9843580.0156420.0011340.000000
490.5427030.9862480.5468410.4531590.0137250.001961
+
+
+ +
+ +
+ +
+ + +
+
rec0 herdingspikes
+
+
+
+ +
+ +
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
accuracyrecallprecisionfalse_discovery_ratemiss_ratemisclassification_rate
gt_unit_id
00.0000000.000000NaNNaN1.0000000.000000
10.9642861.0000000.9642860.0357140.0000000.028278
20.8970590.9384620.9531250.0468750.0585370.048780
30.8214291.0000000.8214290.1785710.0000000.005405
40.9872341.0000000.9872340.0127660.0000000.000000
50.8059700.9557520.8372090.1627910.0427350.034188
60.9708031.0000000.9708030.0291970.0000000.000000
70.9060610.9867990.9171780.0828220.0130720.009804
80.9597321.0000000.9597320.0402680.0000000.046667
90.0000000.000000NaNNaN1.0000000.000000
100.9819821.0000000.9819820.0180180.0000000.009091
110.0000000.000000NaNNaN1.0000000.000000
120.0000000.000000NaNNaN1.0000000.000000
130.9798850.9970760.9827090.0172910.0028740.017241
140.8694441.0000000.8694440.1305560.0000000.012618
150.7317880.8246270.8666670.1333330.1637630.066202
160.8888890.9808430.9045940.0954060.0188680.015094
170.0000000.000000NaNNaN1.0000000.000000
180.9717871.0000000.9717870.0282130.0000000.025157
190.9545450.9865770.9671050.0328950.0132450.013245
200.9780881.0000000.9780880.0219120.0000000.029644
210.9140890.9333330.9779410.0220590.0629140.056291
220.6963190.7541530.9007940.0992060.2242420.087879
230.0000000.000000NaNNaN1.0000000.000000
240.8571430.9818180.8709680.1290320.0177780.022222
250.7865850.8431370.9214290.0785710.1454550.072727
260.8766230.9608540.9090910.0909090.0380620.027682
270.8791210.9876540.8888890.1111110.0115940.060870
280.7573530.9656250.7783380.2216620.0335370.024390
290.9247910.9736070.9485710.0514290.0252810.042135
300.0000000.000000NaNNaN1.0000000.000000
310.0000000.000000NaNNaN1.0000000.000000
320.0000000.000000NaNNaN1.0000000.000000
330.0000000.000000NaNNaN1.0000000.000000
340.0000000.000000NaNNaN1.0000000.000000
350.0000000.000000NaNNaN1.0000000.000000
360.9137931.0000000.9137930.0862070.0000000.049327
370.0000000.000000NaNNaN1.0000000.000000
380.6719580.8193550.7888200.2111800.1717790.049080
390.0000000.000000NaNNaN1.0000000.000000
400.0000000.000000NaNNaN1.0000000.000000
410.9782610.9810430.9971100.0028900.0186390.016775
420.9846490.9977780.9868130.0131870.0022050.007718
430.0011720.0023200.0023610.9976390.9419500.055860
440.0000000.000000NaNNaN1.0000000.000000
450.9945530.9967250.9978140.0021860.0032500.007584
460.0000000.000000NaNNaN1.0000000.000000
470.0000000.000000NaNNaN1.0000000.000000
480.9278960.9356380.9911620.0088380.0612240.048753
490.0000000.000000NaNNaN1.0000000.000000
+
+
+ +
+ +
+ +
+ + +
+
rec0 kilosort2
+
+
+
+ +
+ +
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
accuracyrecallprecisionfalse_discovery_ratemiss_ratemisclassification_rate
gt_unit_id
00.9911110.9911111.0000000.0000000.0087720.013158
11.0000001.0000001.0000000.0000000.0000000.000000
20.9975610.9975611.0000000.0000000.0024390.000000
31.0000001.0000001.0000000.0000000.0000000.000000
41.0000001.0000001.0000000.0000000.0000000.000000
50.9957260.9957261.0000000.0000000.0042740.000000
61.0000001.0000001.0000000.0000000.0000000.000000
70.9967320.9967321.0000000.0000000.0032680.000000
81.0000001.0000001.0000000.0000000.0000000.000000
90.9757580.9969040.9787230.0212770.0030860.003086
101.0000001.0000001.0000000.0000000.0000000.000000
110.9945801.0000000.9945800.0054200.0000000.005420
120.9929580.9929581.0000000.0000000.0069930.006993
131.0000001.0000001.0000000.0000000.0000000.000000
141.0000001.0000001.0000000.0000000.0000000.000000
151.0000001.0000001.0000000.0000000.0000000.000000
161.0000001.0000001.0000000.0000000.0000000.000000
170.5462790.9966890.5472730.4527270.0032570.016287
180.9968550.9968551.0000000.0000000.0031450.000000
191.0000001.0000001.0000000.0000000.0000000.000000
200.9980240.9980241.0000000.0000000.0019760.000000
210.9966890.9966891.0000000.0000000.0033110.000000
221.0000001.0000001.0000000.0000000.0000000.003030
230.0000000.000000NaNNaN1.0000000.000000
241.0000001.0000001.0000000.0000000.0000000.000000
250.9775780.9909090.9864250.0135750.0060610.333333
261.0000001.0000001.0000000.0000000.0000000.000000
270.6282051.0000000.6282050.3717950.0000000.005797
280.9969601.0000000.9969600.0030400.0000000.000000
291.0000001.0000001.0000000.0000000.0000000.008427
300.0000000.000000NaNNaN1.0000000.000000
311.0000001.0000001.0000000.0000000.0000000.000000
320.9959020.9959021.0000000.0000000.0040980.000000
330.9968050.9968051.0000000.0000000.0031550.012618
340.0000000.000000NaNNaN1.0000000.000000
350.0000000.000000NaNNaN1.0000000.000000
361.0000001.0000001.0000000.0000000.0000000.000000
370.9796750.9836730.9958680.0041320.0162600.004065
380.9938650.9938651.0000000.0000000.0061350.000000
390.9863010.9896910.9965400.0034600.0100670.023490
400.9989690.9989691.0000000.0000000.0010310.000000
410.9981360.9981361.0000000.0000000.0018640.000000
420.9988970.9988971.0000000.0000000.0011030.000000
430.9989050.9989051.0000000.0000000.0010950.000000
440.9711540.9823170.9884340.0115660.0174980.010499
450.9978330.9978331.0000000.0000000.0021670.000000
460.9987280.9987281.0000000.0000000.0012720.000000
470.9927950.9927951.0000000.0000000.0071940.001439
480.9954700.9965990.9988640.0011360.0034010.000000
490.8834780.9960780.8865620.1134380.0039220.000000
+
+
+ +
+ +
+ +
+ + +
+
rec0 spykingcircus
+
+
+
+ +
+ +
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
accuracyrecallprecisionfalse_discovery_ratemiss_ratemisclassification_rate
gt_unit_id
00.0000000.000000NaNNaN1.0000000.000000
10.6971280.6971281.0000000.0000000.2982010.015424
20.0000000.000000NaNNaN1.0000000.000000
30.0000000.000000NaNNaN1.0000000.000000
40.9956900.9956901.0000000.0000000.0043100.000000
50.7112070.7112071.0000000.0000000.2863250.008547
60.0000000.000000NaNNaN1.0000000.000000
70.0000000.000000NaNNaN1.0000000.000000
80.0000000.000000NaNNaN1.0000000.000000
90.0000000.000000NaNNaN1.0000000.000000
100.9589040.9589041.0000000.0000000.0409090.004545
110.0000000.000000NaNNaN1.0000000.000000
120.0000000.000000NaNNaN1.0000000.000000
130.8226740.8226741.0000000.0000000.1752870.011494
140.5399360.5399361.0000000.0000000.4542590.012618
150.5950700.6079140.9657140.0342860.3797910.031359
160.5444020.5444021.0000000.0000000.4452830.022642
170.0000000.000000NaNNaN1.0000000.000000
180.8481010.8481011.0000000.0000000.1509430.006289
190.0000000.000000NaNNaN1.0000000.000000
200.8121210.8121211.0000000.0000000.1837940.021739
210.7220340.7220341.0000000.0000000.2715230.023179
220.0000000.000000NaNNaN1.0000000.000000
230.0000000.000000NaNNaN1.0000000.000000
240.0000000.000000NaNNaN1.0000000.000000
250.5679760.5784620.9690720.0309280.4151520.015152
260.0000000.000000NaNNaN1.0000000.000000
270.0000000.000000NaNNaN1.0000000.000000
280.6759260.6759261.0000000.0000000.3201220.012195
290.0000000.000000NaNNaN1.0000000.000000
300.0000000.000000NaNNaN1.0000000.000000
310.0000000.000000NaNNaN1.0000000.000000
320.0000000.000000NaNNaN1.0000000.000000
330.6593750.6698410.9768520.0231480.3280760.006309
340.0000000.000000NaNNaN1.0000000.000000
350.0000000.000000NaNNaN1.0000000.000000
360.9282510.9282511.0000000.0000000.0717490.000000
370.6260160.6260161.0000000.0000000.3739840.000000
380.0000000.000000NaNNaN1.0000000.000000
390.6456950.6587840.9701490.0298510.3389260.006711
400.0000000.000000NaNNaN1.0000000.000000
410.0000000.000000NaNNaN1.0000000.000000
420.8056180.8056181.0000000.0000000.1907390.018743
430.8481850.8481851.0000000.0000000.1511500.004381
440.6015690.6057950.9885390.0114610.3928260.003500
450.0000000.000000NaNNaN1.0000000.000000
460.5861640.6051950.9490840.0509160.3867680.020356
470.0000000.000000NaNNaN1.0000000.000000
480.5325580.5325581.0000000.0000000.4557820.024943
490.0000000.000000NaNNaN1.0000000.000000
+
+
+ +
+ +
+ +
+ + +
+
rec0 tridesclous
+
+
+
+ +
+ +
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
accuracyrecallprecisionfalse_discovery_ratemiss_ratemisclassification_rate
gt_unit_id
00.0000000.000000NaNNaN1.0000000.000000
10.9923080.9948590.9974230.0025770.0051410.000000
20.0000000.000000NaNNaN1.0000000.000000
30.9945950.9945951.0000000.0000000.0054050.000000
41.0000001.0000001.0000000.0000000.0000000.000000
50.9790791.0000000.9790790.0209210.0000000.000000
60.9962410.9962411.0000000.0000000.0037590.000000
70.9934641.0000000.9934640.0065360.0000000.006536
80.5644530.9931270.5666670.4333330.0066670.030000
90.0000000.000000NaNNaN1.0000000.000000
101.0000001.0000001.0000000.0000000.0000000.006818
110.0000000.000000NaNNaN1.0000000.000000
120.0000000.000000NaNNaN1.0000000.000000
130.9971100.9971101.0000000.0000000.0028740.005747
140.0000000.000000NaNNaN1.0000000.000000
150.0000000.000000NaNNaN1.0000000.000000
160.9962120.9962121.0000000.0000000.0037740.003774
170.0000000.000000NaNNaN1.0000000.000000
180.9905360.9905361.0000000.0000000.0094340.003145
190.9900330.9900331.0000000.0000000.0099340.003311
200.9900000.9939760.9959760.0040240.0059290.015810
210.9644010.9900330.9738560.0261440.0099340.003311
220.0000000.000000NaNNaN1.0000000.000000
230.0000000.000000NaNNaN1.0000000.000000
240.9955560.9955561.0000000.0000000.0044440.000000
250.0000000.000000NaNNaN1.0000000.000000
260.9137380.9930560.9196140.0803860.0069200.003460
270.9144390.9970850.9168900.0831100.0028990.005797
280.6913320.9969510.6927970.3072030.0030490.000000
290.7303610.9971010.7319150.2680850.0028090.030899
300.0000000.000000NaNNaN1.0000000.000000
310.0000000.000000NaNNaN1.0000000.000000
320.0000000.000000NaNNaN1.0000000.000000
330.0000000.000000NaNNaN1.0000000.000000
340.0000000.000000NaNNaN1.0000000.000000
350.0000000.000000NaNNaN1.0000000.000000
360.0000000.000000NaNNaN1.0000000.000000
370.0000000.000000NaNNaN1.0000000.000000
380.6906781.0000000.6906780.3093220.0000000.000000
390.0000000.000000NaNNaN1.0000000.000000
400.6500340.9916580.6536080.3463920.0082470.011340
410.9981381.0000000.9981380.0018620.0000000.000932
420.9988960.9988961.0000000.0000000.0011030.001103
430.9967070.9967071.0000000.0000000.0032860.002191
440.6416710.9867960.6472290.3527710.0131230.006124
450.9967430.9967431.0000000.0000000.0032500.002167
460.8714450.9795400.8876010.1123990.0203560.005089
470.8907100.9532160.9314290.0685710.0460430.015827
480.5685380.9897730.5718980.4281020.0102040.002268
490.6939890.9980350.6949380.3050620.0019610.001961
+
+
+ +
+ +
+
+ +
+
+
+
+

Step 6 : easy plot with seaborn

With the seaborn package, it is very easy to summary with plot dataframes.

+

Here some basic example for performances and run times.

+ +
+
+
+
+
+
+

Run times

Run times is not plotted here because it has been lauch on several machine.

+ +
+
+
+
+
+
In [17]:
+
+
+
run_times = dataframes['run_times']
+fig, ax = plt.subplots()
+sns.barplot(data=run_times, x='rec_name', y='run_time', hue='sorter_name', ax=ax)
+ax.set_title('Run times (s)')
+
+ +
+
+
+ +
+
+ + +
+ +
Out[17]:
+ + + + +
+
Text(0.5, 1.0, 'Run times (s)')
+
+ +
+ +
+ +
+ + + + +
+ +
+ +
+ +
+
+ +
+
+
+
+

By unit

The more convinient dataframes is 'perf_by_spiketrain'.

+

Here we plot for each sorter the accuracy for each units in the ground truth.

+ +
+
+
+
+
+
In [18]:
+
+
+
perfs = dataframes['perf_by_unit']
+fig, ax = plt.subplots()
+g = sns.swarmplot(data=perfs, x='sorter_name', y='accuracy', hue='sorter_name', ax=ax)
+g.legend(loc='center right', bbox_to_anchor=(1.5, 0.5))
+
+ +
+
+
+ +
+
+ + +
+ +
Out[18]:
+ + + + +
+
<matplotlib.legend.Legend at 0x7f27d14830f0>
+
+ +
+ +
+ +
+ + + + +
+ +
+ +
+ +
+
+ +
+
+
+
+

Accuracy average

Here is the plot of the accuracy with the sum method for pooling results.

+ +
+
+
+
+
+
In [20]:
+
+
+
perfs = dataframes['perf_pooled_with_average']
+fig, ax = plt.subplots()
+g = sns.barplot(data=perfs, x='rec_name', y='accuracy', hue='sorter_name', ax=ax)
+g.legend(loc='center right', bbox_to_anchor=(1.5, 0.5))
+ax.set_title('accuracy - with pool average')
+ax.set_ylim(0, 1)
+
+ +
+
+
+ +
+
+ + +
+ +
Out[20]:
+ + + + +
+
(0, 1)
+
+ +
+ +
+ +
+ + + + +
+ +
+ +
+ +
+
+ +
+
+
+
+

accuracy vs SNR

Here a plot to see if the high SNR make better accuracy.

+ +
+
+
+
+
+
In [21]:
+
+
+
# insert snr columns
+perfs = dataframes['perf_by_spiketrain']
+perfs['snr'] = perfs['gt_unit_id'].apply(lambda id: snr.loc[id])
+
+grid = sns.FacetGrid(perfs, hue='sorter_name', col='sorter_name', col_wrap=3)
+grid.map(plt.plot, 'snr', 'accuracy', marker="o", ls='None')
+
+ +
+
+
+ +
+
+ + +
+ +
Out[21]:
+ + + + +
+
<seaborn.axisgrid.FacetGrid at 0x7f27d1470d30>
+
+ +
+ +
+ +
+ + + + +
+ +
+ +
+ +
+
+ +
+
+
+
+

How many units detected above threshold

The very end question for an experimentalist using software for spike sorting would be, how many cells is it able to detect correctly ? +One anwser could be cells with accuracy above a threshold.

+

For instance here we count how many cells above 0.95 the sorter is able to detect.

+

The max is 50 cells.

+ +
+
+
+
+
+
In [22]:
+
+
+
perfs = dataframes['count_units']
+
+fig, ax = plt.subplots()
+ax = sns.barplot(data=perfs, x='rec_name', y='num_well_detected', hue='sorter_name', ax=ax)
+ax.set_ylim(0, 51)
+ax.axhline(50, ls='--', color='red')
+
+ +
+
+
+ +
+
+ + +
+ +
Out[22]:
+ + + + +
+
<matplotlib.lines.Line2D at 0x7f27d1143c18>
+
+ +
+ +
+ +
+ + + + +
+ +
+ +
+ +
+
+ +
+
+
+
+

How many units should not be detected at all

Here we count "bad_units" meaning how many units detected to not match any units in the GT.

+

here clearly all sorter using template matching have problems of over detecting.

+

bad_units can be split in 2 category:

+
    +
  • false positive units
  • +
  • redundant detection (units is detected twice or more)
  • +
+ +
+
+
+
+
+
In [23]:
+
+
+
perfs = dataframes['count_units']
+
+fig, ax = plt.subplots()
+ax = sns.barplot(data=perfs, x='rec_name', y='num_bad', hue='sorter_name', ax=ax)
+ax.axhline(50, ls='--', color='red')
+
+ +
+
+
+ +
+
+ + +
+ +
Out[23]:
+ + + + +
+
<matplotlib.lines.Line2D at 0x7f27d10bab70>
+
+ +
+ +
+ +
+ + + + +
+ +
+ +
+ +
+
+ +
+
+
+
+

False positive units

+
+
+
+
+
+
In [24]:
+
+
+
perfs = dataframes['count_units']
+
+fig, ax = plt.subplots()
+ax = sns.barplot(data=perfs, x='rec_name', y='num_false_positive', hue='sorter_name', ax=ax)
+ax.axhline(50, ls='--', color='red')
+
+ +
+
+
+ +
+
+ + +
+ +
Out[24]:
+ + + + +
+
<matplotlib.lines.Line2D at 0x7f27d1039eb8>
+
+ +
+ +
+ +
+ + + + +
+ +
+ +
+ +
+
+ +
+
+
+
+

redundant detection

Here we count how many units are detected twice or more.

+

Here again sorter based on template matching have a weakness they produce to much units.

+ +
+
+
+
+
+
In [25]:
+
+
+
perfs = dataframes['count_units']
+
+fig, ax = plt.subplots()
+ax = sns.barplot(data=perfs, x='rec_name', y='num_redundant', hue='sorter_name', ax=ax)
+ax.axhline(50, ls='--', color='red')
+
+ +
+
+
+ +
+
+ + +
+ +
Out[25]:
+ + + + +
+
<matplotlib.lines.Line2D at 0x7f27d0fc27f0>
+
+ +
+ +
+ +
+ + + + +
+ +
+ +
+ +
+
+ +
+
+
+
+

Conlusion

Comparing sorter is not trivial at all. +Counting true positive spike is not enough. +We also take in account at units level :

+
    +
  • FN with recall
  • +
  • FP with precision
  • +
  • FN and FP with accuracy
  • +
  • CL msiclaification
  • +
+

But we also need to look at:

+
    +
  • fakse positive units
  • +
  • redundant detection
  • +
+ +
+
+
+
+
+
In [ ]:
+
+
+
 
+
+ +
+
+
+ +
+
+
+ + + + + + diff --git a/MEArec_SqMEA1015/sorter_comparison.ipynb b/MEArec_SqMEA1015/sorter_comparison.ipynb new file mode 100644 index 0000000..d54791c --- /dev/null +++ b/MEArec_SqMEA1015/sorter_comparison.ipynb @@ -0,0 +1,8745 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Compare sorters with some dataset generated with MEArec\n", + "\n", + "@author : Samuel Garcia\n", + "\n", + "Alessio Paolo Buccino author of [MEArec](https://github.com/alejoe91/MEArec) have generated a dataset with ground truth. The simulated probe is **SqMEA-10-15**.\n", + "\n", + "It is a very dense probe. The duration is 60s.\n", + "\n", + "The file **recordings_50cells_SqMEA-10-15um_60.0_10.0uV_27-03-2019_13_31.h5** is (will be) freely downloadable to reproduce results.\n", + "\n", + "This notebook is is demonstration of the spiketoolkit ground truth comparison framework.\n", + "It launch several popular sorter on this recording and compute some performence metrics.\n", + "\n", + "The goal of this is **not** to rank sorter because some have then have certainly non optimal parameters for this particular dataset. The goal is to explore strength but mainly weekness of each sorters.\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import time\n", + "\n", + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "\n", + "import spiketoolkit as st\n", + "import spikeextractors as se\n", + "from spiketoolkit.study import GroundTruthStudy\n", + "\n", + "import MEAutility as mu\n", + "import MEArec as mr\n", + "\n", + "# %matplotlib notebook\n", + "%matplotlib inline\n", + "plt.rcParams['figure.figsize'] = [12, 8]" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "# p = '/media/samuel/SamCNRS/DataSpikeSorting/mearec/'\n", + "p = './'\n", + "# p = '/media/samuel/dataspikesorting/DataSpikeSortingHD2/mearec/'\n", + "\n", + "study_folder = p + 'study_mearec'\n", + "\n", + "mearec_filename = p + 'recordings_50cells_SqMEA-10-15um_60.0_10.0uV_27-03-2019_13_31.h5'" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "rec0 = se.MEArecRecordingExtractor(mearec_filename, locs_2d=False)\n", + "gt_sorting0 = se.MEArecSortingExtractor(mearec_filename)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Inspect the dataset\n", + "\n", + "Before, making the dataset lets explore probe geometry and grdound truth templates.\n", + "\n", + "The signal are simulated using [MEArec](https://github.com/alejoe91/MEArec) written by Alessio Buccino.\n", + "\n", + " * It is a **very dense** probe using the shape **SqMEA-10-15**.\n", + " * The probe have 10 X 10 channels.\n", + " * There are **50** templates = **50** ground truth units.\n", + " * As the array is dense, template have a high spatial definition and redundency.\n", + "\n", + "\n", + "MEAutility and MEArec offer easy to use plotting functions." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Probe" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# load the mearec file\n", + "recgen = mr.load_recordings(mearec_filename)" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5,1,'SqMEA-10-15um')" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# plot the probe\n", + "probe_info = recgen.info['electrodes']\n", + "probe_name = recgen.info['electrodes']['electrode_name']\n", + "mea = mu.return_mea(info=probe_info)\n", + "fig, ax = plt.subplots()\n", + "mu.plot_probe(mea, ax=ax)\n", + "ax.set_title(probe_name)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Some ground truth templates\n", + "\n", + "Here a selection of 12 template out of 50." + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, axs = plt.subplots(nrows=3, ncols=4)\n", + "for i, unit_id in enumerate(gt_sorting0.get_unit_ids()[:12]):\n", + " ax = axs.flatten()[i]\n", + " mr.plot_templates(recgen, template_ids=unit_id, ax=ax)\n", + " ax.set_title('unit #{}'.format(unit_id))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Compute template SNR\n", + "\n", + "Spiketookit have utilities to compute the peak of each template.\n", + "This is quite long so we save the results into a datataframe with xlsx format.\n", + "\n", + "For the peak SNR is done as follow:\n", + " * compute the median template with the ground truth indexes\n", + " * detect where is the max channel.\n", + " * get the peak amplitude\n", + " * compute the MAD on the filtered signals on a fraction of the signal.\n", + " * **snr = peak_amplitude / mad_of_the_channel**\n", + "\n", + "\n", + "On the following figures we can see that for the 500 units the SNR is between 3 and 19.\n", + "\n", + "lets do the prediction that units with SNR of 3 will be \"hard\" to detect and sort :).\n" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [], + "source": [ + "snr = st.validation.compute_unit_SNR(rec0, gt_sorting0)\n", + "snr = pd.Series(snr, index=gt_sorting0.get_unit_ids())\n", + "snr.name = 'snr'\n", + "pd.DataFrame(snr).to_excel(p + 'units_snr.xlsx')" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/samuel/.virtualenvs/py36/lib/python3.6/site-packages/xlrd/xlsx.py:266: PendingDeprecationWarning: This method will be removed in future versions. Use 'tree.iter()' or 'list(tree.iter())' instead.\n", + " for elem in self.tree.iter() if Element_has_iter else self.tree.getiterator():\n", + "/home/samuel/.virtualenvs/py36/lib/python3.6/site-packages/xlrd/xlsx.py:312: PendingDeprecationWarning: This method will be removed in future versions. Use 'tree.iter()' or 'list(tree.iter())' instead.\n", + " for elem in self.tree.iter() if Element_has_iter else self.tree.getiterator():\n" + ] + } + ], + "source": [ + "snr = pd.read_excel(p + 'units_snr.xlsx', index_col=0)['snr']" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 0, 'SNR of peak')" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots()\n", + "ax.hist(snr, bins=50)\n", + "ax.set_title('Units SNR for best peak')\n", + "ax.set_xlabel('SNR of peak')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Step 1 : setup study folder\n", + "\n", + "The function **setup_comparison_study** of spiketoolkit create a \"study folder\" with evrything copied inside.\n", + "The input is a dict of (recording + gt_sorting). Recording been the spikeextractor object representing traces and gt_sorting been the spikeextractor object representing the spike index of each units.\n", + "\n", + "\n", + "We need first to downloaded in the current directory.\n", + "\n", + "Note: this file have a 3D geometry for teh probe. Many sorters work only with 2D.\n", + "So here we remove the first dimenssion of \"location\" in the recording.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "# this is a small trick to make the probe geometry planar.\n", + "for chan in rec0.get_channel_ids():\n", + " loc = rec0.get_channel_property(chan, 'location')\n", + " rec0.set_channel_property(chan, 'location', loc[1:])\n", + "\n", + "gt_dict = {'rec0' : (rec0, gt_sorting0) }\n", + "\n", + "study = GroundTruthStudy.setup(study_folder, gt_dict)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Step 2 : run all sorter\n", + "\n", + "This run all sorter on all recording and store the results in a working folder.\n", + "\n", + "Note:s prevent \n", + " * of course this simple cells take hours to be computed. So when it is done never execute this again.\n", + " * if a sorter is failing you can launch it again the 'keep' arg prevent recompute again.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "# ironclust isleft because the wrapper is buggy and klusta do not scale correctly for 100 chans\n", + "sorter_list = ['tridesclous', 'herdingspikes', 'mountainsort4', 'spykingcircus', 'kilosort', 'kilosort2', 'klusta']\n", + "study = GroundTruthStudy(study_folder)\n", + "study.run_sorters(sorter_list, mode='keep', engine='loop')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Step3 : collect comparisons\n", + "\n", + "spiketoolkit offer a GroundTruthComparison class that take a gt_sorting and a tested_sorting as input.\n", + "This class do:\n", + " * match units between GT and tested\n", + " * count FP/TP/FN/CL\n", + " * compute the confusion matrix\n", + " * make some performance table.\n", + "\n", + "When we run a \"study\", the function **aggregate_sorting_comparison** collect of all **(rec_name, sorter_name)** pair and apply the GroundTruthComparison class for each.\n", + "\n", + "So we have at once all comparison for all sorter for all recordings.\n", + "We can then exploit this to analyse results." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "study = GroundTruthStudy(study_folder)\n", + "study.run_comparisons(exhaustive_gt=True)\n", + "comparisons = study.comparisons" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## plot confusion matrix\n", + "\n", + "The most important but quite verbose step to do is to look at confusion matrix between ground truth and sorter units:\n", + " * The Y axis represent the GT units\n", + " * the X axis represent the detected units.\n", + " * each value of the matrix count how spike they have in common.\n", + " * the bottom line is the FalsePositve FP spikes\n", + " * the left columns is the FalseNegative FN spikes\n", + "\n", + "Unfortunatly this big matrix are very diffuclt to inspect because we have to many units.\n", + "By zooming then we can have a clear overviwe on the situation\n", + "\n", + "Some rules to interpret this matrix:\n", + " * square matrix with evry thing on the diagonal is the perfect situation.\n", + " * vertical elongatated matrix means, but with a dialog in upper part is\n", + " some units are detected some other no\n", + " * horizontal elongated matrix means, the sorter detect too much units. More than the ground truth.\n", + " wich is exhaustive here.\n", + " * have a look on the FP line and FN columns.\n", + " * spike out the diagonal is missclassification (CL)\n", + "\n", + "\n", + "See https://en.wikipedia.org/wiki/Confusion_matrix\n" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "rec0 klusta\n", + "rec0 kilosort\n", + "rec0 herdingspikes\n", + "rec0 kilosort2\n", + "rec0 spykingcircus\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/samuel/smb4k/CRNLDATA/home/samuel.garcia/Documents/spiketoolkit/spiketoolkit/comparison/comparisontools.py:365: FutureWarning: elementwise comparison failed; returning scalar instead, but in the future will perform elementwise comparison\n", + " fp = len(np.where('FP' == lab_st2)[0])\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "rec0 tridesclous\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAQYAAAErCAYAAAA8By3UAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nOydd1gUVxeH36EKKKACAlZidOxItyAiKvausUXsUWNMop8lRRONGmPvJRpjL9HYe2+ooCB2HQUVAbGLUqXt98fsEnpv6r7P4yO7M3PvubPLZe655/yOoFAoUKNGjZrkaBS1AWrUqCl+qCcGNWrUpEE9MahRoyYN6olBjRo1aVBPDGrUqEmDemJQo0ZNGtQTw0eEKIprRVGcVoDtDxBF0TPZ6whRFD8rqP6yYU9fURSPJnutEEXx86Ky52NCq6gNUJM5oihWAdYATsBj4BtJko4XqVFKJEkqWcT9bwI2FaUNHyvqJ4YCRhTFvE6+WwA/oCzwM/CvKIqmeTYsC0RR1CzoPtQUX9RPDAWAKIqPgOVAX/mlaACYAYsBFyACmC9J0iLl+ZrABGCw8rx7QGdAD7AF3CVJigZ2iKL4PdANWJFB96VFUTyg7Oc20EeSpABlPzWUNtgBL4BJkiRtUx5bC0QDlYGmQCdRFP2Qn1ZcgbvAkVTjVADVJEnyV14fCVTJoG93Zd/myH/lawMbJEn6S/n4vxqoD8QBJyRJ6pmsj++A7wFDpT0TJElKFEVxADBEkiTndD4DZ+RJtZ8kSaezGHtbYA5QEXin/GzmZHB/PwnUTwwFR2+gHWAMJAL7gGtAeaA58L0oiq2U545Rnt8W+cs/CIhC/uV5IElSeLJ2rynfz4hewBSgNOAPTAdQTk7HgM3Ik08vYJkoirWSXdtHeX4pwBNYCsQAFkqbBmUx5oz6NgH+BX5EfvKRgEbJrpsKHFVeVwH5Fzg5XQB75EmyU1Z2iKLYGnlS6KacFLIa+2pgmCRJpYA6wMksxvnRo35iKDgWSZIUBCCKohNgKknSb8pjD0RRXIX8BT0CDAHGS5IkKY9fU15XEnibqt23yJNLRuySJOmS8vpNwDzl++2BR5IkrVG+9hNFcQfQA/mXGWCPJEnnldfGIT+Z1JUkKRK4KYriOuSngZz23Ra4JUnSTuWxRcDYZNfFIT+pWEqSFIw8KSVnpiRJr4HXoiguQJ5E/8rAhh7AcKCNJEk3szn2OKCWKIrXJEl6A7zJZIyfBOqJoeAISvZzZcBSFMWwZO9pAueUP1cEAtJpIwL5CSI5hkB4OueqeJrs5yhA5SCsDDilskEL2JCBzabK48nfC8yk38z6tkzejiRJClEUg5OdOx75qeGSKIpvgLmSJP2dgV2ByvYy4ntgfbJJAbIeezdgIvCHKIrXgR8kSbqYSR8fPeqJoeBInrYaBDyUJKlaBucGAVWBm6nevwV8JopiqWTLCWvkR+KcEgSckSSpZTZtfgHEI09ad5XvVcpFvwChyEsEAERRFJK/liTpKTBUecwZOC6K4llJkvyVp1REvhcqG55k0lcPYLUoisGSJC1Uvpfp2CVJuozsU9EGvgG2Kfv8ZFFPDIXDJSBcFMUJwCIgFqgJ6Cm/lH8BU0VRvI28Nq8LhEiSdE8UxavAr6IoTgTaAPWQ/8LllP3IfxH7AVuV79UHIiRJupP6ZEmSEkRR3AlMFkVxELJTsT/wKBd9HwCWiKLYWWnHcGQnJACiKPYALiqXEW+QJ6jEZNePE0XRG/kJ5Dv+W6KkxxNkH85pURRjJUlaTiZjR35S6wHslyTprSiK71L1/Umidj4WApIkJSCvc+sDD4GXyJOBkfKUech/pY4ie8VXI+9IgOyHsEf+hfkD6C5J0otc2BAOuCvbe4L82D8T0M3ksm+QfxmfAmuRdwRyjCRJL5F/+WYBr4BagA/wXnmKA+AtimIEsBf4TpKkB8ma2AP4AleRJ5nVWfT3GHly+EEUxSHZGHs/4JFyUhiOvJv0SSOohVrUFDaiKGoAwUBfSZJOZXFu0pZooRinBlAvJdQUEsqtWW/kWIlxgAB4FalRajJEvZRQU1g0RF7PvwQ6AJ2VQVtqiiHqpYQaNWrSoH5iUKNGTRrUE4MaNWrSoJ4Y1KhRkwb1xKBGjZo0qCcGNWrUpEE9MahRoyYN6olBjRo1aVBPDGrUqEmDemJQo0ZNGtQTgxo1atKgnhjUqFGTBvXEoEaNmjR8MBODIAglBEG4JAjCNUEQbgmCMEX5/jlBEK4q/z0RBGG38n0jQRD2JTt/YBHZ/Z0gCDeVNnxfFDYUBIIg/C0IwnNBEFLL0eW13UzvlyAIFQVBOCUIwm3lOd/lZ/9qlCgUimLzr3r16t9Ur17dp3r16u+rV6++Nvkx5Pz9ksqftZFz+xukOmcH4KH8+SdgpvJnU+A1oFOY40GWIr8J6CNrXxwHPi/q+5xPY3NBlnO/WZj3C1nK3lb5cynkGhy1ivp+fGz/ilXatSiKXZH19loh6yEOSO88QRD0kSXGRygUCm8bBxtFqTIluXjSi4ZuDShrUJZ70j2io6OpZ12PqKgoLpy/SIuWzREEodDGExISwrNnz7GxtQFAuiuhqaFBteoZacJ+WERGRuF10YvmLdzypb307peGhgbVM7lfXhe9+ayqFWZmZvliw4fEPek+ANXFlPfnSUgo3t7eefqiFysFp2R1B+xJpiKsQhAETWTtv8+BpQqFwhugdDlj6jSrRZxGLKOXfUObSh0IDw+ne+cv8PbyJjw8gg2b19OmXevCHA5379ylR9cvWLx8IXp6erRzb4+tvR3zF84tVDsKisBHgXTt1I0t23MjWp0W+X71THm/7GyZvyh97dfAR4G0aObOrn07MTRMrbL/8ePuJn+fU9//3j365LntYjUxZIVCoUgA6guCYAzsEQThBqDQ0NDg7NFzGJc1Ysu8bXiV9GX9ug28j3nPz5N+xNPzAt279KB8hfKULm1MXFw8ZcuW5dipI1n0+B/Dhgzn0IFDmJqZ4nvNJ83xoKBghgwYyvPnzxEEgUFDBvLNtyMZM3Y0Hdt0xsBAn3rW9dDUzJtbJys7Corc9JvVNamPa2hoEBMdQ3WrGmhqaBAbG4emlhbODVyIjX1PfHwCHTq258Txk8RERxMQ8IC27dt+cpOC6rvm4+ODgMCSRUv55tuRScfv3/dHEAQFYKpQKF7mpo9i5XwURVFXFMXVyOrEfUVRvCqKYpvU5ykUijDgBHIZMmv7JnYoEhWMmj2CM3vOcdXvKtbW9di28x969OrByG9GULduHZ6GPmX7ru1cue7Dpn82pG42U/p5fMmeA7szPK6lpckfs3/H74YvZ86f4s/lK7lz+w79B/Xn/KVzHD11BOPSxlSrlrdlRFZ2FBS56Tera1Ifry5W5/4jiVfvXhD66gnaOto0b+HG4eMHuXTFG2/fi5w4fpLJv/2KhaUFkyZP5HHgY7y9LuV6XB8iqu+avb091vWtk75rIE8aL54/B7kyeq4pVhMD/1U+2oBc+HQisE0UxSqCIJgqnxQQBEEPaAlcVygUiug30RgZGdHQsgkRryKw6VQPoayC1btXcS3WhyelHhPw4AGlDEtRqZJcRySna1JnF2fKlCmT4XELC4uktXGpUqWoUUPkScgTXr54iYagQXBQCHt376Nn7y9yfFNyYkdBkZt+s7omvePPnz9HQGD71n9JTEjk629GULKkXNAqLi6O+Ph4Fi9ajFhTZPjXw4iPjytUv1FxIPl3TUtLixo1RIKDg0hIjGfcmHHUql0bUhYPyjHFaimhrJE4WRTFaUApSZL2i6L4ELlC8X1gndLPoIFch+GQIAhXAYyMDOnasRuJiQpCHoRw11fi1bM3nN17Di1tbazrW3P75m3c3VoTERHOyFFf07dfwZQPCHwUyNWr13BwcqBLh268fv0abW0tFiyah7GxcYH0Wdh49O3PuTPnePnyFVUrV2PSrxMZMKh/ntvt3aMvr1+/4tnTZwwY1B9jY2MSEhJo5NiYAP8HtO/Yjn+2bOPs6XMsX7KCsmXL8PrVq3wY0YdJTEwMDx8+xN7Rnv17D2BZ3hIUeZ8oi9XEIIqiFrJNmoCmKIqVgOrALYVCcRewSeey+u3at1NEREQwZdqvNG/akoi3kSw6PJcLh73Zu3o/f2yfytaJu7jic4Vd+3YQHR2Nq7Mbjk6O+b5DEBERQe8v+jB73iwMDQ05ceZYvrZfXFi/aV2BtHvizDHev39P1UqfM+Gn8QBoamri7etFWFgYPbv1xufqJWrXqZ30umKlT7OaXEJCAndu32HVmpVoaWkxZ+Zc9hzcxddDR+W57eK2lJiIXHfgB+BL5AKmNyVJupvZRTo62jR1dWHs6HEoFApO7jgNQMNWjjy49ZCxnX/i2JGjxMXFcfvWHX7+YSIhwSG0dW+Hz2VfSuoasnPHrjwbHxcXR+8efejZuyedu3TKc3ufKkcOH6W+TX3KlSuX4n1jY2Pevn1L08bNsLO2x9jYmKauLhw98nFOvpkRFxfH7du3MTUzpXOXTjwIeMijR4E0tHfm6JGjIO/qXREEwTyLptKlWE0MkiRNRvYtPEUuqBoFrErvXJXPQRAE0+joGE4cP0m79m0xMTFBkSgvr2563UbQ0KD3dz1Yu2ENmpqa/DThZ3r07I6FpTk6urpM/HEiLVo2z7PtCoWC4UNHINYU+W70t3lu71Nm+z/b6dGzBwAvXrwgLEwuUh0dHc37mPdM+GF80usTx08iimKR2VoUqL5r+vr6VKgg7+rXqVubRyEB3L5/A/dW7iBX+rJVKBRPM2srI4rVxKBkBnINR0+gETBFFEW7dM6zAE4B548dPYb//fv8u30HXbp1RhEPP7b/lT0LDlKvTj2OrDzBgP4DiY2N5bzneQYPGkrP3j2JjIykc9fOmJqZZmmUR9/+uDo34550n6qVq7H275SP0hfOX2Tzxi2cOXUGJ7sGONk14PDBw3m+GTm1o6DITb9ZXZPe8cjISE4eP0Xnrp0QBIFnT5/RukUbHGwccW7QBBfXJmzZvIUA/wc4N2hC8xZutG2fZuPqo0b1XQsLC+OK7xWc7Bpw7PBxNDW00NTQIj98scUq8hFAFMUVyMVfWwDlgdPIRU63ZXRNl66dFaogD1XQjWrf/O6du3Ro24n4xHgUiYlsO7qJ8pXKE3zjGW3d2/Ei7BnDhgynTbs2dO3WpaCHpyYfSP0Zf6qoApyOnkz5B6h3jz7s2rn744l8FEWxMjAMSADClW8nIldczjFBQcG0a91BTrIoZUBdmzr8+M0kbBzrs275RuLi4+jYthNGxnLR6S2btzJv9jwUCgUlS5Zi0dIF1LOulw8jU6Pmw6JYTQySJAUiJ0shygvH68Ad5LiGHKOlpcnbsLe8CHvGvWd36Ny0O89Cn7N04yJ2b97H8+fPueLrR3h4OOfOnGPU96M4evIIpUuX5sihI4wcPopzF8/k3wDVqPlAKI4+BhWLgUvImXYjctOAhYUFFSpW4NyZc4jmtTA3NcfS0pIaFrVZvX85latWxGNkH8pXKc+CJQsYN2EspUuXBsCxgSMhISH5Nxo1aj4giuXEIIpiL0AV9qwBVM3Odek5s5auWMIP43+kfh0brlzxY/mfy/Do258uzj3xv/uAJX+soGRJgzRtrf17Ha1au+fruNTknaJyvn5qFKulhCiKZkA7ZC2F5sB0oAryBJElGQXdHD15BHe3VsxbOJdpv03n+fPnWFawoHv/LsRExXD7+l2mTZnOl736ce7iWSLCw/nj95loa2lz9sw5TExMkCSJiPAIqlWvht8N32yNpyASntJL1rpx/UaRJFbllYzuT0JCAo2dnLG0tGTn3h0prpn+x3SGDBiKcWl5/BEREYVtdpGjum+RkVHY2csbdq9fv6Zfbw8CAx/z7u07BEEorVAo3uS2j+L2xKAAViCnVQcCfYE4SZL25rbB5EFHbdu3SUp02nRkDVtXb6eObW2kGxJbt2/GuYkz/v7+jBg2kgWL57N7/05CgkNYvGwh/+7cxv7De3MUl18QCU/pJWs1cWlSJIlVeSWj+7Nk0VLEGunHJmSUrPYpkd59mzNzLq5urty8ex1TUxOQgwRzTXGbGMojBzYNlyRJAH5DVmXKFamDjlTJJ/73/bGuYE/dWnW5fOwqtjb2aFnA26gwJoz/galLf6F3n17cvnmbEiV0qWddD2cXZ6ysrHK0R1wQCU/pJWtZWJgXSWJVXknv/gQHh3D44GEGDhqQ7jUZJat9SqR33/bv20+ffn1IVCRSsXIlgM556aNYLSUAV6AEMEsUxSnI25SaoijWkiTJNqeNqQJB6tStjZNdAwCmTJ3M2jXruXXzJoGPHuParCnLVy3nPRE8efyE6Mhopo6bwSzNeTx/9hwQ6NCmIy9fvqR5PkRI5ifJk7XevM71U2OxYtyY8Uz/YzoR4eFZnpt8/J86z5+9wMJCjn7W1dUFKJfpBVlQ3CaGlcAXyIlT2sBbwB/onpvGGjs3Ijo+Ms37zi7OuLu1Yv6ieWzbup32rTsQlxiLnoEeS7cspI5NbQ6vP8H0337n7du3fF7tc/7ZsRU3lxa8ef2Gpo2bER4ejoaGgKfXOUqUKJGHIeeO1MlaH8PEcHD/IczMTLG1s+Hs6bOZnpt6/Gr+Q7nczVPkYrFaSkiSFAWMBsYCL5BnPRcgf0QFydjnsOXoep6HviD4UQje5y6zf+9+xv80DiMjI36c+AP6+vo0aeLM8xcvWLxsIVeu+3DkxGG0tbXzy7RcjeFjSta6eOEi+/cdQKxaE4++/Tl96gwDPQalOe9jHX9eMCtnSmionBYRExMD8Dwv7RWriUGJITAFGADoIIdE50tudEY+B4C65W0wMDBAI0Kb/RsO021EJyramhMdE83j2ACuPr/MsWPH0dXRTYqGLFu2LJqamvlhWq7H8DEx9fffCAi8jxRwh/Wb1uHarClr1v+d4pyPefx5oV37dmzesBkNQYOgwMcAe/LSXnGcGKYAv0mS5CVJUiIQA7zLj4YzSnTas3svlctb8frVa6ZPnc7Rw0eZN2kR/d2HEvs+lqZV3Wn6mTsPHjwgOjoaY4MyVLeqwdzZ6YuUqiiIPff0xtCymfsHubefm/tTWMlqxRnVfYuOjsbby5u1f69j7IT/cfL4SerUqMeLFy8A/shLH8UqiUoUxTLAM/57YiiN/ARhK0nSjYyuS55ElRsiIiJwd2vF+B/H07lLJ+ys7anToBZjf/+e2353+OmrX9l9eRvH157lz+Ur8fQ6i76+Pm1atmPyb7/QrHmzXPetRk1u+WSSqABLZJumABHIcm4lgF5AhhNDXki+XrWzt6NV8zYEPnrMy9cvuXDSC21tbZ49eU4Hm25oa+igUCSio6ODvr4+LVu2YOJPk3j//j0aGhrMmTcbF1eXgjDzg6AwFKwzUuP+1EkeFKbclcgTxW0p4aX8Pw5Z3s0GWe22bUF0lnq9qgqemTHrd1xaORMfG8+3k79GQCBRoWDj1vVoaGowa8Zs4uPj2bZtO0ZGxvhcvcz+w/v4YfyPJCYmFoSpHwSFoWCtDnBKn8yCwnJDsZoYJEkqiaw88xVgjizzdqGg+ku9Xu3cvgvPnj6j/0APtGJ1iHgXyZJJK9DR0cHRzgG/4Mt0GdKRRQsXU8/aGn09Pb70kIt7mJmZYWRkhK/PlYIyt9hTGArW6gCntGQVFJYbitXEoGQNMArZx/ASuVzd/oLoSBXncNnvEt6+Xnj7etG6bWt0dHSY/NuvGBsbc+HyeaqL1fG66E0t25okJiSipa3FhtOrGTp8KPv3HSQ+Pp5HDx/hd+UqwcHBBWGqmnRQBzjJqILCNDTy79e5OE4MU4HLwHzABPBDTqbKkCu+flSyqIydtX22OggKCqZV8zbY1LXDtp49SxYtTXE8efBM6JNQ7kn3iIiIoEPd7lw+64u2jhb3b/qzds06zp05i1lpc4YM/IoGDZ3Q1NTk7OmzONk1wLaePS2btcrVTShuZHXPMmLRgsXY1rPHztoej779VXvs2WbYkOGULlmGkrqGKT7foKAgHGwciVf6iN68+fADvHLDq1evkoLC8pPiODGUB2ogOyGjkW2Mz+yCSpUr5mhtm9k6Nbkzsl37toz6+lsGDx1EWORr9t/cQeD9x5iUK8uyqSuZOOkngp4+ZvM/G9HQ0CAs7C3m5crx3ajRua54VVzJzdo+JOQJy5Ys57z3OXyv+ZCQkMj2f7bnqN9+Hl8yd8FcKlX+TyI+Li6Olq7uNHZuzMPgB7i6uTJn5sdRDzSnvHv3Lk1QmI9P9rJ/M6M4TgzLAGPgHFAXaAp8ndkFJiYmOVrbZrROTe6M/Pb7UQwfOoJ69esxdsL/AGhc2RVNtGjfpgNGusb4PrzEhcAzXAvxIzIhHC0tLfz8rtKpc8dcV7wqruR2bR8fH09UVBRxcXFERUVhYWGRo36dXZxp3sItKZBMoVAwbMgI3r59x5I/l5CoSORLj77s21sgq81ij5WVVZqgMHv79LSTc0Zx264EsAJKAUskSXoqiuJhoHZBdZZ8nZo86apujXoEBDygcuVK7Pp3Fy9fvsLI2IiY6Bh+mvgjoU9CadnCnd9Hzwaglm0NNm/9i8ULFxMfF18oFa+KiozW9ulVp/p+9LeIn9VET68EzVs0p4V7izz1feH8RbZs2oKGhgZd2ncFYMrUX5UJb2ryi+I4MewFxgD7RVEsD7QBJhVER6kTcTJKugIY1H8w2//5F3MLc4yMjPh10hS0dbRxauZAmx7uLPxlKT269CAkWH7y8Lvpi6amJq7Obrx5/YbVf61BEATq1qvDuo1rC2I4hUJGyUsxMTE8CHiIqZkppcuUoUvXznTq0pHePfpw+/5NjI2N6durH1s2baF3394Ztp9VLERj50ZExoVjaVIBL195w0pD0Pjk6lemh4urCy6uLvTu0SfPbRX6UkIUxW9EUfQRRfG9KIprUx1rjqzvqIVcdCYY8AHyfXM8J4k4cXFx3JPuMWLkcAwNSwGwdvVa6tjXAsCtoyuREVFcuuLN9//7jmrVP2f92g2YmJhQr15dlixexsmzx7ly3YfZ82bl91AKjczuma6uboqq1EePHGPlilVUrlIFU1NTtLW16dS5I14XvTPtI7uxEMmThkJDQ7NVG0RN9ikKH8MTYBqQIjtGFEUTYCfwHpgMLAB8kcOiZ+anATlJxFGd26BRA0aOkl0dwcEhaGpq0qJRS4x0jHl7PYoaoshW/41oWCdy7+E9rr30Y92Nvzl75iz9PPomicx+qD6HrO6ZIAipqlLHUa5cOS5fukx0dDQAp0+dzjIIJzuxEBqCRoqkoY3rN9G+Q7tcjkxNehT6xCBJ0k5JknYDqUsUdwUk5C3KBcjLh9rIVakyjXy8fNknR8k4OUnESX5u5w5dCAh4gEcfD+bMn82qlX/hee48v0yczJLlS1j941pm9Z+Htq4253d7MfWLGZibmxMZGUWzJs1xaeTK0cNHs3WfihvZuWcJCQk42TWgkkUV3Jq7MWBQf7p07UxDh8bY13cgMTGRwUPTplFnhkff/tSvY4P//QBu37qDhUn5NElDp06cSnIQq8kfipOPoTbyE4IJ8nJiDvAQ8ECuL5EhDg725CSJKjNfQmbnBj4KpKWbO3Xr1WXg4AFUrfoZC+YtTBIsHTxjAIkJiWycthWrOpVp0q0x28bswt8/gKMnDxMSHEKLZu74XL2EsbFxtu0tDmTnnqWuSn3r5i0mTZ7IpMkTc91vZlW1Dx07mOt21WROcdquLIms2NQVaI0s1FINuQDN6MwujI2No/cXfbGubUP9OrZZrmPzQlRUdIp941MnT1PerCKOtk783H4ye5bux6mtPb5H/QAIDHzM0cNH0dbWpopVFUxNTXBp5JpvFbaLI59yFeqiYNiQ4TkK8MsOReZ8RFaxdU52SAcYhFyo1hr56eEhMFOSpGeZtXnj+g1aurfg6s0rePtepEbNgqt+XK6cWZp947sBt9mybTN3b9zhyeVnPDjwGFfbZlQLq4W2kRbx8fGceXKcvTd3Ehr6lKUrltCz9xcFZmNRkLoq9adYhbqoKIjktaJ0Pl5L9b4PciZlGeTlxGFkGflbmTUmCILRq1evGDCoPwA6OjoF8piekaiIIAgYGBgwZOBXONk14OaNG7x+9ZoJP43npwk/M37B9yDAV24jmdBzIrPmzqSJi3O+xrUXB56GPk1RlTq3VajVBWVyTkEkrxWFj2Gvst9xgLEoiiWQQ543I8vFd0WeFNwBhSRJd7Noz0pHV4dhg4dz/foNbGxtmLtgNgYGaatL5YWM1rouri4kJCQQFRXJ48Agvv7ma6b/MY0li5bSrkNbypqXRVtHm5Un5dyCppZ5C/AprtStVxcvn4t5biczn4KawqMo/mxNRM6BaAR8pvx5oiRJL4BuwDZkkZaWyIlUWaEV9iaM/fsOEB8fh4GBfqHHzaucbv6B9/C57MvJ4yeZ/MsUNqzbyFfNvyEuNg6AvWsPUFusi56WQYpkon179+Ng44iTXQMaOzlz3vO/TPOCWD8WV2JiYnBu4IKjrRO29eyZOnlaUZv0yVIUE8NLZP9BAhAgSZIgSdJkAEmSjkuSpIm81ADITspcsI6uDgeOyLHyXbp15qrf1fy3OhuonG4Xzl9EX0+Pd+/eER0VQ0J8An0dB1LLviYHj+ynklwQJIlmbq7KwCAvVqxaztfD/lMkKgzxk+JCekFS3l6XitqsT5Li5GMAQBTFqshVdEKBCcp6lhmiUCielipZkrdv3wJw+uQZatSskb8WZ0J6TjdbO1sehwYiBdzh7p3baGhosHPHTga7f0Wo3mPeJ8TwKuYF98Pk7MSSJUsmhfRGRkalCO8tDPGT4kJ6QVLqUOeioSgDnKIyOGUpMAGIBXSR07AzpW69eowbM44A/wdcu3ad8T+Oyz+DsyAjp1vyYB9NTU0clQlHd69KvHjykgtHvZg3YRG29eQlwp7de7GubUPXjt1YsWp5odlf3EgdJOX4iYuwZIfUDttHjwLz3GahOx9FUdRS9qsBCMmcj82A+sgh0Z7IuxPhQJaCfsbGRqxYtYyunbqxfec/BWZ7eiR3ug0bMpwVy1aw46MQ2lsAACAASURBVN8d+F7zwdvXi1evXlHNSsS8rAUWlpZEJ0RhUEqfDZ6r2bJ0G36nbuBg44jVZ59x5vwpbl6/yaSfJqGhoYmvjy9f9v+S0WO+S+qvMARX0+snP/pN3UZqYdf2Hdtx5NARAKpYVWbh/EW8fv2aK77/yeXdvnUH3RK6VK5c6YOq7F0QKBQK/K744dK0CQ+DH9C8aUsiIsJ58OABgiA8AS4pFIpc1bAsiqXEXtJxPgJ1gFlAR+RAp1KApyRJOZP8KULS8wdsXL+JihUrYly6NH43fFm2bwFRkdEEBQRj52KL77XLXPa7RLVqnzP7jzk4uzjz+HEQ3435lhmzfs9WH4UxlvzoN3UbqcVfdu3YzdoNa5Jk9kqUKIGpmWnS6wuXzlOqVEn1zoWSkJAQ9PX1k16fOHMMb18v3NyaAVxEzj3KFUUxMfwFdAGukNL5WEt5XFtZ6ToQWFIE9uUalT8gPj6BsLAwgoNDOLj/INpa2piYlAXArWordLR1KPO+HKO++J7AqABOXT1GpbqWSI/u4nfFj7i4ONq0bU2JEmllwAvL55C6n/zoN3UbqcVfrD6rwr1791EoFBw+eBgNDQ2cGjihUChQKBScPHEKsUYNateulVEXnwzBwSG8fv0ac3O5kG1swvv//sXGglzWMdczeXHyMTRW/h8siuJToCKwTRTFCVm1mdMkqoImPj6e1i3aYFfPnqCgIGztbTAzM2Pp4mVULm9FdHQ0o78dw4iv5GzNY/tO8tPXv+Lr5cf3o8awYfP6JKfb8aPHi9XYCorAR4Fcv3aDaVOm4WjjxJCBQ2nk3JC27f4Lktr+z7/06Jmr+sYfHePGjMfKykpOGEiFMh39hEKhyHUFt6IIidZS+hWSfAxKv4NKXUIBqErTjUV2RmaKg4M9D4MfEB7zloDA+0lRkBlR0LEBJUro8svkX+jVpye3793iS6WCU/+BHpQvb8mS5YupUaMGXhe96dSwOz4XfGng6kSXPh0JCgpizHdjcLJrwI3rN2jh3oKHwQ+4cMmTChUqsGjBYjq07ZRUv+Jj2PtXib8sWDyfy36X8PQ+h6amZgonbGxsLAf3H8DroheNHJ0J8H9QhBYXLaqq4KVKydogp0+dpqFtY5wdXGja0I2Q4BCALXnpozj5GPyRcyd2I+9G6AMLJUmKyG8DCmOdnrpy86mTp6lbwzpNle0+Q3viffYyw/43GIBR332TtKauW68uID+BDOo/OKnK9vpN65KeKD70vf/0xF+OHD5KfZv6lCtXLuk81XtDhw1h1d8ri8rcYoHqu3XJ+xJ379wlJuY91cRqeF4+y85921WK2Qfy0kex8TEoJ4ARyMIsNZC3KUuKolgqvw0ojHV68srN6zaupUzZMnT7omuKKttHDx9l++pdNHV1weC9IWV0TXgWHcrtN9e4/eYaIZFBvIl5yfGjx6lTt05Sle3SpY2TJoYPee8/I/GX7f/8yxe9eiAIQtI/1XtNXJpgZGxUhFYXParvlqOTIzVq1qBECV0WL12EtoYO+3YdwNzcHIVCkSenfaFvV0qStBNAFMX/AUmfsCiKNZB3JCpIkvROFEXVn4sPJtsoPTHUAYP6c+vmLZ6EPEkSOQGYMnUy/xs9jsjISAL8A3gS8gQdHV2evgjlwLZDhAQ+QUtTk/j4BA7vOIZzk8Z0aNMRn8u+xMfHExMTk9RHv/5f0sixMQH+Dxg24qt82ftPPRZLS0uCg4LSjC0vbfbu0ytJfFd1X378+QdOHj/JkuWLkq6LjIxMes+jb39OnTjN+/fvc23Hx4dAhzadEASBiIgIKlTMMvQn6xYLu9p1sjiGE8hl6GojxzFMBHoDB5HFWTSBYEmS6mTVZm6qXQc+CqRrp25Fuheeusr2s2fPeK4ZgiAILJ+xkpfPXvHrop858vepbFXZVgmkzFs4h9p1CkxYu8gpDp9dcUBV7XrNhr+xtLTg+fPndGjdESNjI86d9czTY2OxSaJCXj5UB0YiRz16A1aiKNYsAhsLnORr69ZtWuHcwIUObTrSq6kHK2f/TZd+nbhw0otODj34acLP2DvYYWJigr6+Pq1auzN1yjRqi3VxsHHE74osCvOhC6Tck+4lycY52TXArLQ5ixem3LEeNmT4J+98TE358paArCfaoXMH3rwJy3ObxSmJylv1HrKaU0XgNnL69UdF6rW1yoG458BuNp9ax4WTXmz6cyuf16zK8h2LqFCxAtJdiaioKOLj49mzaw8xMe+5efc602ZMZeTwUcCHL5BSXayeIphJX1+Pjp07pjinn8eXn7zzMTkJCQmEh4cD8pLrxLGTSUrmeaEo9BhUSVSTSOZjAEKQlw9jkZcTbYE9FIB0fEa+gMIieWGb5D6Hbf9s56rfVR4+eISRnjGbt27GwsKCOEUcLfo0w87eDgSBUrql+G7MtwiCgKWlJbdv3aJ+HRs0NTXp1r1brgRSihOqYCarzz5LquilYuWfq9Q+hmTExsbSvKms8REfn0DPXl/kS3ZxcRJqCUZ+YrAFjgBhyE80AfltQFGH1KYnrJqQkMCvkyYrxV5GMP2PlPEIru1d6Ny/AwAzh8ynQoUKgJyr0bBRQ6bNmIadvW3hDKAQyCiYaf2mdWofQzL09PQ4d/FMivc+yIIzZOxj8EaubN0XOVdiK/Aa2JffBhRH8ZPUYi8njp9Mqi798ulL9m2UFZH9bwVw8cJFhgwcSrdO3Xn3LmVw2+PHQZgYmTF/7oIM+you48/IDlUwU9fuXRg2ZESKc4KCgvHoOwB//4AcVd3+2ElISKCBfUO6duyWL+0VGx+DJEkJyPqO1ZGDmyyB0ZIkZU/nPQcUZ/ETlQPR85xnUhBUGbMyHNp6hEf3Apk9dgGNnBsxeeqvdOzcgflzFhAS8gTL8nKx2Aljf8C9deZumeIy/ozsSB7g1K9/3zSJVxN+HM/nn1fNdtXtT4Eli5ZmWcwnJxQboRZlXIMH0AsoAewC/hJFsX5+G1DcxE/SE3txcHBISjDS09ajdo06mESbE/rwKa5fOLNi9XJMbUqzbsM6DA0NsbCwYO+efVSpUplatTLfyCku48/IjuQBTk1cmqRJvKpdR06iyknV7Y+Z4OAQDh88zMBBA/KtzWIT4AR0AB5JkrRNefxbZA3InkDRaLUVEk9DnzJ00FckJCSQmJiY5EBcungZ8+bM52noU4KDgjE1NaFmrZrEx8djWdmCgS2/IvxtBNu3byciIoK5s+Zx4Mg+FsxdWNRDyjXJg5nSI7njuHJ5K+Ji41i97q9CtrJ4MW7MeKb/MZ0I5e5EflCckqieAhbJnhBUgU1ZhnZe8fXLdM2cmzV1bq4JCwvLVeEbldjLZb9LnDhznBs3bmJd24ZVf/7FX2tWYl2/Hpv+2cjqtX+x7M8lTPv2D47sOEaPwV3R09fjmxHfUKNqTXR0tClRogQAz5+/oGnjZhjpl87U31DcMDAwIOR5EEZG8t+M1HELE3/5GbNyZog1RMLfvSMmJoZ1a9YXpclFyqtXrzAzM8XWziZf2y3UiUEURV3gEuk7H1XT/mVRFBXIW5YK4F5W7VaqXDHTNXNu1tS5uWbs6HG4t2rJtVt+XLrilavCN8nbOO99jpm/z0qRYHTs6HEat2yItVM93Dq5Evs+lvWb1iHWqMH16zeobGnFkkVLWfPXGho1bsj3ydSfPkRSxy1UF6vj6XUOCwtzJk2ehKFhqTSxDp8S7969S5Gsd/rUGXx8fPPcbmE/MWghb1daAdORw6IjgLX8t1x4CTwHLiCnXwdn1aiJiUmma+bcrKlzes3bt2/xPHee/gM9UCgUaGtrJ/3Vy00biYmJfPv1d9SpWycpwSg4OIS9e/YxZsT/MNQxYsfCvRgbG3M89hjdl3bBY35fzGqa4dTLkQk/jWfGrN/R1tbOkQ3FDWcX5xRJUwqFguFDRiDWEKlTtw5Wn31G5VSq258SVlZWaSqj2dvb5bndQp0YJEmKVO5APFK+FYxchs4OudCMnyRJFpIklQNGIQc8vc9vOwqi2tGjh48wMTFh2ODhNLBvxIivRhIZmbMNleRt1KtVn82btnDqxKmkEGGPPh44ONgzeOBQzp4+R5UqVdDT0yPoVhAA147dIOxZ1uGwxaXaU3bs8Ojbn17de/8X0PTTL2zeJFfd7t93AIGBgRlWKleTe4pSDFYTMEDenryLnHIdJIqigBwOvRD56aEi8vIj39DT0yMhIYHqYrUMg2SGDRnO/r0HMvzlTi1k2qBRA3x9fHn58iX6+nr4+/szZ9ZcJv/2a7btio9P4KrfVeYumMPKv/9k7OhxlDIsxeTffuXg/kMcOXyEP2bPoG27NsyY/gc+l33REDRYMng5BsYG2Le3Q0NDwMBYn7V/r2PDuo0YGRnRsbMcGHXj+g2+GfEt4eHhlDUpyx3/25QoUSJJ7CU29j3x8Ql06dqZ4ODgFMKtMTExtHB1T3FOXqpYQ/qfQ1hYGCO+GsntW7cRBAGrz6xITExEV1eXgMD7BAUFc/nSZZ49e8a7d+/wGPAl8+cu5McJPyMIAoOGDOSbb0dm0fOHjUpUNzIySo6GBa5fu86kn38lMjKCly9fIQiC4Qej4JTKx/AD0B1ZlKUHsg5DJ+T4hkDkEOl7yKKw+Up2/AdZxeSnFjI9duQYJiYm3Ll/i9Oep3j08BGeZ8/nyK7yFSwpX6F8Utq0XDxH3tVNLfziddGbEnq63A24zZQTv6Cto0UZC2P0Sulx8/QtLl3x4sp1Hxo0dALSir0cOXE4aZmRntiLnb1dintUEIIw6X0Oqf00Xw0fmuJz0NLSZMasGfw2/TecmzRmz+59DBvxVdLn8CnENaR330YMG8m033/D5+plLC0sQI4szjVF5WP4DPgHuZCtysfwWvnaBXmHYhVgiCwhn69kx3+Qem2bmtRCpvXrW2NWzoz79+5jaGiIvr4+ZuVMc2SXubk5FSpU4P69+wiCwOmTZ6ipLJ6TXPhl/aZ1NHNzZc/+3Tx//pzRTmOwr+vA3b33sDSwZMGU+dyPvM3N135EarzjaVRIGrGXsmXLoqmpCaQv9lLfpn6Ke1QQgjCpP4f0/DSt27RK8TlYWFhga2fD9n/+pc+XvalTpzZGRobApxPXkN731/+ePw2bNCRBkYCpmRnIW/25ptB9DMAU4BegHPIkoPIx3AAESZI8kZ8aSgBVyaLaNWQtBpubNXXqtW1m1wQ+CuTq1WssXrqQgR6DsK5dn6CgIP6YPSPLflIzb+EcBnoMwsHGMVvFc+bPWUDt6nU5duQY3b/oztu3bznveYEvmw+kUYVmbFi6mb/nr6d/v4HEx8fToU1HGjo0Yu7seSnayU6hl4IuBpOen6Zvry/TfA6qWAcbO1uuXr2Gg9IO1efg8AkWqalZqwb798pqbiEhISAvwXNNUSRRLQdqAi2QnwiqI//yvwJmi6Komuk8gOvZqHaNg4M9mQm1pJc0FZhFtZ7sJuuohExnz5tFI+dGHDlxGHe3VqxZ/zeVKuXcW25d35rz3p6ZnuPi6oKLqwsAP//yE2dOn2HDzPV07tKJrZu38vrNGzYc/5vbfnf46atf2X15G8fXnk0j9mJra5Mk9qLK1VCJvdy6eSvpCUFFeufkpyBMch+Lo5MDY0ePw9yiHDNm/p7mc5Ae3MHdrRWz583C0NAwxedgaGiYbzZ9KCxbtYxxo8cxc/os4uPjQdY0yTWF7WOoDAxDrjj1lP9Sre2SVbuejqz3WAs5PDrfyY9EnGFDhlPRojJVyn+WFGeQnrBpahYtWIxtPXvsrO3x6Ns/RdXrnJK8Pzt7O1o1b0Pgo8cc3H+Qrau2U9u2Fu/C3tG1QS+WLVlOQkICWlpa6OvrU768JYMGDEna8dDXLsm1q9dSiL28e/eOoKDgNAFbuRWESa1o/evEyfTo2pO7dyRK6hrSsV2nJB/L9Ws3OHXyNEsWLsXBxokA5Wc1dfI04uLi6NW9N0+fPmP9mvXZuu8fE/eke3Tu0IXo6Giu+F7BrLQ5x48cY++hPXheOktCQgJAGUEQTHLbR2H7GJ4CfwPPkJ2OUUAXSZI2iaLYALlmpRly/EIYBbBVCfmTiPOlR1/s7e3Q1dXlu9HfZihsmpyQkCcsW7Kc897n8L3mQ0JCItv/2Z6rMaTuT+UMnTHrd7r36Ma/f+/E8/gFNLW02Oa5kUtXvIh9/57fp/1BfHw8YWFhLFuxFG9fL+bMn02lypWwrm+dQuxl+tQZlCxpwLVbfhw4sg8LS7m4SW4FYVI7ME8cP8n/xo6hYqWKnDp3gqioKIyMjLgn3ePrYSOxtbdlyFeDGf2/7yhVqlSS07N75x7ExMTQxMUZBWR53z82qovV2b1vF3p6etjY2qCvr0ejJnJZlseBjwkKCgL5CTzXFPZSQgsIQt6ZMAEWA1tEUayLvCuxElmL4Q7ypLEGaJ3fRkwY+0NSvH39OraYmJjwJOQJNZMlH2Ul5qKhocnhQ0fQ1dXFya4BkRGRBAQ8SCO+0rptSvPj4+OJiopCS0uLqKgoLGQPco7JSOyl/0APhg0ZzusXYSyZtIKtWzdjU84R/3d3admlBWtWr+HQ4YN0aNeBNu1k2zZv2EJ0dDQONo5JuRob1m1g3959CAhUrVyNAYMGcGDf/jT5HDkhtQMzwD+AMd//j3fv3tG1U3fi4+L5bsy3DPQYzLWr17CwNCc8PJyLnhd4+fIV1T+rQWJCIj6XfTAwMCD0SShPnz4jKioqy/v+MaH6bkZHR+N10YtKlStx7txZBvQdwNPQZ5iZmRH0OChPZReKQgx2BfJSooUkSRGiKF4HpkiStEO5nSkg15j4HZgJGEqSlKmRuRGDVRH4KJAWzdzxvXY5x2vT3AiGLFm4hMm//IaeXgmat2jO2o1rcmpytuxKPSb/d3f5pvf3tOriTocv2vK5YY2k82tVr8P2nf+k8Bdcu3qNkcNHUbOmHGptY2vD3AWzMTAwyJNtCQkJKRStf5s+hUaOjbl/zx99fX2Cnz0mQZFA8yYt+H7s93To1J5F8xYz8cdJ6OnpMWzEVzx48JBxE8YSER7OgnkL2bl3R55s+lBxd2vNPekeE34aT/9h/Ti47xDnTnvyNOQpe3fvCwTsFQrFy9y0XaQ+BlEUI4G6yCHSABJyjEN55ApUJYHKmbUpCEKJ06fP5KoSU2E7rN68ecP+fQe4ff8mAY/9iYyKYsumPBUMSkPyMb19+y5J7KVp9RY8CQqlfY82HNl9DNt69uhrl2T92g3o6+slTQo3rt+gaeNm9OrRB18fX/oN8MDL5wIGBvrMmTk3R7akl4iWWpDm7p27ePt6ceb8KaKjo7l1U96EWrZqGatWrMLZ0YWoyCiMjY3xD7zH/r0HOH/uPIMHDGHo4GE8evgo3+7dh0ZiYiKvXr2ia/cuhIeH81X/4fhL/vnSdlH6GFSl6A5JkjQHQJKkKsqCtsuU549OFj6dEe+dnRvnOPCmKBxWJ0+conKVKpiamqKtrU2nzh2znYGZHVKPSeV3GDP2eywqWhATHcMD6SHVan7O1u2bcW7izPFjJ/ii5xdAyiCoU+dOUL5CeRo1lh/P5WCrnGW/ZxZIltqBaWhoiIGBQdJrsUb1JGfaF716YPWZFcbGxhgaGRIVFUVUVBTRUVHcvSvRtVP+qBZ9aLx5/YaSJUtSrlw5Zk+fS2JCIhc8L3LsyHGACsAVQRDMc9N2nicGURTLiqLoks3TVT4GV+QSWneBJqIoVknWnhvwFbLz8WZWDSoUCoWWluwqyW7gTXYchQVBxYoVuXzpMtHR0YBcczC/VHfSG5OFhQUvnr9g3pwFHDp4EOs61mi91cXdoQ1aFhAdH8Xx48dwaieH1SYPgjI3N6dy5co8CHiQFGxVo2aNzExIQ+pAnNSCNIcPHaFCeVm7MiYmhojICERRRFPQ5NWLV2gKmrx8/pLfJk9l6LDBREdHo6Ojw/pN65AC7rBxywZMTU0Z+c3X+XELPziev3iOqZkpwcEh3Lp2i937dtLMzZVWsoJXMGCrUCie5qbt/HA+ugLbkLcdM0WSpEhRFKcgPzWoApy8kQOcHimXGgeAFcjCLdlCoVDgZNcg25WYMnLc5cRhlRulaUcnB7p07UxDh8ZoaWliXd+awUMHZbvPzMhoTP8bPY7379/j7taKAP8HlClbhuYtmwMQ/i6csqZlqVhF/uW8f98fQRDo0KYjL1++pLFzYwZ6DCI2NpYqVlasXL0iTzamFqRxbuLM3DlzGTVyFJGRkSQmKhg18lueP59IREQEfy5fyfv374mJieHu7bssWrA4hdPz6VM5X+JTDGiKjIwk7E0Y1apVKxChlmIT4CSKYnnkSSJAkqRRoihme2Lwu3KV6OgoKlSsgM9l3ywDb9JTac4pK1f/SQtXd0zNTImPTyDocVBScosq8Sg1WR1Pj9TXpE7eUiUNJR+TKuHpl4m/oqurS9duXThx/ATzF81j29bt2NS1Iy4xltjYWOb89QdL/1jBro17QaHg5ctX/LVmJUcOH+XP5SvR1dWlilVl7t+7zyCPwQQGPkYQoHad2qxc/WeSMEx2WLJoKU9CniSNZdiQ4TwJeYIgCJQuXTrFfflx/E9oaGgQHh5OVGQUZcqU4erNK0ltRUREsGDeAtZs+PuTDGgyMDCgQcMG+Fz2SRJqWThvIec9L8jue/mJwRg5ETHHZLgrIYpidkv96AOmkiRl+cQgimI10gqvJAD9gYbIVaiSEy9JUpaCAk1cnBWz5s6UlZO7d0NPX4/R//s+m+bnDoVCQWRkJCVLliQuLg43lxb06/8lDo72DBk4NN1ffM+znhiUNMjweHqkviY0NJSnoU+xsbUhPDycRo7ObNuxNcVWa3LboqKisKpQlS89+jJ2wv+Srr0R4kcTsTm/L/2NAOkBFcpWonyF8hw9fJS/1qzC86wnv0+dwYULFwmLfI2/fwD1a9vge+0yYg2Rvr360bqNO/3698vU/uQ7N6nHonrd+4u+bNm2KcV9OX70OK5urnhd8GLtmnUcPniE4GePAXnJ2LVjN1q4t/hkYhfSo1b1Ojx9+pTEhETKmZcjJDgELS0teXkRFDwScFQoFANy03ZmPobyyIIpO7L4lxPv2RPkXInkSVTRwHnkgCcAbaUDMhDIcqNcEARTQ0MjypQpQ2KiotAqMWUn8Sg1+SEYkzp5K72kIZVtCoWCEV99jY6uDj1790xxbd3yNhgYGKARoU1p3bI8iw6lkqM5Pld98A3xxrCmHkFBQQgaQlIRXUEQ0NTSIi4uLlcxGKnHonptYKCf4v1ERSJuLd3Q0NSgUZNGODVsQFx8HFB0/qHiRnBwCK9fv+bzqp/j1rwZN+5dxdzCnPq21tjZ2YKsp5rrbLLMlhJXgaeSJGWaxaPMbWifnc6y8DE0Vp4WrPzFNgW2iaI4U5KkmZk0a3He8zwd23Ui8NFjenzRvdAqMaXek3d0csgyByM/ySxpKCEhAeta9QkIeICJSVlGfS2XsZsydTLvY2P5duR3vH71mulTp1PK0JCYuGgObDuEoVEp+jYfgJaWJk2auLBzxy6sKlQlKiqKTp070sCuYVIMRgv3Fpnal54fppmba47HuXP7DkopJ+H88A99DIwbMx4rKytV+DMAo0Z/w6QfflFlzfYDGuS2/cyeGLwBp2y2k5P8W5WPoQMpk6hU5XNU25gxyOXqMk1kUCgU15u5ubL3wB6qfv4ZP036MQemZEx2xGBT78mr9uALg6xiMDQ1Nbkp3SD0ZQiaWloEPQ4mPj6e1m1b07yFG+XLW7Jk+WJq1a6NpqYmJfRK0LF3O+o71SMuNg5NTS1OnjxFeHg4FpbmePlc4OCBQ/Tt14dShobs33eAn3/4OVMb129ax8PgB4THvCUg8D7NWzbPNEclLi6OVs3bYFfPHntrB5YuWsbPP0zk6tVrvHj5Ett69vhd8SM6PhIvn4sIgkD58uU/uUmhXav2HD54mHvSf6vyXTt2M23ydOLj43F0cgQ5anheRm1kRWYTw29kIxxZkqQdkiRla9tT6WMYhjzhhCPHNWghPzH4A87ItSp1kX0XCyVJylNoZ27JiRhsYVeZzkkMhrGxMa1au9OnX+8017Zt34Y/Zv/OjTvXWHdkFf+u2YVdY1v09Euw5fQ6nJ0bo2+gT+cunbl+/QYmpiYcOniYK9d9+PmXn1m1cnWKv1hZkV6Oiv/9lAE5f8z+Hd/rPpzyPMmcWXM5fOAwy1YsSZPXkt8FVj4kTM3MKFmqJNHR0dy9c5fTp86wctkqjAyNaNykkeq0f5AFl3NFhr/QkiS9lCTpWkbHc0mGPgblBDACOWeiBrKPo6Qoivmu4JQdsvIHpFckpjB8G9lZY6e2zf9+AHVqy2r8ya9V+RxCQ0NxqNiIerXrceXYDWzq2VGrtDUaxhAVGYV1m1qE67zmScgT2rRpja6uLrdu3sTCwoLLl7IfDp5esZhnz54nHdfW1sbG1gYNQQPvC95ERUYxcfJEbOU1c9I1169ez/cCKx8Sazf8jefFs+jp6VGjZg1cmzXl0LGDxMREEx0do3p+b4mcc5QrCnW7MjMfg7LWREeggiRJ70RRLKe8LMunEZVQS2FWr06vSMzWLVszjW3ITexD6mt69+mV5Ro7PduaNXdl5oxZGVbZ9rnsw6OHgTRzc2XFX8vx6Nufw4ePoFAo6Oncj9JljTC3MGfvnn14enpiXd8aRycHnjzJvn8rdbGYsDdhXPK+xIsXL6lVXZ64VPfl92kziI6O5uthI4mKjCIhISGpwAyQ7/v2HzpaWlosWbGYwf2HqgL8+gG5DpIp0iQqZDHYQOXrXkBv5HoSHsgBU8GSJNXJoKkk8pJElRkfU1XlzMYSERGBu1srxv84PsXSpO/gPlS0qkDfr2VZjNWTN+Lk5EDvvvKyZPjQEbi3dqdrty45siWj/jI7rnqvhXsL3oa9ZeGSBZw9ffaTTaIKMuN+kgAAIABJREFUfBQo63rY23H05GESFYkAtG7eBkFDgzOnzuRJd6/YCLUgLx+qI8cyxCI/SViJoph5IUayrkSVX6TnkHz9+jXtWrWnTo16tGvVnjdv3hSoDflNXFwcHdt24mnoM2ZMm4GDjSMGOqWwqliVPRv38eyJ/Kg/afhv/LvtX34Y9yPDhgwnLi6OkOAQLCwsGPP9WGqLdXGwccTvil9S2+ndr+Q+jkMHDlHJojIWJpZJ56mOJyQkMGPaDCxNK2CgU4pyZSySrvlr5WoM9YyTCqwM9Mif6NEPmYSEBBraN843B3ixEWoB4pTnxCIrQzdBdkBm+alnVYkqv0jPITln5lxc3Vy5efc6rm6uOc5ALEpU/gpbe1seBPnj7evFxcsXKFu2DFOnT6GufR1u+Nzkhs8tWndvyZHjhzArZ0ZkRCRzZs7F3z+AN69fE3Dfn5t3r7Nk+RK+HflfYFnq+5XaP6I6bmRsnHSe6ri3rxfevl78s2MLlSpVTBLEmb9wHp5eZ6lW/fOkAitr1v9d6PeuuLF00TLEXFQ+y4iiUIlWCbV4AgOQhVqqICtFxwHGkiSVBL5GnjjyXIkqN6QnIJvaIZmoSGT/vv306deHREUiX3r0Zd/e/flqR36QkRiuKibgzKkzONo2wNG2AbNnzqHq559z5tRZvuzVD22FDp8b1WD4FyN5Z/oKxzZ2HD1xjPkL5rNg0TwOHjhEn359EAQBpwaOvH37ltDQUCCtAzd5f052Dfjf6LHcuHYjKcApKjKazRu3cPrkf/Z4e1/i0aPAJCFa1TWfMqrPMzo6Gm8vb+bPXcDG9Zs4efwkb96E4X3RG0EQjuSlj6JwPpojK9iqhFomIy8l9gKPgR9FUZyBXIlKC1nRqdBJT0A2PZ4/e4GFhZzZam5uzvNkXvbiQkZjSZ5fofI1DRsygm49urJ+7QZ27dydJimt19c9OHvwPN/8NpxWbVrx5/KVVKhQIel4+fKWPAkJTTcqMr0clcBHgSxcIFe21jfQIzo+Mmm9DOB5zpPadWqhUCjw9vVKcU1yUdxPCdXn6e4mO5wveV9m5eo/k4RrdHV12bVzd6u89JGtiUEUxUTkwKP0UADvgGvAIkmSdmXSjsrH8B5ZqEVAXi5YSZIUJ4piJ+Titj8CesDwrFSiBUGoaGJiQrtW7QkODmbJoqVFVolIEIRMU76zk0SV+pzcJF7lltjYWA7uP8Bv0yczctTXvH37lh5demJn7UDok9D/s3feYVEdbxu+z+6yS5MOSlERdI8IiL13YyyJLbHHaEw3mmZMT4zp9ZfkS0wzVaNpmqJJ7CX23utBUBEUu4CUpe18f8wuAlJWo0h07+vaCzh7zpk56A4z7zzv85KekY7eoKfvyD4EBgfQsW1n9u7ZS3ZODnP//gOj0YjFYuHR8Y+Sm5vLqZOnyc3NLUozL+tZi1f7sgucTp48gaIojLlnDPFaPLfcegt//SlnYqWNfG+EylOlKV6JKrxeOFGNGnLo0CGee/p5jiQdofMVGCwdXUpMQAYK9wHvIKvcvIv0UziGLCdXCMxWVXVkBfep0KgFiEZmhOmRy4gTDvStICY2mr8X/kV4vfAqr0QUVDOQ1FSZ8p6amkpgUPlFZhytgFX8nMupun25LFywiCZNm1Czptwp9vHxoUvXzgweOohffv2JXkN7UJhfQJd+nZj6+jc8/Nh4ht8xDEVRipYnu3ftYdiIYWzatpEnnpxA47jYctsrq9pXcYHTF59N5dfZv9H7lgsS9yth5Ptfp/j/CXu16ycnPEVWZiY6nY59+yqtuFApjg4MIUgRUoymac9qmva+pmnPaJoWjaxK7atp2k3ATOCpCu5TrlGLLe16BnIQOoI0hv1BVdWgijomhEj18fEBpAy4KisR6RQdt9x6Cz98/wM6RceM6TO5te8t5Z7vaAWsshKNrjaKojDr59n0vqUX6enpKIpCTk4Oy5Yup3Hjxhw4kEDK7lRcXIzEBTRn97q9hHYMon7HcE6kHef7WdPZsH4jBQUF9LdtMY5/dFyFAqjS1b6KC5y8vbzx9/cjJCSkaKkGZYukrvfKU6Up/n/CXu06ISmeGT/PwNvH+5INdcrC0YFhDFJ7XRbfIsUUINWMDcq7SSWVqMKQrk0ZyIFoEpCFrEZVIXaBk7Y/nvnzFhAff8CRZ7pkygriTXz6CZYtWUZMw8YsX7qciU8/cVXavtrYqzs1a96MXjf1pmXTVnRo05HuN3WjZ++beeiBcezatYuCggLG3j8Wq9WKwaCnTfdW1I4IY/vanYx7cBwdOnVgzu9zAOjepQc5OTnlVvMqXu2rkTmG/fu0ovOSDiexe9ceDAZDid95x7adi36uG1qPNavX3pBGLVcbRwcGA1JnUBZRxe6Th0x+qojykqg2I5cqk4DfgO7IWMTOyjrXsmULdu3fSeO4WGb89D1jxz1Y4n1HEqJKU/qaeC0ebb9GUM0gGkVHcT7jvKwa7e/P/MXz2L1/J/MW/Y23tzdtWrTltn5V50NYuq+X87weHh4cPZlM23ZtWb95HZu2bWTLjs089+Kz6PV6cgqy2LBlHUajkcJCK1lZWdzV5T6+e+977n16NK7uJnQ6HclHknn/vQ9o2bQVTZs1wdPTE6PRiJ+fLz//+DNJSUeK2pw+cxqr16+kUXQUWXnnyco7z6OPP8KH7/8fTWKaEdc0jpjY6KKK2IlJB2gUHUVhYSH1G0QSGhrCp1M/uSGNWooz5aNPaNGkFRMemYCvbfb8b3F0YPgJeFNV1QmqqjZQVdXH9nUi0ubdLjtshlwelElFSVSaptmrXN8MjER6PTxrm2VUiNVqrTCp6HLW6aWvMavmor31tRvX4O7uRr8B/S667lok91RVXEIatrozdPgQatSowefzp7Dxn81sXL4Zc0wDNm7dwPbdWxk0+HaGDBvCy69OxuBiICKyHpu2bWTg7QN5/pkXyr3/0aPH+PTjTwkJCWbyqy8RHBxMcHDwRc/265zZJB9JuWEqT1VEVlYW3379LSvX/sP6Les4e/YsOdllB3svBUcHhkeRuwWvIT/4Z2xfX0FWpX7cdt4G5DZjeZSbRKWq6hPIAWEosqDt78BXqqo2qahjiqIo27ZuqzCp6EoYpIDc0hNCsGzpcupFRFC3bsnalCkpR69Jcs/VjEsUT8iyWCxkZWcTFxdHpy6dOLIiFROuxK89yKhho1mVupw/d//OwTMJJGUe4pEXHmb4iGHodPK/WavWLTmacrTctoQQnDp1mojICB4aP5bs7Gw6delU4lnad2zPe+/8r0jwdKOTnZ1Ny1YtcXd3x2Aw4O3tzenTl+XmVgKHtis1TcsDHrUlQMUCtZB/7Xdpmna22Hn/VHKfioxa+gKHNU37BUBV1UeQtSyHIk1jyqN9cnJKkWgGrr5xx6yfZzN46KCLjldmyulIElXpc0JCQkhJTq7SBLHi2BOyDh9KIisrE6tVMP6hhxFWwZzf51DDqwb1IiK46+7RDLlrCGsWrCU/vwD/mn4IASJXcOaM7HuDBg3sDsZlPuvwEcPIzs7m26+/47tvpuFZw5P7H7yvRH/WrlnH3D/+LKoABjeeUUvxSlSJCYmcPXOWmd/PZNLzkzlx/IR923yhEOKytQyXJHCyDQIrLrcxG+VVuz4OtFZVtYmmadsBe/JUhTELIcTqunXrcuL4iSrd6x9996ii/5gAB+ITaNI0jmbNm7Lyn5VlXuuIaKqyc5KTU2x7/RfMYHft3FVCD3AliW0cy/rN68p8Ly0tjf63DORI0hHatGhHTmE2Ix8fwdFDcpdg14bdHElOZtW6lcRrGp998gVNmsbRrlV78vLyMBqNfDv9G7p06wLIgjx//D4HvV6PTqdDp9Nx7mzJ3JP2HdqxP2Evt/W/vUjwdKNRWuA0YuRwPv34cyIjI7i17y0sW7qcxITEqy9wArClRXdC7h6UtgYWmqZ95sA97AInkDEGkPqH5silyq3AKlVVPbjgClXaPPYi6tStjd0M9mpj3+tv165t0X/MwsJCgvxqkZh4EDUyilyLhYyM84wZdfcV1/Hbi8gUN4N9+tmn6D+gPyOG3nFF26oMHx8f2rVvS35BPu+9/y4LD/zNuD6PMfzhoSz6ZTGTpj7Hd5NmsnnjJj779AsWLVvAsaPHmP3HbEJCgtmzew99+/Tn4BFp1jLtu+mcOX2GhKR4jEYjrZu1YeGChbTvcNl+IzcEd909mlFj5MbgSy9MLvIi/Tc4qnzsgAwGlqfeEciZQIVompakqmoMkIjMjQgGVGC/pmlbVFXdi5xNnAY+RCogr0muRHnM+nkWg4cOLnFsuW2vf/mqpQBF6cBXI7nHHpCDC/v4wcG1cHVzu+JtlcWpU6dwcXHBx8eHnJwcNm7YxISJj5OYkIi7pzu169dmw5KNmBs3oHZkGJmZmbzz9nsyASsoiKCgC7KURtGNsORYyM3NxWQykWvJQ9gEtnq9HhcXF7Iyr/ws6Hrj5MmTBAQGkHwkmbl/zKV+/XIVAw7jaPDxI+Ag0BQwaZqmK/Wq1Dq+GHuRg0hNZKBSAJGqqjbE5tykaVoQMNvWv0qrUVVGeUlEl3pNdnY2y5YsZ8Bt/VEUpSgY+Us5MYerjd0M9qsvvy7SA5Te63f0eR3leOrxi3QOvW/pxb1j7mdc98fY/M8WAt2D+OStT+kY3JWExASysjIZNHgwTZo0ZdCAC4Pq77/9QZOmcZhM0iC8/4C+6HU6WjdvQ7O4Fhw9eox9+/aXq2O40s/2X2X44Dto3rglgwcO4cOPPsBorLTiQqU4ZNRiKz57m6Zp/zqhyWbUMgAZX3ADtiGXKEOBp5GKyNGAEVioaVqlgoCBtw0Qb737ZpWbqgghyMvLI7JOfTbv2EStWpdVJvCyKG1mcq1NZcozX+nUuRNPvjqBmKayAFC9GvKv2d49exk0cAh/zZ9LRGRE0fnffTONLz6bioeHO1GNojCaTPzvg3er9mH+I9hjDIuWLShxfPjgEfz+2x9VYtSyE7kT8a8oFmPwQeZJ5CDzI25DVrVuwAWjlj+Ano4YtVxLSucXFOdKCI/KorQZ7AP3Pki7Vh1ITHC0RlDl2IOcTWObl+noXFl/Sj/nuy++zy2tBtCyaSv69enPoIFDeOPt17l9wCB8PPzw8fAjsk59xt7/EBkZGWRknOfPuX/RoEH9K/ZM1wv2f5vNmzezZfOWon+bHdt30KldF5YtW46iKJsVRWl1uW04OjCMBR5XVbXz5TYEMsaAzKc4hxwYUoB1yIHiHDIQmYi0fGuGVELeXObNqgllxRzsXA3hUVlmsGUlI/1b7EHObbu2VJisVF5/Sj9nu65tmLN2NouXL2Lbtu3ExMbQuk0rvpn2NWlZZ0k+noTBYECv17N89VJm/f4z3t5eDBle9u/2Rsb+b9OiRQvimsQV/ds8/8wLPP/is3Tr1hWkgvidy27DwfMWI9Ojl6mqmseFHYUibHEBR3gTuEfTtFxbXGErkIoUNOmRtSTmAX2AOciZQ4VcCzNYoCjmMOWzj8tMt+7QqUOJAjSlf74cyiq44uXlxf59WlGM4Uo8f1lBzmNHj5UohVdef15+dTL79mvEawfQ6XSMH/YYjeMaM7L/aF565SUy0jNY+c8K+vbph16n58/5cwkKCsJoNCKEoHunm3BzdeODj97H18f3Xz3H9UjxfxuDwUDDhirJKcmgQFp6GrbowFWrRFWcTyjfj8FhbJmSsUCSqqoFyOpTrshsyhTkjKEZ0pwlDTmjSazsvi1btuBqmMFWhj2/oCopryDv1YwxVFTxqqL+mNUGF/Xn8acfYdumbfS7vS+Dht+Gj8m/6PxDhw4TVDMIDw9PFEXhYOIhusq/fk7KwWKxcOjQIVq0asFb773FwFtvsysf3+Nf1JVwVPk4+XIbKIVALkumIYOLIAeFV5Hxhm3AHcAzwFnb688r1Pa/4nIMU0qbinh6epCYcPCqCJGuNPbn9Q/wx83NrdyKV+VRKzCYlStWYdS5kme9oFE7n5rDt19N40hSEmNHj+fHn34kz5IHBTp27NhBnz59SDqcxPnz53lk3KOMe3A8AsHZs2cZNmwYBw8e5PTp09SuHYYQMPC2Abw4ufz8i+sRe8XzzZs2k5uby8hRd+Dl5cXzT7+Aj4+3XRR2Bvk563I5bVSp56Omaac0TeusaZoJuTWZh4wt5AJBgAtSCekOBACjHUmiqgouJz5Q2lTk2LFUJr384lXq4ZXl3yYrpZ9P44EH7y9xTNsTz4IFC/n06ykkHExg2JDh5Ofnc8fwkdxz7z38+vtsUOC7ad+xcu0K/AP8yc/PJ89q4Y03X6dz107s0XbxyGMP06t3LzZsWceihYvZsH7jlXz0ao/BoOe1N1/B5Gqidp3arF2zjv179/PD9z8yaOggbupxE8jExraX3UZ5b6iq+gsyuzHR9n2FaJo25BLb/hhpClsTOYs4BtQH7kHmUgxFJlH1tkmkrymXEx8IDg4mLyYPkOv0pk2bkGvJvRrdu+K079ieYYOHX3ayUo4lh/T09KKfFy1YRGyjODp0bMeEx57gpk430SBSxSumDph0cDiTNQEpGNNP07ZtW1JSj5CVmYVOp6PAZro7f8l8BIJ77rubnt178/yk5ygoyK/QTu96pFatWrzw7Iu4u7tTp04dvL29SE1NRSCo36A+27ZsB7kEv+zlf0UzhkDkX3CQf80DK3k5jKqqw5AxhKW2PkQC4cgg5/e203YiE6wqLqlcjSkukqobWo9FCxfzzlvvlGtcciXauVL3tScrZWVl0bp5G1o3b8OCeQsqv7BYfw4dPEy8Fs9330zj8UefwM/Pj66dupGScpT33nsfb29vSMyA5CwG9OrLvrcXUssrgIZqQ9q2bI/BoEev12PSu3HyxCnCQkIBCAwMJDEhkTrB4XTr3q2EWe2NgD3gm5aWxuZNm1m4YBHp6ekYXYy899b/WL50Ocggfn4ltyqXKq1EZQs+3gI8hzRieR1Zfeo2IB0pu+6JTMe+BTlIDNc0bVFF970alajs67jiyUp9+916SQG+0uv0p559iqZNm1zSPcrqR1WYnxY3ak3LOlv5BWWgoOCiMxXFGHRWAw8/Mr6oilTb1u3xerTkh7pVzUasevknYmJiSExIZMGS+bTv2I6QgDDOnjtLetY5enTtybat26jfoD4Wi4Xf5swmOib6Xz/zf43unXuwfdt2wuuFU2gt5IB2gDfffYO1q9fxx29/KIqinBNCXNa2jqNVqiepqhpSznvBqqpOcrA9gQw0hiGl0SOBc5qmzQU8kYODfcH4C/C/ygaFq0VZ+/ilKzNXxpUwFXFUT3CluRraiLS0NDZu2IQaGcXEx58k9VgqrCi5o7bxxF4+/uhjzOYG6A16Nm+SA2hQzUCOHkvBzdWN72Z8Q2T9SDZvlx6TX039+or2879Afn4+e/fuxT/An6++ncqWnZuoFxHOZ1M+JyMjA0VRgoHLrmXgaPDxJeSHuSxCbO87Qijyw++NNJE9wgVNhDdS9Wj3ptoM1Cl9g6rCXgkayq7M7AhXwlSkrH5UhflpaaPWK4Gfvy8bN29AS9zH7N9ms3PnDnK041imbiNn6lZOf7CKHRN+Yt68efTt35fCgkKioxsVme7OmD6T06dP88OMH7m17y1kZGSQnpZO3fC6V7Sf1R27qMzd3Z3w8HCaNmuKXtHTt19fXE0mci0WkGkFcy63DUcHBoXyAxlhyJ0FR+iCjCWcRJagCwbqqKq6VdO0HzRNW4DctgT4EalzuOYkHU5i6dJlPPvUs5e0ji+9Tq8VEELblu0uOxZQkZ7gSlPcqPVy+uqiGDHqXFFQMOlc0St6CkQ+OkWPUeeKv58/v8ySMW37sXOn0unUvgsbN27koQfGYbVaeeiB8Xz/7Uyee/Z5Fi9ZRNtW7fnog4/5dMpn1A6uS+O4xjw24dGr8SuothSPMWzdsrUo/jN0+BAOHTrM9m07QMbm3rrcNiralRiNHHXAllatqmpGqdNckYIlR6f7U4G/kAKmQUjhVCgyrmD3fLBnarZDSqKvKZmZmQwfMoJvpn19yUuBK2kqYu/HpeoJLpfpM6f9K9FUvsgr809JvlXuynh4uzP9BznYFIoCCkUBO3fvYOjwIeVWsp636O8S90pLS2Po7cPZs3vPDRVjsIvKiidR2ZPYvpvxLT//8DO///bHvwraVyRwykaKJEDOGNKRgqPi5AHzgU8daUzTtGxVVR8Gpmqats0mry7UNO2U7ZTiLpajHLmnvRJV09jmJRyNKhIjORLQe+DeB5n393xysnN4cfILNG/R/CLnpLKCgIWFhbRv3YGQkBACgwJLOCtVJpIqq1/33n8P3Tv3IF6Lx93DnTdfe4tHHnqkxD3UyChq1PBEr9djMBhYumIJN3W5mby8XAoKCunevRs7d+6q9Hkr6ltl71sslhJtDrxtAE8+M/GiY8XFSPZrDiYmkpFxHqPRiK+fLwvmLyTXYuHs2XME+ARhybFgtVoxGo289uarRX338fFBr9fTokmrIqn29Sx40isG9Ir8yAohfx95eXkoQoflfB6LFy3Gy9eLn3/4GeRn9v+QqQXZyDqxWx1uzO4pUNHLbDZ/azab6zlybiX3aWI2m/eYzWaj2WxuYDabC8xm80Hbe13NZvMus9l83mw2W81m82qz2Rxa2T2B4C5dO4ucgixx8txxUb9BffHlN1PF2o2rRaPoKJFTkHXR62Bygli7cXWJa7bu3FzinEXLFohevXsKPz8/h6/JKcgSb737phgybLDo3aeXWLxsofj1j9nCZDKJnIIssXjZwkvu1+btG8XgoYPEuEceEhk5aUJtqIqpX39R4h516tYRyceTin7Ozs8Up9JOiJyCLJGRkyYaxzUWU7/+osK+l9W3/Ql7i36urO+l22zRsoVYvmrZRcf+Wb38omsWL1soVq79R7i6uRa9//Z7bwl/f3+xP2Gv+OTzKeKvBX+Khg1VUS+invhnjTxn574dwtvbW/gH+Ivk40lltnH9vLJFobWw6OeCwnzx+huvizfeeEOsXLVSjH90XNF7Awb2F0KIPkKI+UIIRQjRRgix4VI+q5XGGGzT+xFA3KWNb2XSBRljOII0YFGwxRiQuxRPIGcNtyODk5W6QhWvRFXc0agiRydHAno6nZ4F8xcWxQcG3DqQE8dPVHhNaZfoqV98yQP3Pli0Tk9ISLzkfi1dsoxZP89mxfIVtGvVnqSkJBITLk4fKTVYFtl75efno9MpRZb25fW9tLN0aW1EZX1XFKVEmwUF+eh0uouOFRcj2a/p0KkDNWrUACGPWYWVv+b+Rb3IetSuW5u77x1D/fqR6PQ6atcOY8ydd9OiSSvat+7AkGGD8fDwKLeN64kST6UonDl9hr59+zLmrjFM/Xka3rVr4l27Jhv3bwfoD0xHLujWI4P6F1caLodKBwZN0yzIYGHBJTxDeUxFipleQsYZNiBrYvZEiqS+R7o6zUMmVF1SMv7lBOfKu8YeH4isH1FUT8LuRFzeNXaXaLtdevGCKolJBy4p49Hexl13jyYzNwOdTsehg4d5aNxYxtxzV4lzFUWhb+/+tGvVga+/lHZy9rLxpUVAjv6Ops+cxqGUg5y3pDvc97LaLK8fpa9p16oDHh4eRe+npaXT4+ab6NyuKz269mTnzl3k5+Vz8OAh1m5azaSXX2DkqJF8OOUDhBD07N77Ohc8CQpEASadGyadGwjBps2bqF27Nvvi97J52xYWrV5Kh5dvx8O3BsjYXfEMvxTbMYdwdFfiC+ARVVX/lWeUpmnZyPXOE8BDyBiFPcbwBHJw+AnpDP0McgvTIS4nOFfRNeWZn5R3zby/5hMUFEiz5k0d7bLD/dLr9WzYsp6EpHg2b9pCvFbSH3fJP4tZt2kNf/z1G1M/m8rqVatLXDNzxg+EBIbRNLaZw7+jyzGVKd3PPbv3lDi2etUaOrTpVML8xf7+ijXLyc7OpnlcS1o3a4umaSxasIgZP00nKyuTEUPuICEhkdZtWjFowGBG3zGGpYuX8slHn6IoCguXzi/R7vWITtGTa80h15oDCvTo0YPCwkLatWlPi2bNGdjlViL2lvZpvsy2HDzPB2nnflhV1emqqr6rquo7xV5vX0KbrwJfI23dOhQ7bt8Py7K98mznVUpllajKorTrUGnKEvhUdM26tev468+/USOjGHXHaP5ZvoIxo+52qC+OtuHj40PnLp1YtXJ1ieOhoVJ7FhQURN8Bfdm8aUuJa3r2uplhI4ZektDq35jK2Pu5aOHiEsfatW9Lm3atyxRrySpXHgweOogNW9fRoWMHzmdmsnvnbv5vyofo9Xr8/PzYsnkrt/S9Fc8anmRnZ/Pc08+TkpxC25btsVgsF7V7vaBDX7RMBCgUhcTExJCRkcGCxfMIe7wNPg/Fsm3NFnLOZ4Ocidcudosw2zEH23OM25EZkHlI/cEgYHCpV6XYqkrdBHyA3Kos3dFjmqZ5aprmibR6e0BV1QpTwx2pRFWaslyHSlNa4FPZNa++8QqJSQfQEvcxfeY0unTtfMku0WW1UbwSVE5ODkuXLCMi4oJHYlZWFpmZmSiKQnZ2NksXLyMsLLTENQfiE9i6eeslCa0utZpVWf2sVatWiWMbN2yiW7dugIx11IsILypALKtcZdG4cWN0io4+t/Qm/Vw6AYGBvPPWe+j0OmrWCiImJprGsTEkpyZx4JBG1+5d8PP3Y92mNXh7e7N0yTJUtWpLBFYFAoFOufBx1aMnKSmJNWvW4FXDiz0T5rB13CysBYVE+IUCzEXu7ClAG+SuYqrjDf7LnYZL3JV4zGw2Z5nN5jSz2ZxjNpvzbDsTW81mcxez2ZxS7Nwws9kszGazXyW7Eh0AERMbLRrHxYrGcbGiQ8f2olatmsJgMIiQ0BDx2dRPS0R4l/yzWJS+5ve5v5Y4Z/DQQSIgIEAAIiQ0RDzx5IRKr7GIEJ2oAAAgAElEQVS/Fi6ZL3r36SUGDx1Uoh8tWra45H598H//E3FNGouY2GjRKDpKRMc0KnGPV15/RcQ2jhGxjWNEVKMoMfmVl8TGretLXDN6zCgBCJPJVOHzlu5b8V2Jst4vfn3pNl986YUyjxXf8ahZq6aIiY0W3t5ewmDQC51OJ4JDgkVYWJjw8PAQDaMaivDwugIQer1eIANp4r777ylxD4PBIBpGNbyojevtlV+YJwqthaLQWigKCvNFt+7dRO8+vUVufq6Ii4sTHh4e4omJE+y7EooQ4hMhRKIQYpcQosWlfFarOonKHSmhLi1wagE8CLyIVFFakDOUbE3TKqxdCVC3bl2Rk5NdYo+9tJ6gMpOV0vv0pZOIKtM+lLWP/+LkF8rc/3950iv89edf6HQ6AgMDmfrNVEJCHA4Yl8BRTcblJERVJHAq67kcNbOxi3G8vL3ZtWMnFksuderWKdH/Z59+ji8//4qgoECOHj1GREQEP/74I75+vtSuXRshBM8/9xybN2/mo48/pkGD+uj1evKt+Qis6NDhojMV1amwi6iuF9TIKE6fOo2iKKgNzazZsLpI8HXs6FES5M5VoBDisgpZOmzUoqpqhKqqn6mquktV1aO2r5+qqhpR+dUSW/DxYeTuRCZyiuNnCz4WImMLgci1UT0cTAKpU7f2Revh4lWnHVkvl2XcWjzGUFkyk8lkYsGSeWzcuqGEgUhZbT8+8TE2bdvIhi3r6X1Lb9587U1HHrNMHEmyuhoJUWU9lyO/5+IxlBdefI7vZnxLzVpBF/X/2eefYcLExxk6Yih9+93KmTNn6NnzZm666Sa2bN/E2TNnSD2eysLFi9i+YzvPPPsMBdZ8XHQX4uNWrORZLeRZLdfVoGCncVxjmjVvxpoNMubk4+NDk6ZxpB4/DlIScNk4ml3ZHFlY9nZgE3J/dJPt522qqjZz8D6lYwzJgF31uBRp99YSKYv+ALhJVdVKi9mUrkRVWk/gyHq5rIrRxWMMlWkfytrHVxTlovtahRXPGp5YhRWrsJKdlfWv9t0d0WRcjYSosn6nlf2eS8dQOnTqgNlsxs1WRctisRAZGUFKSjI6vcKSJUtp1rwpCQkJ+Pj5EBAYgNpQ5ZcfZ3Pw4CEmvToJhGCbxxE++f5LJq/4lEWJa2j/7cgr+qzVmby8PNLS0sgttJCWeY4Z38+kXr168C89Wh01g30P6cfY2/ZXHyhaGsyzvd/Ngft04UISlQk5AOhsAqe3gT2apm2x3ftv4EmkSYzjQRMqrzrtCKPuGM3ypf+U6bxcnhagsLCQdq3ak5hwkAfG3l/hfvrkF1/mhxk/4u3txYIl8y+7n8Upr18VPUt5OFKZ+1Ipy1F63PiHit7fumUry5YuJynpCIqi4Ovny0MPjOf0qdNEREaQdDiJeC2e2wbcxowZM1ixcgX16tXjs2++4JHNd2DydWfMn88V3U+HDqPOFYGgwHqh/N31gKIo7Nq1C2uhlZZNWuHl401GejoRkfUICQll965/V8DN0aVEK+Cd4oMCFC0N3gNaO3ifqUgF5RlkktRmLgicMgE3VVVb2wrTfInMzTju4L2BK6cnKE+cVJH2oax9/PKY/OpLxB/az7DhQ/n8ky/+VV8r69flCK0uR+BUGfbkH/syasOW9XTu2rmo/y9PeoXpP0xj844NbNq+nkXL5nP4aCKvvDaZ7jd1Q6fomPnTTMaMGcOCBQtYv2Uts3+bxQdbp1NPjeT99d8yqaMcaKxYybXmyGWENR8Xnelf9/9aUroA0J2jR9KsWTN8fHw4deoU2VnZZJ7P5JuZJXbCpiiKsktRlH2Kojx7Ke05OjDkAP7lvOdHJaXq7RSPMWiato2SAicV6b+wHjiMrEqVj3R4cpgrpScoi8q0D3bK2scvj6EjhvHH7/+uCI2j/aquCCEq7P9tg29nxvSZeHt7M2DAAKyiEEUHqanHMSguLNz+D4YaJhYfWkt04MUFXa1Y+a+LpEvHkn764WeysrLw9/dnwsQJjBg1nNzcPNo378Bi+f+uNtAX6IGsJv+Aoijhjrbn6MDwN/CWrep1Ebaf38RBi/dSMQaAf5A5EQAZyCXG30j3poHImMPnqqo6nFN7JfQEZVGZjqGsffzy9tOLO0H9NfcvzP9i390RTUZ1RgjBsaOpF/U/4UBi0fuj77iLgMAA/AP8bL4OBfS5tQ8zv5+JQGDOCMK7STAtQ2JJzrh41alUrRn6VaF4LEmn01G/fiR5eXl4eXuxbOlymjVvytRpn9OrT0969OwBcra9Glk53g35R7i0bUL5OKg/8LdlOxaazeZUs9m8w/a10Hbc/xJ1DMdtr0ybnmGr2WyeYjabP7ZpG8y287ebzeYVZrP5rYruGxoWWuYee3l6gtJ78GXt05fWHFSmYyhvz76stvsP7C8aRUeJmNho0eeW3iIh6cBl7207qsmo7Pkv9VXWPS+1ncFDBwk/P18BCIPBIMLCwor6b/8d1YsIL9IxuLu7i9OnT4snJj4uUk4cEV26dhZDhg4RmqaJvPxcUWgtEJaCbJFTkCXyCnOL9vzl8ZxrrkO4Uq/FyxYKFxcX4e7uLtzd3cXkV14Su85sFp17dhRvfPaK6N2vp0DOun9DBvezgPuvmo5BVdVeyF2DYGRAcMOleDLagpXFF8ATkcHIsci88VeQwUZ35MxiDtJmvpGmaX3Lu+/VMIN14qQ6Uryq+Kcfy+TjRcsW8NSkiezZvo8Pp7/L03e/wPy5Czsg85HuAnyBVUBvIYRDlY8d3ZUAwGa95piHeNnX25OoAFBVNROwaJp2SlXV6UBX4E7klCcFWRnbFceDm06cXJdYLJYShj27duwCYP++/YSHRpCWnsbN/bpTUFBov2QE8rPaBFk4eiVSSOjQwHDJiy9VVd1VVX1YVdVPVFV90baDcFlomjZZ07SRtu8F0nEmD6mRsJvMtqOMIrpOnNxIGI1GIutHMPruUSQcjmfRwsVkZGTg5u6Gj68PC7f/SUFBAb99XxTIPoIs0fA2UiPUANjvaHsVeT7+D+iraZq52LEayA9tA6R02Rt4QlXVVppWKhf48khEzhDWI6OpnZHy6X8fPXTi5D/MurXrmfXzbGJio2nXqj0JCYkEBwdz8sRJ/AP8uee2B0k7k8aB+ETCw8NBCghXc2FpPlcIsdPR9iqaMXQFZpQ6NhFZW/I+TdMCkH/VDyNzHK4EdZCGMPWQA4S9npv1Ct3fiZP/JO07tLvIsCcsLIyWrVqScDieT//+EN9AX8a9/ID9Em9kRmUY8Acy29JhKhoYwoEtpY7dDuzVNO0bkEVqgf9xZW3ec5HbKyeRFvL7gVpX8P5OnPznsFgsdG7f1b4Lx+xZv5KVlYUQgpdemMzAxsM4kXyChN1Ftn+fIGXR25FV3WqXd++yqCj4aKCYcElVVT8gytZgcQ5zCR9cVVXHIyOlscCPmqbdZTtuBF5GSqX7I3cl9Ei7+atfYcWJk2qMPUnP09OT/Px8GtZvROqxVDxreDJ/3gLi2sbyylcvkn42A21TAsj0A4GcNbgDbyuKckgI4ZCarqIZQ7zt5nZutX1dWOq8IC62la+IY8BrlB03WAXciwxA/oa0e/sFuUPhxMkNy+nTpykokBmi9gpcJlcTR5KOoNPpePz/Hia7MBsXbwNWUQiwBugnhAgHZiE/o+scba+iGcMU4EtVVb2BE8AjwCEuLi5zM9Lx2SE0TfsNQFXVFhQre6dpWh7woe2914GRmqb9o6rqWi7YvjlxckNyPPU49465j3jtALl5ubRp0waDwcDhQ4c5knSEkU3vRq/X0X1wV/slO5DFolcBAUg7gzDkZ7lSyh0YNE37TlXVYC7Uk9wKjNM0rai0tqqqgchp/8uX/qhlo6pqY9u3JlVVJyLFVN9dqfs7cfJfxMfXFx8fX8LrhWO1Wjl54iTePt4y3b+GJz61vMjJsrBn/V7qRdYDWZ7uZ0VRcpBxuyyk54lDVChw0jTtTWQuRHnvn+ISA4PFYgxNkPEJ+/E2SKPYDsgdiXnACqCHpmm5F93IiZMbCHsSVdNmTTl//jwNIxthsVhQFIUXJj1Pre5+bFq2lTfuf8c+MOiQvqkq0vckCQfFTfaLqxp7jGFHqeO+yLTsmrZzFgJ5mqZdWu15J06uQwwGA/Ui6hV9LxDoDXpcjC5s2riRQLdAUnYdxbOGBwadAeAe4A8hxBFk3O4fIYTDSVSXJIm+EhSLMTxBsboRmqYVuZWoqiqA34H3q7p/TpxUR46nHue+u++nsLAQi8VCYUEhoaGh+Pr6MmP6D3z7zTQUReHtaa+x8MclIHOaeimK8hhyKXFJfgxVPjDY7OANyNmKYiuBV6BpWoGqqiYuVOJqBuxVVVWxyaWdOLlhaWBugMHgQkF+ASnJR+lzax9OnTxF6rFUQsNCsRTk4Ovvw8xPfiLALwCgIeACJCC3Kz9RFGWZEMIhhfK1WErMRRq/tAMibN+/oKrqHbbvc5DO0Q8inaNuuQZ9dOKkWmEymfhz/hyCQ4J5cfILHEk6QkZGBqdOnWLS5BeYtX4mkY0i2bW5yDXsJ+A9IURjZA5SIpdQf/ZaDAxfIU1YtgKJmqYptmSqmZqm6ZB5GMeQ1m4HkcYtTpzc8Ex8/EnUKJUHH3qAggK5OSiEIDAwEIAItS4uLkUu2XOADoqiGIA7kLOHfRfftWyqTYzBdqwusAS5OzEUmO5cRjhxcsFI19XVlc+mfI6/vx9+/v4YjUaef/YFMiwZKIqCj783QoAQYp+iKAuQg0E48JQQwmG9UbWJMSB3I5YhhVXzkdLrK2PW6MTJfxy7kS5QVFgmLS0NnU7H2o1r2HhyLSePnuSpkc8XXSOEeFdRFB0QJoT4oJxbl8m1WEq8QBkxBuSWSgQwGSnHBth1DfrnxEm1o7hLdLdON+Hq6sr5jPMUFBRQUFDAz5/PYnDLO/D2v6h+yN3AWEVRBl1Ke1U6MNh2HWojTSTykJ4OfTRNm4zUc29BOkMbkFmVraqyf06cVFfS09N5ftJzbNu1hQVL5rFyxUp0Oh0+Pj58OfUrNq3YgpuHG627XqgpoihKI6SVgcP2i3aqeilhQKqwOiNnCG2AX1RVjUUGHAchdyQWIWXQPwGNy7yTEyc3EMJq5aknnqKwsBCr1UqdunUwGo34+vnyykuvYnIzIqyC24f15/1dU+yXvY/MlXCo1GNxqnTGoGlaFlL1eByZUp2KlEW31DQtTdO0w8BoZGZlNlC/KvvnxEl1JbZxLOs3r2PTto38NudXsrOzqVGjBtlZ2YwYOZyFO//EN8AXF6MRAEVRQpG+Jr0up70qDz4i4wkvlTrWGZhlC0Teh3RsugOYVMV9c+KkWmKvpm7JySEx8SB9bu3D8dTjJCUlsW7Nev5s+SfnTp8jP68ox/FD5Mx7NzIRMRKY7Wh71yL4WB85YziPnBWs1DRtvO299oCGlHAewOnD4MQJULbA6czpM2RnZ3PkyBEKCgrJteQyqMNwci25IJfpkwBPpIahoaIoAxxt71oMDG8iPR3nIWtXqqqqNldVNQC5hHgRWfZuLtIPIuga9NGJk2pHaYGTq5srer2ewykH+WnDdHwDfIiIjsBgNIC0RRwnhKiDnCmMddS9Ca7NwLAX+AypW3gYaT8ViTSV2KNp2ixN0yxIkZOBK+sn6cTJfxK7wOnrqd8Q6FOToylHsVgsGAwGDAYZEdDr9Zw9WWSmZgbMiqKsQaYVNLmU9q5FjOEzoDeyItUOYBty9jAdOKqqqh7wQAYpC5AekE6c3NDUqVuHTp07cfLkSaxWK4UFhZhMJvLy8mjdvA3Z+VmgwPHk46gNVZCf7ebIIP854ClFUT4WQjjk4FTVOoa6yOpSNZERU4E0hb0N6RLVD6ljSEemje5GmrY4cXJDU7za9er1Kzl37hxnTp9Bp9OxZsNqvl7yBbGtYgioFWC/5Chy1vCAEMKM9HsMd7S9qt6uTAJiAFdN0xSgEXIgiAX2IIvZdEIGJ59FjnrOKlRObnjKM2rx8fHht19/x6Q3sm7xevoM7olOUUAG7vOEEDsURQlAqoodNj2q8hiDpml7ilm12ROkopHyZ0XTtNVIbzpXZOxhz8V3ceLkxuJ46nF63dSblk1b0apZ6yKjlvB64Xz0wcf0jbsdg4uB0Y+OtF9yHshVFCUTKSpcKYQ442h7Vb2UCFJVdZiqqlNVVc1Gyp5NSJXj70CMqqq3204fBezUNM3hentOnFyv+Pj64u3tQ15ePinJRxlwW38MBgNubm6sXr+SWmE1OZ+eSXZmUc1oA3K5PgC5XdlCUZTujrZX1TMGe+Hae5Gdzgd2IgeFSORU5xekLLoPctfCiZMbHoNBz2tvvkKdOrV59vlnWLtmHVlZMtvy8KHD7NuhERgcUPySFKQc+jmk0Gkr0hXNIao6xnAK6Aa42WIMjZEutm8gzWDfsn09BqxFblk6cXLDU6tWLT7/9AvUKJWnnn2Shg1V8vLyALh79L1ERkUUbVvaWIisPzsXOIVcru91tL1rYdRSPGZQFGPQNO1J+0GnGawTJyWx6xhiYqNpGtuMxISDRNaP5MzpMxRaCxl0z0C++Wg6Rp0JacGAO5CJTDEIAVYIIRx2Q6tOMQZUVTXZ8iWgmBlsVfbRiZPqiN2oZfmqZbi5uTH9h2n4+fmRnJzMijXLGTzmttKXfAiMEUJEI23eSleur5CqnjEIYCzSlLIA6em4Czk7AJknUdf2/YO2r3UpVpjGiZMbEYvFQvfOPYjX4nH3cGfXjl1YLBaysrIIq1mHgoICdDodw7uNIio6CqA70F+RW5d6YLSiKHcKIRwaIK5FjCEZ6doEclvSBxirqmoj4DSQgRxA9iCXGIerso9OnFRHjEYjkfUjGH33KBIOx7No4WIKCwuJaxLH7v07Ca4dTGCtQH5cNh2TqwkhhJ8QwiiEMALLgd2ODgpw7ZKowjVN80IqHVsBbZEBx0eR8s1xyKpUP12D/jlxUu1Yt3Y9s36ezYrlK2jXqj27d+8mIyMDT09P6obXxSoKsYpC0vPSKLAWlL48Alh9Ke1VeYwBqXJ0seVEtEcKmY4g8yOmY6uyjZxNOI1anDhBxhgyczPQ6XQcOniYh8aNJSwsrMQ5Xy76BG+/kp6PiqK4I2flz3MJXAsdw1jgDDLG8BVyafEqF8xg30XqG6Yg10ZOnNzwJCen0OfmW8nLyyc0LJQ5v88lKyuLgwcPEhfdlDMnzvDmo++RmZ5ZdI2iKM8i43hGZO6Rw1yrGMNZpGQzGSm8yNU07WVb8RkFmVkJ8EpV9s+Jk+pKWUlUJ46fwNfHly07NuFf05+QusHMnPIzUGQEOwzYgJwtfKooisN/aK91jOFmoCdS4ASAqqqRSBlnKvC006jFiZPyk6h8/XwxGAzoFT0tWjTn/MlMXHQuAP2Ru30dkTPzBC7Bdb3aCJyKHfsEeBr4FKlxCOUyXG6dOLmeKK/a9dGjR4ms24ATx0/y8oTXaNy8MYEBgSA/Ny7AIiFElqIoKbZjDlGlA4Ptr38322skMl/CCnynqmoPpMtMLjKC6odcbjhcb8+Jk+sVexLV8ePHSUk+ypBhgzl08DAF+QUIIfD198FiyWXMI6P464f5IFcDjQAfRVH2IVWQ8x1trzolUcUA7yC3MNOBGsBqm82bEyc3NBUlUbVv35bQOiEs37uQzjd3tF/iB3gJIWKRTk4xyJ0+h6hOSVSNbKe52N5LQu5MOHFyw1NeElVOTg4rVqzi4x8+xM3drfglW4Bw23alitzhW+Voe9UpxhBu+z5FVVWAQGSVqrc1TXu76nroxEn1o7wkqrNnpfnrTbG9cXVzpXOvDliFFWSuxJ3I5bgCfCyEOO1oe9UpiWqE7TSBjDtYgInIYKQTJzc0djPYvLx8Dh9KYvgdwwgMDKRFyxakZ59j7LP3kZGWQd6FgjOtgBPIXKR44D5FUSIcba86xRiaIXMoagDeyLTRr5HTICdObmjKizEYjUaOHUtlwz+bCKwVgLZTs19yF3J53k8I0RD4A2jhaHvVJsagado3mqa5a5rmqWmaB/CY7bL4quyjEyfVkfJiDHm5eTz1xNM8+tI4ci25hDewJycTAJwWQhxRFMUDuePnsE1idYoxlGaw7eu1EGE5cVKtKC/GsH//fg4kHGDP/l3kWvIY99yDfP3uNJBJibGKomQhP0NzhBA7HW2vOukYWgNpyJqVsUA7YL2maelV2UcnTqojdqOWzMxMbu7Wk+k/TOPjD6dwNOUoWvw+UsUR+jQdgH+Qv/0SgbQxiEN+ztYpimIWQjg0A69ORi2DkNuWQcjB4iQwsIr758RJtSQ5OYV7Rt/D1i1b8fD0JCU5BYvFQk5ODnWCw7EKKwX5BQzrcifRsY1AzhhcgfXIz3ka8nPn0MBQbYxaNE37EXgdmSPhgTSwdC4jnDhB1qX08PDgrnvuYvf+nXzx2VQAXF1d+Wv+XDalrsbb14ubB9yEydUEkAfUApoCHZCDgsOz72udRFVk1KKqahfkjGEycuDYgKzY68TJDc+hg4dYMH8hK5av4KYuPTh54gRnzpwhJyeHDp06kJWfhdFkZMXCVRRKHcNRZBbzTmSKQRqyurxDVCejlluBWcgSdb8Ck4BOtmxLJ05uaOwxhk3bNvLLrz/j5e1NSEgI7h7u/Dn3LwCGPjCI0yeKik3NRg4KgUAd4AUhxNkyb14G1cmoBeRaaAgwDanWAqnxduLkhkevGDBgxICROXPnYDAYmD17Ns3imuOXFsxLj7zK+nXr7ae3mjJlSkOr1Zqen5+f2r9//xerrcBJ07RTmqZ11jTNBDREroPOITMqFyDVj9nIIhmrkQOJe1X20YmT6oiCgg49Awb059c/ZhMXF0doaCivvfYaYeEhnPVJ5XTOCVas/geALl26jBs6dKifoijRBoOhxxdffOHt6urqsIvTtQzufQxsRH7wxyKDji7IgGQWMlBSgCy15cTJDY7CqlUrCY8I55HHHsYqCunUqVNRNaqu70zAQ+fDJxtnE388hQceeMB31qxZJ5GFbU9qmqabMmWKi6OtXZOBQVXVYchgyFJbHyKBO4DfNE2rrWlaEPAEcqA4fC366MRJdWLr1q2EBIeyfet2Orfvwt5d+/Dy8uLUqVPERsXRRgvgRNopDvpmANC/f/8jBw8eLFQUZQ+wyWAw7L3nnnsctjC4FgKnW5CFNrsjtyfDkQPEfcABW+Wp2sCLyFyKIGQcwomTGwqDYkSv6BEImjZrgl7Rs3LlKhRb+O3UqVOEhoayaNkCpm/4m1kHllHHN5gd/8zGzc0t+t133/343XffnQ2sRP7x/QAZ/H+psravRfDxVSAMWWBzJHBO07S5gBcy8JiJ1HR3Rm631KjiPjpxUi0oFAXkWS3Ffi4k35prOyY4cfJE0Xv9Y7sxa/tC3un3BP+sWwWycFNtZPyuG3KrcjjQC2hTWdtVPTCEImMH3shq1keQ+eIglxYfIc1hN9mOeRZ734mTGwqBtYxjwpZgpLBxw0YAdOjQTh6mee1GHD57lAMHE0BWchuGtI4PBBoA25HLc3HRjUtR1QNDF+TS4STSvTYYqKOq6lbkgzRBBiUftp1vxJld6cQJAEadCaPOFaPOhECQnZMNyG3MXxfOYULrkUx6/3VEvhWkF8MvyJn5AuRgcBxYjBQPVkhVDwxTkdLMM8gkqc1IhVZPYCZwG9LmOtF2/iJN05wzBidOgDzbMsK+lLCTL/KoHRjCB79+SZYlu/glryNjC6rtaxhSaVypNqiqdQzZyNnAVE3TtiF1DIW2HIoM5HKiDRfs4isNkjhxciOgoNhmC/KloKN79+7Ur18fo87Eg7feyffPfMTRn7Zw98i7QAb4/w+5fNgDrEB+vpYj4wwVUtWS6CbATcAHqqo2QCZ32PkQGZhchdQvgJRFO3FywyMQRbMFe0By27ZtjH1wLAXWfGr0Uxk4+V7iUw7yzYzvAN4HeiCdnNoj/U3cbMcqNWyp6rTrLsgYwxHAFyl7tscYIoC+yC3KTOQuRSdVVUdomvZDFffTiZNrjotiRGerKmfSuVIg8hECe6Upnn7qafR6PSgKTYe0JC4yjhyPfFzcXEBmVf6GtDBYjnSJ1iHjDn9V1nZVDwz20vb9kXqGAORORU/koPE+0Br5MKlAb2BHFffRiZNqQb7IK3P/oFDoEVgZMHAAdevWZfq0acwb/iU6RWHM3Gc5+O0Gxo8Zm4z84/sR8vP0AbKavENcixhDNlLV+BAlYwxRyAjqO8g1EUCEpmk5Zd3LiZMbERedFD3pFQPR0dGMGjUKAZzPy+J09jle7mzf0MMXmWrgh9zd+wgwO9rOtZBEv4p0f3ajZIzhVmSR20FIS/l8YKaqqg4/jBMn1zMuihEhBFas5FktJCUl0a1rN/KteQz99TFm7V1A45oN7acfR1q7NUaqHX9F7gg6xDULPiLrRRwt9vY64LCmaa6apnkiTVuykDMJJ05ueBRFh4KCVcjYfGZmJooiBdI1A3wwuUn5tMGgB1iETFA02L625hLqwF6r4ONJ5KxAD+hswcdPkMFHbPkSo5Ap2U6c3PDIj79Ap+hR0KGgx9XVlcOHDxNeL5xPur2Mh4s7QhQFJRKRS4jzyBjD18BuR9urTgKn3wFfVVVHI/MkgpHej2uquI9OnFRDFCLqRRLbOJamTZvQulVr7hhxB6PvGk1sTCz1fcP5/O/vyLMWVaJKDQgIeFtRlKNubm6n5s6dOxy50+cQ10zghNySbAP42YKP55DWbl8it1d0wHBN0xyut+fEyfWKPW9iwZJ5bNiynrUb1mA2m8nJyeHHWTPxaRTE1pO7SM2U2kBFUSLPnDnTD4i2WCxdH3roIc/09PSGFTRRgmsdY0hGukGDXDp0QhafOY+cTYwo4zZOnNyw2FOu9Yqew4cPExISglk142NyZ4Tam8SMvdQwuhIYGDhCryHqwsMAACAASURBVNf/LITIFUIoZrNZ6datm4+j7VSnGMNB5DqoFTLd+klgmaqqY20zDSdObmwU6Nu7P4qicN/99zJ37p/06tkLo86VEI9gsgqyOHTmIAChoaHNX3311ViklYE1NTV15f79+x1eSiCEqLKX2Wx2N5vN9c1mc6LZbG5qNpvXms3mJLPZHGg2m2ebzeanzGbzIrPZ/IrZbG5vNpuF2WyOK+tewDfIAWb3gIH9xai77hSBgQGiUXSUePOdNwQg/l74p3B3dxc1atQQzZo3FT/N/km0aNlChNcLF76+viImNlo0jGooatasKXr36SVyCrLE0OFDRANzA9EoOko0bhwr3N3dhdFkFF5eXqJ5i+YiMDBAeHl5icZxsaJxXKyo4VVDmEwmERMbLRrFNBJm1SwaRUeJwUMHiXOZZ0Tq6aOi/8D+wmQyCQ8PD7FwyQLh6ekpXF1dhclkEm7ubsLf3180jGooohpFifYd2wsPDw9x++Dbi9owGo0CECaTSbzzv7fFqLvuFP4B/sLDw0NE1o8U3bp3FV989bmIahQlFEUR8xfPEzf3ulm4ubkJo9Eo6obXFW+8/bpo3qK5CAoKEgaDoeh6d3d5TkBggKhZq6bw9fMVRqNR1AquJfr27yv69rtVuLq6iho1aog6deuIoKBA4erqKlxcXERY7TAxbMQw4e3tLVxdXUXDKFV4eXmJsLBQ4ermKkJCgkWTpnGigbmB8PT0EC5GFxFeL1wcO5UicgqyxLnMMyIoKEgAYsKECWLfvn2i0FooCgrzxcSnnhBm1SxiYqPF3D/nikJrocgpyBLxhzTRuUsnUb9+feHu7i78/f2FyWQSNWsGCQ8PDwEIg8EgQkKChYeHh1AURZhMJlG7Tm1hMBiETqcTiqIIQMTExghXV5MAhKIoooG5gfDy8hKKoghFUUTNmjWLznV1dRWhYaHC09NTqKoqPD09RK1atURoaKjQ6XQCEDqdTrRo2ULodDrh4eEhTCZ572EjhoqoRlGiUXSU6NS5o4iJiRY1vGoIvV4v9Hp90e/f1c1VBNUMEs2aNxW+fr7y/4irSXh7e4vYxrHCP8BfuLq6Cp1OJ4xGo4iKihIRkRHCrJqFi6uLaNqniXhz8+uibc+2ApgCjCz2efkaGOToZ/VaxRh8kX4MrZFmEoeQpeneRmq5JyLTQ6F8M9jvKJYMcueokcz5+w/y8wtYungptevUZvzYR2jeojkdOrbnxZdeYPyD43n4sfHsjd9NvwF9ue+B+xg1eiT5+fmcS0sDYNjwoezYs405f8/hwIEE7nvwXtKzztG5a2cSExP58OMPCasdyoYt69mwZT3dundj4lNP8Mdff5ByJIWevXqyZcdmCgutzPp5FhMffxKDXk//gf3o0LE9sXExHEpJ5FzmGU6lncDFxYV+A/qybdcW/u/jD9m5fSdWq5UZP05nw5b1fDPta0yuJu66ezQRkRHM/3s+3bp3pWevnnh4eLB7/066dOvC2jVr+WnWD3To2IH/++AjunbrwtIVizmVdoIlyxfx9Zff8H9TPuC+B+7lpVcmERoaygcfvc/Mn2aQfDwJT09PIurVY9jwoRw+ehBPT0/8fH3JyMig34C+dOjYnpt6dOfcuTQ+/uwjMnLScHFx4fSpU9TwqkFoWCjzFv3NfQ/eS2FhId9+9zXuHh6MufsusjKzeOrZpziTfor8/HwmPDoRgN279tCpS0ciIiJ4/fXXaNuuLavWrgTgjjvuYMuOTWzetpng4GDybeXdDQY977z7Nsv+WcrceX/g6+fLkn8W4ebuzudffUbNmkGs37Iedw8P2rZvy52j7ySyfgTxB/dz34P34eXlRXBwLerUrcPp06epGx7OuEceon6D+phMRt7531us2bCKuuF1CQwKZMDA/qgNVfLy89i2awsTn36CGl6ejB0/FovFQmpqKjf3upm1G1fj5uZGj549aNQois5dO7Nx63patW7FiuUrWbNhFVt2bMbg4oLR1cSAAf3o2ftm/AP82Ru/m6iohsz4YTp16tRh8JBBnDt7joVL55OWeZaHxo/lofFj2Ru/m9PpJwkMDKB1m1YcPnyYs2fOsnHresIahdGkTwmZwlHbZ8tOGCXlARWiFNveuOrYYgwzkbsN9yIFTvU1TRupqmo95HIiCbnEmQ08CtypadqMsu6nKEo48FejRo2i/QP8sVgsbN2ylcZxjdmzew+FhYWEhISQlZVFQGAAB+IP0L5DexRFISMjg0OHDqGgkJubi4vRhSZNmhTdOzc3ly2bt1CzZk0iIiPYu2cv+fn5BIcEk5KcQvMWzRFCsHHDRhrHNUan07F1y1a8vb2JahTF3j17qVmzJomJibi5uVGnTh2OHj1KdEx0iTY2bthITGwMPj4+7Nq5C0VRSE9Pp0NHqf06dfIU8fHxRMdEk5iQSGBgIIpOIfVYKjqdjhYtW5CXm8fOnTtp0bIFO7bvwGKx0Kp1KxRFKWprz549hISEkJGegaIonD5zmvr16+Pl5VX0vtHFiIuLC+H1wtmzZw8mk4nTp07TsGFDUo6mcD7jPAUFBbRu0xoXFxd27NiB1SpLoymKQstWLUk+kvz/7Z15fJTV9f/fz8w8k2SymJVAwhIg5AZBoIIooihWLbggbtiqrbhhVfx9qV9tq1aL2l+r1Vpau7nvttViAZGlsouKENaAcNmDgYQtBhJmMlue3x/nDhkCVRSqNb/n83rNK5ln7j13O/fcc+9zzznU1tZSUlLCrt27CAQC1OyoYcCAAXh9XlYsX0E8HueUgadQuaqS8vJytm/fzpIlS+jVuxclJSU8+fsnmThxIkuXLeWJJ55g3LhxTJ82neEXDAdg2LBhlKtyJvxuwsF27dixg6zMLOrq6ujbry9rVq9h//799DyxJ5s2bqL/gP58su0Ttm7dis/nIyMjg7S0NHbv3k379u3ZvXs3WSdkUV5eTlNTEyuWr6CoqIiamhoAYrEYJ/U5idSUVBYvXkyfPn1YtWoVlmXh9/vpfVJvli9bTs+ePdmyZQvp6emocsWK5Stoamqi/4D++Hw+VleulvD1KX7Ky8tZuWIlp552KmvWrKFdQTu279hOXl4e26q2cdqg07Btm3379rFt2zZ69uxJw/4GqqqqCEfCRCNRAoEAJ/c/mSXLlpBbnEtKegrtC9rz4cwPewOvI1vzIsR9Yg/HceJHM1e/rjOGVMSYww94lVInIr4YQARFTCl1PnJtusPRkXb4tK4Oy7JIz0gnFovRrXs3qrZWEYvFaGhowO/3gyU+cPy2/+AkycvLI94cP8Rjjm378Hq91NbWsmv3LrIys4hEIgTSA6Y0h/379uH3+0lLSwXA77epq6tj0aJF5GTnkJqWQrw5jsfrYcOGDRJfMB7F4/GwYtlKgsEgqWmpZOecwPbt28nMymD3rj0H6QNSL8fB65XLK3V1dWRkZhCNRklNTQUcbL/PeAt2aG6O4/N5Wb9+PQcaD5CRmUFxcREHGg+QnpGOXqeJRqP4bB81NTWkpaUSi8dobGzE5/PRvbQ7oaYQBxoP0LC/gQ5FHXAsh1g0RkqKH4Ali5fg8XrIysokFGqiS9fOrF+3gY8WfYTX50WVK9Z+vJZIJELD/gYcx2H16tWEQiE6FLWntmYn23dsJzcvB9tvU11dzSOPPHJwrJYsWcySisVccfkVvP/++7xfsQgHh4rt8hp+GMM466yzyMvLY9SoUbQvLGTD+g14PR4KCvJpagqxv2E/Pr+PuC9GOBJm0aJFeH1eUgOpNAWb8Po8NDTuJxaLUV0tjsj379/PyhUriUQjxONxovEItt9HKNiEZVmEmkLEm2M4jkNlZSXZ2ScY3mqkYkkFHo+HrJxMnC0OdZ/WsbRiKbFYlLyCXBZ/tBiPx0NGZgYpKX4OHAiyYvkKmpubqaysJBwOs379ejweDzVhEUYrV6zA4/Xi8/oIR8KsXLmSUDCE4zjYto1lyaK28L2FOI7Dzo07yczKpG+XPjiOs8ayrISjlhhw+9EKBfh67jF0RwJu3gL8BXgHucdwQiKRERR/QUxIln0e0R6qB2+9PZG0QIDupd35nzvvIBAIcMaQwdx9z918Z/j5PPHk41gei2mzpjJt1lRuuuVGcnKy2bG7mqLiInqe2JN3Zk09+OncRVTJLdWbqNq+hXg8zg03Xc+rf3uZLiVdmD7rHQaeNpB7H7iHGbOnM2jwINICAbZUb2Lvvt2cOuhUypSiOd7MP6e8xaSpb9GhfQfOGDKYabOmsqPuE4acfSZdu5Zw38/vJT8/n7y8PJ57+VkCgQDTZ73D9FnvMOTsM7n08pGEw2Es4KrvjeLSyy8lPT2dLl27MGP2dGbOmUFmZiYzZk+ntEcp4XCENyb+nd31Oxkx4mK2b9/B8y8/y+z5/2Ld5o+pqtnCoEGnMfzC4XTp2oVYNMbgwacz+obreHfeTGLRGAMG9qeouIjV61fx6988QnZONmNuG4PP52PjJ5qd9Tvo268P2dknUNyxmC5du1B3YA/3PXAvoVCIouIiXnvjVZ596Rksj8XO+hq27dxKt+7dSEtLpbCwkGWrK3h37kyKi4t56OEH6dWrF5uqNjL02+fw7px3uf2OsXxaX0datxws20vH206h422ncOePx+H44vzoznE89vhj1NV9yjMvPE1zczOTp8l28uTB/bj5xzfwi6d+TpfunVla8wFj7ryB/qf1w7IsHBzSMzPIzMrgH3P+isfjwefzMfQ7ZzHtvSlYlkV2bjb/c88dpKWnkZ6Rzk/u/1/mLPoXAAsq5mB5PDhARmYG0xdMxXEczht+Htfd+H3uG38PG3asJTMrE8eBVVuWs2XvBk7s1ZNgMITfb5N1QhajrrmSs885i5zsbP747B84/YxB/Pzh++l10on0O7kf3bp3w++36dChA1trN5GTm8Paqkp+cv/deLwiCHcHa1jwwXw6durIjl0t0RYcx/m/juN0dxxHOY4z/YtM1K/8jEFrXYvEjngBGIvEr3wGMfYAsZGoRLYbd2utZx8N7c2btlBdXc3mTZu58Qc309jYyIvPvcTTf36a+XMXsGDee4SbwsRicp10/tz5BIMhTu0/iE0bN7HkoyXcfN0YAB55+FG01nz73HPIzs7mumtGc/6w84nGDl4eIRaLMXnSFK648nJeeelV3nrzLYYN+w7t2rXDtm0uGTmCylWVeDwefnDNdfzgmtHU1tby6ouvAbB3z15WraxkxMiLmTd7HiuXr6Sqahv3/vg+gsEgfXv2IxaLMWXS2zzy2K+YOPlNunQtITsnmx49SsnLzyUWlbbU1NRS0C4fgJSUFAoKChh46ilEo1GWLVtOdnY2l1w6AoDCwnbk5eUy5OwzycnNZurkd8jLzyM9I52Hf/UQ14y6ltIe3dm8cTORSITeZX0Yfc0NfLLtE+bPXUCz00x2Tja2bXPyKSdjWR7Wr9twUGsaMfJi1uv1jLn1Zi65dASXXXEpzfFmamtqyc7O5lv9v4Xfn8LmTZvp2/NbqO49Of3005k2bTqhUIh/zfwXcSeG7fETDoW56cabWbdwJWl2Cu/e8IIwSDTK9668mitGXcErr7zM1VdfTUpKCn369mHc2B8x6qor2LB6E+ddMvQQHrnwyuGsqlhDTn4O199+HedeMJSS0hJy83JJSU2hhypl7WpNaloqKSl+NqzbyEWXXUBObjbRaJT2Re3ZWSPnQieckIXH6yEvP4/C9u0oaFdAaloq82fPJyMzA8uySElJIS0QIB6Lk1+Qh23bXHTphaSmpdLc7PD47x/l2uuuJhQKUVu7k+9eM4ozzjoDx3HYtvUTZs6dzvtLFjD03KEE0gO8O2MWffv1oV1hO6787uU0x5vJzc8z27gBeDwe9uw5Ptd+vs6AMyONXYRfaz0SOYAEsLXWXq11odb690dLrPdJvXj/o/coLStlx95qOnfpTPfS7tz1k//lrKFD+P7oa8k6IYtJEyezZ/cevD4vjz7+CCtWL6Okawkn9enNMy89zUvPv8zsd2fzq0d/yeKPFnPzDWMoK1f4bRtVrg6WN3f2PJQqY82aj5nwmwk8NuExli1bRjAYxHEc5s2Zx403Xc+ppw1kyjuTePm1F+nUuSMXjriQ+vp9THprCuee/23mz3uPDz9YxE233MAnO7eyZkMlgUCAlWtXMHf2PMpUGbZfVPhYJMqUSVMY9b0rGXrOUPaZA9PXXnmNCy++EAC/30+7wgL0Os2tN9+Gx2Mx/IJh7N69h/r6empragmFQsyeNZcp/3ybQHqAhoZGnn/lOcbecgdpaWlUVq7mg6UfsH7rOtZsqGTsuNvJyc3hsQmPkuJP4e+vv4HjOEyaOJlTTu1PY2MjkXAEx3G4afQYbNum38lyXjP5n1PIzcvltVdeJxQKMWniZAYPGcymT9Yz74O5fLT0Q3bt2sXISy4h3hxHKYXX8rL640r6DziZKGHOee46QtEw5z1/PY7j8MObb6WsvIw1q9dQ3rMnP7pzHG/87Q2CwRCqXHFi716U9OhMu6J27Pik9uCYzXlnHk2hEJlZ6QwddhYzp8xi+Mjv0NTUJFuKbdWUqu7EYzGiMTk3yc3Ppd+AvoSbwuTn5/H6K3+nV58TeeqPzxIJR9hevZ2h551NKBgk3BSm77f60NjQCMgbv1AwSCQSIWi2AEsWVRCNRBl05mk0NjYy452Z+P1+UlJTmPPuXObNnkdjYyPFHYsAqKurY8Y7M7jiqst46bmXufwq2XFPmzqDtLRU9tVLAOsN6zcQiUTIz8//YrPw3+GrfF2Z9Npya1lZ2bmtnpWY15O+o6GBRMKuAaJerzfu9/sbvV5vDGj2er0Ry7KiHTp02Onz+UKWZcX9fn9j+/btd/r9/gNerzdsWVbMtu2IbduhjIyM3WlpafVlZWUVyOuuJtu2g5ZlxZDtTLNlWTHLsmIejyduvsfT09P3+Hy+Jq/XG7NtO+jxeKIJuunp6XtLS0uXdurUaY3f7w97vd4mj8cTKSoqWuv3+8OWZcW9Xm84IyNjN+D4/f6IbdtB27aDQLysrGxrRkbGnvz8/CqPxxM19XA8Hk/U7/c3mnokXs+FCgoKNifab1lWFNlXOqY+QZ/PF/L5fFHTpkQaJ9E+8znku9frbcrKympITU3dZ9t2sKysrCIrK2t/0u/hQCBQl1SXZsDxer0xy7LiCRqm3IPfu3Xrtq2srKzC9E0QcMaPH++sXbvWWb16dfPkyZMbA4FA1Ov1HuyTxsZGp6ysrKK4uHgd4HTq1KnZ9JuTmpoaSdTdjEPM6/VGUlNTm5La1WxZVnIbHZ/PFzlSuz/ju2PaEDTjFzHtcj7n02xZVty27ZAZ32ZEa078Hk+Mncfjidi2fSDBZ0BzWlpafWlpaRXQ7PP5QrZtBwOBQLCkpGRVenr6Xtu2Q36//0BxcXFtWVlZRVlZ2e5jnaPfWMHwb+hWHMv3rypPW6LxTa77fwuN/1S5x/L5OrcSLly4+C/FV/26EgCtdckRnm0FrMMSu3Dh4itHW9MYnj7G719VnrZE4+sqty3R+E+V+6Xxld58dOHCxTcDbU1jcOHCxXGAKxhcuHBxGL6Ww8fjDaXUA8CdyLXqJsTENAcJ/52OvA9OOMZsBrYiNhgB5H3yNsTy7CRDI4QITa/51CP2HX7z/AMkJkZnJEDoaK11lVJqKhIvA+QeQT3ixq4bEoLPS4u1qA/zDtukdRA/fV4k1qAP8WoVQaIVW8hV8hjQBYlLOM7QCtBycBtHvGPtQ26T7jV1bp/UZZYpB2CaqXPElOkxfZRw2/8ocJ9pe/Lh8B7gB1rr6Uqp04BfIIGK/eb3iMnbDfi26Vevaedm4F6t9SSlVC6wEHH622DoFgN/1VqPVkq9avKnI4Faa02/55r+egCJUzIMMRb6FImWXm7SxJFQ8O1Mv2TQcn8gsTAGTd1SEP6xWvWF19BI8EPU9E96UpuspL+JftqD8M1OxEYoZH5biDg/Hm/qN5UW84Aw4kH9p8CvkPGuQxy5nsWh4xw2Zc5DxnC+1vrsxACZvtuotR7PF0Rb0RguQWwqngGmIB1YhQzGFGARwqgjEQbqgAzoSYg3qUbgZISp6oDJSIePQ4LsRoBrEacXixF/lfcjjFcB/F0p1R04BWGkhYgV6T1InIxXkMHrCDyCuLCrRsKHgbiyW2jKLgd+ArwEZJq83wVWAdmmHrXALK11hvGo/TFiPbcfCegzwfRBT2SS5QN/Mm21kcthYdO2U00drkHiEAC8mkT7PUN3IDL5/2ba+DjwhlKqBBHCLyNevR9FTOKrTB/NNv3lQ67A1wNPAa8rpdqZdhaZNv0DKET8fybwK6BEa51l+v9bwO2IoPmZ6ecGREgsRK7Tn23ak48Y62Wavr1Ma20BJyJj/TAipH6HCIQ9SCi3C009zzBtxny/Gpm0byK+SPeZNAOTaJ4O/Mjk8Zq6JITLBwjP1CNxWVeZNgdNP2wBFpi81yPjOhEZxz6It7MDwAVIcKbZCD8nrjv2VUqdznFAWxEMAYRRdyFSeQaQB3RFbDHuRZgnFVnBVgLrkZV5PBKIw0aYvgHRODYgzLoAyNNav4UImQwArfWbWusmk78vMhn2IsxRZdI8q7V+Hrmh2ai1PoAw44dAgTEn14jQOBPoj8QVrEK0hE+11ndrrd8EZpr670FWi2TsQYTOCiCmtR5vXv8Wm/psRCa4F5kAfzbtW08LU01CXI63xkXAm1rrCq31/YiQ9SAMvQXor7WejghmPyIMn0SEbyPCxO2QybAAEbg1CIP3Qibh3Yigeh0Jq3bQj4DWeo3WOmy+Bs34BLTWzVrrqaYOzWasZiPuAjVQqLUOa63HmPaDrPSYOkQRi96XkUmZ0BIbEaEdRTSTeFIeixaeut+k6ai1XppEszMivIOmTd83v8UAR2sdQYSahYx7zPRpQojtNeVtNH0cR4wMW8ebjAOlpq/Hm2fPIJrkMaOtCIYJyKqa8KE/HBEOf0Am8lJkov0cGdT1iDC4HJHCiQA3iU7NNr+vQQa6XilVj0yqXrQMHmayJ2iUIpNvBHClUuoPSqm0RNokGk8Cv1RKFZpycpHJsh3RGJ4FhtLCyJj/G0z5rZGCCLmBwHCl1NnmeQXCYOWIKlqKMFStKbcuiUYVIrAwda9WSr2ArJDJW4grzd/BSX3UGkOQPg4gfTkaEdTrTDs9yKQ5HWjWWj+TlHclMlYHoZT6k1IqmJR/mnme6L9Lka0kiPA8WK+kNFFgXBKdvcgq/9MkuikI36wzdXgdeMjQzUM0rjkcylN/UUqFk2iMRAR8ABE2FyHCywE+VUplmf4BEZg2okk1mTIS2/uEpmKbOqxFhGs6suW4C9GOFtAiNF4DypRS53KMaCuCYQEyYX6MMG4FsgLOQZj6BWSlvgORvucBL2mtr0ZWtoihkViZ7kVWET+yki/RWmcjkr4aWe0AUEplIgwyAxnEAOJ9agqi9v4skTaJxlhEjXwNeBv4IbKdKEdW/UJESLRXSiUH3IkganFrrELU6AnIhHzbbG08yMS0TJphiGD4K/Aq0Nvkvw85tzgdOX/5FGHuTETYjFJK9TFRwU5HmPxu04cJptSIxvYbZN+fqGez1vpWxMw+hGhXzyPbtB9yeOyQfcgEPQit9W2G3pmIRhFWStmm/zYAf9FaV5v2Dk7UKynNS8jKPCGJTi2iRWUk0a1HNJwzkVU4Bwmn+Dtkoib8kSbz1BWI0LnW0NBIyPlHkEWlKy3biUwkkFLiTMk2/fGcKTuFlmhRCeuvvobe5YhGdwDRRuIIr3dP6qomZHH7BceIb7xgUEp5kEn5FrK//RsyoI8ijBgFxiAC4CRaDnfGGhIPIIPiQRzDFJg8vwWmI4OxCw5qBzVAJ7M/BmGg/bSoq/tNuWFkH3hBcn0NjaeQfWoaMtHGIRPRAc4w6uanhs75SdkTAURa4xxkssWRvfb7iIr+L0RLOMPkHWLK7IsE96k3bX1Pax3TWm9BBGoRwnxjgQEIM09EtgtbEcZuTOpDtNZRRPDejkyAHGQsqs0K9qgp/xnkvONFRENJb9WWLFoEdHK/xbXWC5Et023I2UsKMm6/NXxwGTIBx5rvryDCdOwR6AwAqlvRzUAEWeL7dYgw+T6yBb0cUfdBNJQOiHCdi2wFOpr2L0HOa4KIAD0zaZx+iAj9MKIdtEd4LcuUn3xI3B7ZDo5EBFBCUx0JzEJ4YWSrrnoWKFRKXdy6D78IvvGCAVHDOyPbhsRJ7QvIhFyVlM6HCAiAfYaRQbSHdgjTPo6s+Ao5KHoYUdeSsQdZMYpb5f8NwpR5CAP15gixik2UredMfbqaMoYiYxEzH5DtiZ2U1UYm3CGqu1JqMDKR/5H02EEOyjoB07XWH5lntyIr8oNa60JEBbU4coQiT1L9n9Na90DeitQh26XLkvoQpVQXJCTAUkR7SayWi4F+wAKtdYVpt42M1YVAmlJqt6nrG6beiZACR0JiHAsRrawEeavUSMubiI+QPi4ELk+uZ1KfpZu+SKbrbfU9oXUFEE2vOy3970lKk+inYkQg1ps6pSHj+7ZJm4L0dwmy5Rlu6B5AhMLFtDgsWgLcYJ7nIJrPXaYuf0aETRYiZJaYPAsRAfKgKfdLmxh84wWDCUizBVmtfEiH34IM+lJkgJ5DpH9CvS1QSj2hlMpDDoA2mrxViArXhKz2LyIDn6+UylRKtUcmoQX0VkqlI6vFMkQb+R2yAs8xtO5EtJkEjYCpywUIM/0emTQ9EXVzG3CfoXsAWeVt80pvCMJwNaYNfqVUKnAzLQeCPkRDONf0w1hgsPG1+WfkrYkNrFBK9UAm5jago1IqVSl1AXI+shOZOE8iW6xO5rS7K7Jff0JrnagHSqli0+Z9yOQahaycxaYdq4EzlVK3At8z4xVHGH8ywtA1yOpcipzGe5VSnZRSVyulMpRSXqXUd8w4+pBJ9EfTtzORPfgftvWT0wAABcFJREFUkf33KtOnFwPNSqlOyCTNMmPwoBnDeYbuNchWIAwMUkrda74vRc4ZmhDNzYO87QiZ/rwWWSiGGnrDkQXlA2RrFkOE8fXm/w8NHY1oMpMRrXS6+f9p8z/Im40owlt9ke3t303Zv0T4ttL8ltBKRyJvdF4x43/QWfIXRZu4Eq2U+gsiDJJRjQiCxPvoNGQyJtTUVPM3jqjH3c1vh+xvPwcxRG0frbXeqpR6CDmt/jwkTrhbI2Tq9UUkfSNS77xWz+MIQ9vmk6D578pu5vCFYhWyj/0HMtF8SXQTuAWZzOOPQDOICJ4OtKj9DqJ5/FFr/Rsj9J5HBFKQw7cWVcg5icfkU6a9Cc3KQlbRsEmTuIMQRSZf8h2P5LbuQPjDg/S53SqNk/Q34ZchUV5CA0nmqSpEaIZM2gZDMw3ZAuSZ//cgGu1qZEuVOEy8nqRD7STEDH2bFl7+FNkm/sTcnylBhG251loDKKVGIYLkwS9zj6FNCAYXLlwcX3zjtxIuXLg4/nAFgwsXLg6DKxhcuHBxGFzB4MKFi8PgCgYXLlwcBlcwuHDh4jC0CX8MLkApNRq55FWGvPveCszVWt/5Gdm+CP1RiFXji62ezwP2aK2vOB7lHEU9zkUudZ2GXF/fjPgy+LPW+qhjM7r4bLiCoQ1AKXUPcgX214i1YCpie3EtLVaHx4pRiD3Ai62e38ahVqD/aYxBLi39DDGxPgO5jt4VMXhycRzgCoa2gbHAU1rre5Oeva2UevBYCSul0rTWoX/3u9b642Mt4wviNnMNPoF55przj5RS9yb5bnBxDHAFQ9tANi1mugehtT7kWqtSKh9ZXS9CrucuBu4yxk2JNFsRS8p65LpzoVLqNcQwDKVUguaDWuvxrbcSSqnxiKA6D7En6IPYBvwfrfV7SeWkILYR30OuWT+PGAT91nhZOiJaCYUEliNaUsKvhYtjhHv42DawDLhDKXWdMQz7d5iE+KO4C7gKGf+5SqnSVumuRlzD3WbSPYwYiy0HBpnPs59RTgDxgfAUIlDCwFtmZU/g14gDlwcRw6TOfPmtwCBEkO36kvldtIKrMbQN3I5M+hcBRym1Fln1H9da7wdQSg1DnJicrbWeb57NQQ4p7+ZwI7SLjOs6TNo6wKO1XnQU9UkDxmmt55i8NYhQGQLMMMJrDPCA1vq3Js1Mjmz+/ZlQSp2IWDA+6h4+Hj+4GkMbgNY6YWY8ArHYsxArzwqlVIZJNhDYlRAKJt8BxEPxGa1Izk4WCl8CEcQsOIHEOURH8/ckRPWfklQXB/FbcNRQSuUgAnAVYors4jjB1RjaCMyh29vmg1LqRkTdvxHxE9GBI6vaO5G9eetnx4IGrXXCTBmtdUQpBS2m7gkvRa0dsnyWg5ZDYHxRTEbMuUcYr1cujhNcjaGNQmv9HC3u6EEO5dodIWkhhzqFhSN4njrOSByUFrR63vr7EaGU8iIOVE4Ehmutj1WQuWgFVzC0AST5n0x+VoC4CUtMmo+AdkqpIUlpAogXp4VHUUyElhX/WFGJOHu5JKkuFuJx6WjwJ8Q70YiEYxIXxxfuVqJtoFIpNZkWx7VdkDcPiUAmaK1nKqU+QILj/BTxFnQXclD42FGUsQ64RCk1EvGOtUNrvePLVFZrvVcp9QzwoFIqirhlux7xYfiZ2opxuzYGCUTTbKJgJfBx4rDVxbHB1RjaBh5CHIz+HhEODyNOSwcaz88JjERc209AvFRbwDla6418Pv5kaD+POB8d89nJPxc/Rt6ijEfc2e9E/GF+3sROeM2+B/GhmPw5+Rjr5MLAde3m4r8GSqlZgK21Puvrrsv/73C3Ei6+FiilhiJxM5chjk6vQoLXXvlZ+Vx8NXAFg4uvC43I1uYe5FBzA+Jt+x+fmcvFVwJ3K+HChYvD4B4+unDh4jC4gsGFCxeHwRUMLly4OAyuYHDhwsVhcAWDCxcuDoMrGFy4cHEY/h85u8ozaFTgoQAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "for (rec_name, sorter_name), comp in comparisons.items():\n", + " print(rec_name, sorter_name)\n", + " fig, ax = plt.subplots()\n", + " comp.plot_confusion_matrix(ax=ax)\n", + " fig.suptitle(rec_name + ' ' + sorter_name)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## print summary and average perf\n", + "\n", + "\n", + "To summary performence each GroundTruthComparison can print performance and a summary.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "****************************************\n", + "rec0 klusta\n", + "****************************************\n", + "SUMMARY\n", + "GT num_units: 50\n", + "TESTED num_units: 16\n", + "num_well_detected: 0 \n", + "num_redundant: 0\n", + "num_false_positive_units 0\n", + "num_bad: 11\n", + "\n", + "PERFORMANCE\n", + "Method : pooled_with_average\n", + "\n", + "ACCURACY: 6.760951649045929\n", + "RECALL: 7.281469993980179\n", + "PRECISION: 90.9023707826402\n", + "FALSE DISCOVERY RATE: 9.097629217359776\n", + "MISS RATE: 92.71853000601982\n", + "MISS CLASSIFICATION RATE: 0.0\n", + "\n", + "****************************************\n", + "rec0 kilosort\n", + "****************************************\n", + "SUMMARY\n", + "GT num_units: 50\n", + "TESTED num_units: 15\n", + "num_well_detected: 7 \n", + "num_redundant: 0\n", + "num_false_positive_units 0\n", + "num_bad: 4\n", + "\n", + "PERFORMANCE\n", + "Method : pooled_with_average\n", + "\n", + "ACCURACY: 17.937860367153935\n", + "RECALL: 19.906628935907463\n", + "PRECISION: 81.85324699921523\n", + "FALSE DISCOVERY RATE: 18.146753000784763\n", + "MISS RATE: 80.00784471928556\n", + "MISS CLASSIFICATION RATE: 0.09429376178878782\n", + "\n", + "****************************************\n", + "rec0 herdingspikes\n", + "****************************************\n", + "SUMMARY\n", + "GT num_units: 50\n", + "TESTED num_units: 45\n", + "num_well_detected: 12 \n", + "num_redundant: 1\n", + "num_false_positive_units 0\n", + "num_bad: 14\n", + "\n", + "PERFORMANCE\n", + "Method : pooled_with_average\n", + "\n", + "ACCURACY: 53.666574808381675\n", + "RECALL: 57.60635093865014\n", + "PRECISION: 89.70084971300633\n", + "FALSE DISCOVERY RATE: 10.299150286993655\n", + "MISS RATE: 42.14200731055593\n", + "MISS CLASSIFICATION RATE: 1.9814170675782707\n", + "\n", + "****************************************\n", + "rec0 kilosort2\n", + "****************************************\n", + "SUMMARY\n", + "GT num_units: 50\n", + "TESTED num_units: 105\n", + "num_well_detected: 43 \n", + "num_redundant: 3\n", + "num_false_positive_units 2\n", + "num_bad: 59\n", + "\n", + "PERFORMANCE\n", + "Method : pooled_with_average\n", + "\n", + "ACCURACY: 89.74386179176997\n", + "RECALL: 91.73870236725384\n", + "PRECISION: 97.82268336281174\n", + "FALSE DISCOVERY RATE: 2.1773166371882446\n", + "MISS RATE: 8.253687914274183\n", + "MISS CLASSIFICATION RATE: 0.8952850627817011\n", + "\n", + "****************************************\n", + "rec0 spykingcircus\n", + "****************************************\n", + "SUMMARY\n", + "GT num_units: 50\n", + "TESTED num_units: 274\n", + "num_well_detected: 2 \n", + "num_redundant: 2\n", + "num_false_positive_units 62\n", + "num_bad: 252\n", + "\n", + "PERFORMANCE\n", + "Method : pooled_with_average\n", + "\n", + "ACCURACY: 31.449201467399828\n", + "RECALL: 31.589481811652085\n", + "PRECISION: 99.17913518749704\n", + "FALSE DISCOVERY RATE: 0.8208648125029621\n", + "MISS RATE: 68.23179829875691\n", + "MISS CLASSIFICATION RATE: 0.5402547805221579\n", + "\n", + "****************************************\n", + "rec0 tridesclous\n", + "****************************************\n", + "SUMMARY\n", + "GT num_units: 50\n", + "TESTED num_units: 32\n", + "num_well_detected: 18 \n", + "num_redundant: 0\n", + "num_false_positive_units 0\n", + "num_bad: 2\n", + "\n", + "PERFORMANCE\n", + "Method : pooled_with_average\n", + "\n", + "ACCURACY: 53.382813186650466\n", + "RECALL: 59.61566710054671\n", + "PRECISION: 89.47733106743215\n", + "FALSE DISCOVERY RATE: 10.522668932567852\n", + "MISS RATE: 40.38109055483243\n", + "MISS CLASSIFICATION RATE: 0.3352191980119521\n", + "\n" + ] + } + ], + "source": [ + "for (rec_name, sorter_name), comp in comparisons.items():\n", + " print('*'*40)\n", + " print(rec_name, sorter_name)\n", + " print('*'*40)\n", + " comp.print_summary()\n", + " comp.print_performance('pooled_with_average')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Step 4 : collect tables\n", + "\n", + "spiketoolkit propos ethe function **aggregate_performances_table** to concatenate several table of performance.\n", + "\n", + "\n", + "**dataframes** is a dict that contain several results formated in dataframes:\n", + " * run_times : time for computing each one\n", + " * perf_pooled_with_sum: performance with method **pooled_with_sum**\n", + " * perf_pooled_with_average: performance with method **pooled_with_average**\n", + " * nb_units_above_threshold: count how many units detect with a treshold on a perf columns.\n", + " * perf_by_spiketrain: the most convinient one perf at units level" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "%%capture --no-display\n", + "dataframes = study.aggregate_dataframes()" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
accuracyrecallprecisionfalse_discovery_ratemiss_ratemisclassification_rate
rec_namesorter_name
rec0herdingspikes0.5366660.5760640.8970080.1029920.421420.0198142
klusta0.06760950.07281470.9090240.09097630.9271850
tridesclous0.5338280.5961570.8947730.1052270.4038110.00335219
kilosort0.1793790.1990660.8185320.1814680.8000780.000942938
kilosort20.8974390.9173870.9782270.02177320.08253690.00895285
spykingcircus0.3144920.3158950.9917910.008208650.6823180.00540255
\n", + "
" + ], + "text/plain": [ + " accuracy recall precision false_discovery_rate \\\n", + "rec_name sorter_name \n", + "rec0 herdingspikes 0.536666 0.576064 0.897008 0.102992 \n", + " klusta 0.0676095 0.0728147 0.909024 0.0909763 \n", + " tridesclous 0.533828 0.596157 0.894773 0.105227 \n", + " kilosort 0.179379 0.199066 0.818532 0.181468 \n", + " kilosort2 0.897439 0.917387 0.978227 0.0217732 \n", + " spykingcircus 0.314492 0.315895 0.991791 0.00820865 \n", + "\n", + " miss_rate misclassification_rate \n", + "rec_name sorter_name \n", + "rec0 herdingspikes 0.42142 0.0198142 \n", + " klusta 0.927185 0 \n", + " tridesclous 0.403811 0.00335219 \n", + " kilosort 0.800078 0.000942938 \n", + " kilosort2 0.0825369 0.00895285 \n", + " spykingcircus 0.682318 0.00540255 " + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dataframes['perf_pooled_with_average']" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
num_gtnum_sorternum_well_detectednum_redundantnum_false_positivenum_bad
rec_namesorter_name
rec0herdingspikes5045121014
klusta501600011
tridesclous503218002
kilosort50157004
kilosort250105433259
spykingcircus502742262252
\n", + "
" + ], + "text/plain": [ + " num_gt num_sorter num_well_detected num_redundant \\\n", + "rec_name sorter_name \n", + "rec0 herdingspikes 50 45 12 1 \n", + " klusta 50 16 0 0 \n", + " tridesclous 50 32 18 0 \n", + " kilosort 50 15 7 0 \n", + " kilosort2 50 105 43 3 \n", + " spykingcircus 50 274 2 2 \n", + "\n", + " num_false_positive num_bad \n", + "rec_name sorter_name \n", + "rec0 herdingspikes 0 14 \n", + " klusta 0 11 \n", + " tridesclous 0 2 \n", + " kilosort 0 4 \n", + " kilosort2 2 59 \n", + " spykingcircus 62 252 " + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dataframes['count_units']" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Step 5: inspect result by unit\n", + "\n", + "For finer exploration, we can also retrieve for all **(rec_name, sorter_name)** pair the raw count unit by unit for each sorter.\n", + "\n", + "This give a give result for each units of the ground truth." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "rec0 klusta\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
tpfnclfpnum_gtnum_testedtested_id
gt_unit_id
00228002280-1
10389003890-1
20410004100-1
30185001850-1
40232002320-1
50234002340-1
60266002660-1
70306003060-1
80300003000-1
90324003240-1
100440004400-1
110369003690-1
120286002860-1
130348003480-1
140317003170-1
150287002870-1
160265002650-1
170307003070-1
180318003180-1
190302003020-1
200506005060-1
210302003020-1
220330003300-1
230244002440-1
240225002250-1
250330003300-1
260289002890-1
270345003450-1
280328003280-1
290356003560-1
300306003060-1
310276002760-1
320244002440-1
330317003170-1
340220002200-1
350258002580-1
360223002230-1
370246002460-1
380163001630-1
390298002980-1
400970009700-1
418052680213107310188
426382690690764417
43658255020291386015
44011430011430-1
456902330192369116
460786007860-1
470695006950-1
48634248008826347
490510005100-1
\n", + "
" + ], + "text/plain": [ + " tp fn cl fp num_gt num_tested tested_id\n", + "gt_unit_id \n", + "0 0 228 0 0 228 0 -1\n", + "1 0 389 0 0 389 0 -1\n", + "2 0 410 0 0 410 0 -1\n", + "3 0 185 0 0 185 0 -1\n", + "4 0 232 0 0 232 0 -1\n", + "5 0 234 0 0 234 0 -1\n", + "6 0 266 0 0 266 0 -1\n", + "7 0 306 0 0 306 0 -1\n", + "8 0 300 0 0 300 0 -1\n", + "9 0 324 0 0 324 0 -1\n", + "10 0 440 0 0 440 0 -1\n", + "11 0 369 0 0 369 0 -1\n", + "12 0 286 0 0 286 0 -1\n", + "13 0 348 0 0 348 0 -1\n", + "14 0 317 0 0 317 0 -1\n", + "15 0 287 0 0 287 0 -1\n", + "16 0 265 0 0 265 0 -1\n", + "17 0 307 0 0 307 0 -1\n", + "18 0 318 0 0 318 0 -1\n", + "19 0 302 0 0 302 0 -1\n", + "20 0 506 0 0 506 0 -1\n", + "21 0 302 0 0 302 0 -1\n", + "22 0 330 0 0 330 0 -1\n", + "23 0 244 0 0 244 0 -1\n", + "24 0 225 0 0 225 0 -1\n", + "25 0 330 0 0 330 0 -1\n", + "26 0 289 0 0 289 0 -1\n", + "27 0 345 0 0 345 0 -1\n", + "28 0 328 0 0 328 0 -1\n", + "29 0 356 0 0 356 0 -1\n", + "30 0 306 0 0 306 0 -1\n", + "31 0 276 0 0 276 0 -1\n", + "32 0 244 0 0 244 0 -1\n", + "33 0 317 0 0 317 0 -1\n", + "34 0 220 0 0 220 0 -1\n", + "35 0 258 0 0 258 0 -1\n", + "36 0 223 0 0 223 0 -1\n", + "37 0 246 0 0 246 0 -1\n", + "38 0 163 0 0 163 0 -1\n", + "39 0 298 0 0 298 0 -1\n", + "40 0 970 0 0 970 0 -1\n", + "41 805 268 0 213 1073 1018 8\n", + "42 638 269 0 6 907 644 17\n", + "43 658 255 0 202 913 860 15\n", + "44 0 1143 0 0 1143 0 -1\n", + "45 690 233 0 1 923 691 16\n", + "46 0 786 0 0 786 0 -1\n", + "47 0 695 0 0 695 0 -1\n", + "48 634 248 0 0 882 634 7\n", + "49 0 510 0 0 510 0 -1" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "rec0 kilosort\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
tpfnclfpnum_gtnum_testedtested_id
gt_unit_id
00228002280-1
10389003890-1
20410004100-1
30185001850-1
40232002320-1
50234002340-1
60266002660-1
70306003060-1
80300003000-1
90324003240-1
100440004400-1
110369003690-1
120286002860-1
130348003480-1
140317003170-1
150287002870-1
160265002650-1
170307003070-1
180318003180-1
190302003020-1
200506005060-1
210302003020-1
220330003300-1
230244002440-1
240225002250-1
250330003300-1
260289002890-1
270345003450-1
280328003280-1
2935510295356652193
300306003060-1
310276002760-1
320244002440-1
330317003170-1
340220002200-1
350258002580-1
360223002230-1
370246002460-1
380163001630-1
390298002980-1
40962710970962172
41107300010731073736
4290520090790553
43087439913913913135
441133100111431134115
45921200923921402
46786005578684141
47688615695693751
488811014882895470
4950271416510920351
\n", + "
" + ], + "text/plain": [ + " tp fn cl fp num_gt num_tested tested_id\n", + "gt_unit_id \n", + "0 0 228 0 0 228 0 -1\n", + "1 0 389 0 0 389 0 -1\n", + "2 0 410 0 0 410 0 -1\n", + "3 0 185 0 0 185 0 -1\n", + "4 0 232 0 0 232 0 -1\n", + "5 0 234 0 0 234 0 -1\n", + "6 0 266 0 0 266 0 -1\n", + "7 0 306 0 0 306 0 -1\n", + "8 0 300 0 0 300 0 -1\n", + "9 0 324 0 0 324 0 -1\n", + "10 0 440 0 0 440 0 -1\n", + "11 0 369 0 0 369 0 -1\n", + "12 0 286 0 0 286 0 -1\n", + "13 0 348 0 0 348 0 -1\n", + "14 0 317 0 0 317 0 -1\n", + "15 0 287 0 0 287 0 -1\n", + "16 0 265 0 0 265 0 -1\n", + "17 0 307 0 0 307 0 -1\n", + "18 0 318 0 0 318 0 -1\n", + "19 0 302 0 0 302 0 -1\n", + "20 0 506 0 0 506 0 -1\n", + "21 0 302 0 0 302 0 -1\n", + "22 0 330 0 0 330 0 -1\n", + "23 0 244 0 0 244 0 -1\n", + "24 0 225 0 0 225 0 -1\n", + "25 0 330 0 0 330 0 -1\n", + "26 0 289 0 0 289 0 -1\n", + "27 0 345 0 0 345 0 -1\n", + "28 0 328 0 0 328 0 -1\n", + "29 355 1 0 295 356 652 193\n", + "30 0 306 0 0 306 0 -1\n", + "31 0 276 0 0 276 0 -1\n", + "32 0 244 0 0 244 0 -1\n", + "33 0 317 0 0 317 0 -1\n", + "34 0 220 0 0 220 0 -1\n", + "35 0 258 0 0 258 0 -1\n", + "36 0 223 0 0 223 0 -1\n", + "37 0 246 0 0 246 0 -1\n", + "38 0 163 0 0 163 0 -1\n", + "39 0 298 0 0 298 0 -1\n", + "40 962 7 1 0 970 962 172\n", + "41 1073 0 0 0 1073 1073 736\n", + "42 905 2 0 0 907 905 53\n", + "43 0 874 39 913 913 913 135\n", + "44 1133 10 0 1 1143 1134 115\n", + "45 921 2 0 0 923 921 402\n", + "46 786 0 0 55 786 841 41\n", + "47 688 6 1 5 695 693 751\n", + "48 881 1 0 14 882 895 470\n", + "49 502 7 1 416 510 920 351" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "rec0 herdingspikes\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
tpfnclfpnum_gtnum_testedtested_id
gt_unit_id
00228002280-1
1378011143894048
236624201841038816
3184014018522730
423200323223724
52161084223425832
626600826627423
7299432730633510
82860141230031714
90324003240-1
104360484404526
110369003690-1
120286002860-1
1334116634835913
14313044731737912
1522147193428725526
16256542726528820
170307003070-1
1831008931832211
19294441030230717
20491015115065065
212661917630227418
2222774292533025629
230244002440-1
24216453222524825
2525848242233029015
262701182728930719
27320421403453727
283091188832839822
29332915183563549
300306003060-1
310276002760-1
320244002440-1
330317003170-1
340220002200-1
350258002580-1
362120112022324328
370246002460-1
381272883416317334
390298002980-1
400970009700-1
41103520183107310380
4289827129079211
432860518459138643
44011430011430-1
459133729239152
460786007860-1
470695006950-1
48785544378827924
490510005100-1
\n", + "
" + ], + "text/plain": [ + " tp fn cl fp num_gt num_tested tested_id\n", + "gt_unit_id \n", + "0 0 228 0 0 228 0 -1\n", + "1 378 0 11 14 389 404 8\n", + "2 366 24 20 18 410 388 16\n", + "3 184 0 1 40 185 227 30\n", + "4 232 0 0 3 232 237 24\n", + "5 216 10 8 42 234 258 32\n", + "6 266 0 0 8 266 274 23\n", + "7 299 4 3 27 306 335 10\n", + "8 286 0 14 12 300 317 14\n", + "9 0 324 0 0 324 0 -1\n", + "10 436 0 4 8 440 452 6\n", + "11 0 369 0 0 369 0 -1\n", + "12 0 286 0 0 286 0 -1\n", + "13 341 1 6 6 348 359 13\n", + "14 313 0 4 47 317 379 12\n", + "15 221 47 19 34 287 255 26\n", + "16 256 5 4 27 265 288 20\n", + "17 0 307 0 0 307 0 -1\n", + "18 310 0 8 9 318 322 11\n", + "19 294 4 4 10 302 307 17\n", + "20 491 0 15 11 506 506 5\n", + "21 266 19 17 6 302 274 18\n", + "22 227 74 29 25 330 256 29\n", + "23 0 244 0 0 244 0 -1\n", + "24 216 4 5 32 225 248 25\n", + "25 258 48 24 22 330 290 15\n", + "26 270 11 8 27 289 307 19\n", + "27 320 4 21 40 345 372 7\n", + "28 309 11 8 88 328 398 22\n", + "29 332 9 15 18 356 354 9\n", + "30 0 306 0 0 306 0 -1\n", + "31 0 276 0 0 276 0 -1\n", + "32 0 244 0 0 244 0 -1\n", + "33 0 317 0 0 317 0 -1\n", + "34 0 220 0 0 220 0 -1\n", + "35 0 258 0 0 258 0 -1\n", + "36 212 0 11 20 223 243 28\n", + "37 0 246 0 0 246 0 -1\n", + "38 127 28 8 34 163 173 34\n", + "39 0 298 0 0 298 0 -1\n", + "40 0 970 0 0 970 0 -1\n", + "41 1035 20 18 3 1073 1038 0\n", + "42 898 2 7 12 907 921 1\n", + "43 2 860 51 845 913 864 3\n", + "44 0 1143 0 0 1143 0 -1\n", + "45 913 3 7 2 923 915 2\n", + "46 0 786 0 0 786 0 -1\n", + "47 0 695 0 0 695 0 -1\n", + "48 785 54 43 7 882 792 4\n", + "49 0 510 0 0 510 0 -1" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "rec0 kilosort2\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
tpfnclfpnum_gtnum_testedtested_id
gt_unit_id
02232302282237
138900038938938
240910041040958
318500018518578
423200023223294
523310023423340
626600026626660
730510030630580
830000030030075
932211732433186
10440000440440100
1136702236936952
1228222028628241
1334800034834827
1431700031731835
152870002872886
1626500026526597
173011524930755057
1831710031831715
1930200030230237
2050510050650598
2130110030230189
2232901033032931
230244002440-1
2422500022522554
2521821103330221105
2628900028928920
273430220334564182
2832800132832947
29353030356353101
300306003060-1
3127600027627656
3224310024424366
333121403173130
340220002200-1
350258002580-1
3622300022322362
3724141124624287
3816210016316219
392883712982931
409691009709695
4110712001073107118
4290610090790610
4391210091391226
4411112012131143113693
459212009239218
4678510078678530
4768951069568985
4887930188288044
49508206551057317
\n", + "
" + ], + "text/plain": [ + " tp fn cl fp num_gt num_tested tested_id\n", + "gt_unit_id \n", + "0 223 2 3 0 228 223 7\n", + "1 389 0 0 0 389 389 38\n", + "2 409 1 0 0 410 409 58\n", + "3 185 0 0 0 185 185 78\n", + "4 232 0 0 0 232 232 94\n", + "5 233 1 0 0 234 233 40\n", + "6 266 0 0 0 266 266 60\n", + "7 305 1 0 0 306 305 80\n", + "8 300 0 0 0 300 300 75\n", + "9 322 1 1 7 324 331 86\n", + "10 440 0 0 0 440 440 100\n", + "11 367 0 2 2 369 369 52\n", + "12 282 2 2 0 286 282 41\n", + "13 348 0 0 0 348 348 27\n", + "14 317 0 0 0 317 318 35\n", + "15 287 0 0 0 287 288 6\n", + "16 265 0 0 0 265 265 97\n", + "17 301 1 5 249 307 550 57\n", + "18 317 1 0 0 318 317 15\n", + "19 302 0 0 0 302 302 37\n", + "20 505 1 0 0 506 505 98\n", + "21 301 1 0 0 302 301 89\n", + "22 329 0 1 0 330 329 31\n", + "23 0 244 0 0 244 0 -1\n", + "24 225 0 0 0 225 225 54\n", + "25 218 2 110 3 330 221 105\n", + "26 289 0 0 0 289 289 20\n", + "27 343 0 2 203 345 641 82\n", + "28 328 0 0 1 328 329 47\n", + "29 353 0 3 0 356 353 101\n", + "30 0 306 0 0 306 0 -1\n", + "31 276 0 0 0 276 276 56\n", + "32 243 1 0 0 244 243 66\n", + "33 312 1 4 0 317 313 0\n", + "34 0 220 0 0 220 0 -1\n", + "35 0 258 0 0 258 0 -1\n", + "36 223 0 0 0 223 223 62\n", + "37 241 4 1 1 246 242 87\n", + "38 162 1 0 0 163 162 19\n", + "39 288 3 7 1 298 293 1\n", + "40 969 1 0 0 970 969 5\n", + "41 1071 2 0 0 1073 1071 18\n", + "42 906 1 0 0 907 906 10\n", + "43 912 1 0 0 913 912 26\n", + "44 1111 20 12 13 1143 1136 93\n", + "45 921 2 0 0 923 921 8\n", + "46 785 1 0 0 786 785 30\n", + "47 689 5 1 0 695 689 85\n", + "48 879 3 0 1 882 880 44\n", + "49 508 2 0 65 510 573 17" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "rec0 spykingcircus\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
tpfnclfpnum_gtnum_testedtested_id
gt_unit_id
00228002280-1
126711660389267146
20410004100-1
30185001850-1
4231100232231167
5165672023416514
60266002660-1
70306003060-1
80300003000-1
90324003240-1
104201820440420125
110369003690-1
120286002860-1
13283614034828354
1416914440317172149
1516910996287175178
1614111860265141219
170307003070-1
18268482031826851
190302003020-1
204029311050640240
21213827030221335
220330003300-1
230244002440-1
240225002250-1
251881375633019436
260289002890-1
270345003450-1
2821910540328219107
290356003560-1
300306003060-1
310276002760-1
320244002440-1
33211104253172180
340220002200-1
350258002580-1
362071600223207109
371549200246154266
380163001630-1
39195101262982042
400970009700-1
41010730010730-1
4271717317090771791
4377113840913771137
4469044948114370079
450923009230-1
46466304162578649153
470695006950-1
48458402220882458148
490510005100-1
\n", + "
" + ], + "text/plain": [ + " tp fn cl fp num_gt num_tested tested_id\n", + "gt_unit_id \n", + "0 0 228 0 0 228 0 -1\n", + "1 267 116 6 0 389 267 146\n", + "2 0 410 0 0 410 0 -1\n", + "3 0 185 0 0 185 0 -1\n", + "4 231 1 0 0 232 231 167\n", + "5 165 67 2 0 234 165 14\n", + "6 0 266 0 0 266 0 -1\n", + "7 0 306 0 0 306 0 -1\n", + "8 0 300 0 0 300 0 -1\n", + "9 0 324 0 0 324 0 -1\n", + "10 420 18 2 0 440 420 125\n", + "11 0 369 0 0 369 0 -1\n", + "12 0 286 0 0 286 0 -1\n", + "13 283 61 4 0 348 283 54\n", + "14 169 144 4 0 317 172 149\n", + "15 169 109 9 6 287 175 178\n", + "16 141 118 6 0 265 141 219\n", + "17 0 307 0 0 307 0 -1\n", + "18 268 48 2 0 318 268 51\n", + "19 0 302 0 0 302 0 -1\n", + "20 402 93 11 0 506 402 40\n", + "21 213 82 7 0 302 213 35\n", + "22 0 330 0 0 330 0 -1\n", + "23 0 244 0 0 244 0 -1\n", + "24 0 225 0 0 225 0 -1\n", + "25 188 137 5 6 330 194 36\n", + "26 0 289 0 0 289 0 -1\n", + "27 0 345 0 0 345 0 -1\n", + "28 219 105 4 0 328 219 107\n", + "29 0 356 0 0 356 0 -1\n", + "30 0 306 0 0 306 0 -1\n", + "31 0 276 0 0 276 0 -1\n", + "32 0 244 0 0 244 0 -1\n", + "33 211 104 2 5 317 218 0\n", + "34 0 220 0 0 220 0 -1\n", + "35 0 258 0 0 258 0 -1\n", + "36 207 16 0 0 223 207 109\n", + "37 154 92 0 0 246 154 266\n", + "38 0 163 0 0 163 0 -1\n", + "39 195 101 2 6 298 204 2\n", + "40 0 970 0 0 970 0 -1\n", + "41 0 1073 0 0 1073 0 -1\n", + "42 717 173 17 0 907 717 91\n", + "43 771 138 4 0 913 771 137\n", + "44 690 449 4 8 1143 700 79\n", + "45 0 923 0 0 923 0 -1\n", + "46 466 304 16 25 786 491 53\n", + "47 0 695 0 0 695 0 -1\n", + "48 458 402 22 0 882 458 148\n", + "49 0 510 0 0 510 0 -1" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "rec0 tridesclous\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
tpfnclfpnum_gtnum_testedtested_id
gt_unit_id
00228002280-1
13872013893900
20410004100-1
31841001851893
42320002322321
523400523424122
62651002662652
730402230631110
82892922130051118
90324003240-1
104370304404384
110369003690-1
120286002860-1
133451203483456
140317003170-1
150287002870-1
162631102652647
170307003070-1
1831431031831424
192983103022989
2049538250649812
2129831830230627
220330003300-1
230244002440-1
2422410022522413
250330003300-1
26286212528931220
27342123134538219
283271014532847223
2934411112635647217
300306003060-1
310276002760-1
320244002440-1
330317003170-1
340220002200-1
350258002580-1
360223002230-1
370246002460-1
38163007316324716
390298002980-1
40951811504970145629
411072012107310745
4290511090790514
4390832091390815
4411211576111143173731
4591832092391811
467661649778686328
4765232114869571026
4887192652882152325
495081122351073530
\n", + "
" + ], + "text/plain": [ + " tp fn cl fp num_gt num_tested tested_id\n", + "gt_unit_id \n", + "0 0 228 0 0 228 0 -1\n", + "1 387 2 0 1 389 390 0\n", + "2 0 410 0 0 410 0 -1\n", + "3 184 1 0 0 185 189 3\n", + "4 232 0 0 0 232 232 1\n", + "5 234 0 0 5 234 241 22\n", + "6 265 1 0 0 266 265 2\n", + "7 304 0 2 2 306 311 10\n", + "8 289 2 9 221 300 511 18\n", + "9 0 324 0 0 324 0 -1\n", + "10 437 0 3 0 440 438 4\n", + "11 0 369 0 0 369 0 -1\n", + "12 0 286 0 0 286 0 -1\n", + "13 345 1 2 0 348 345 6\n", + "14 0 317 0 0 317 0 -1\n", + "15 0 287 0 0 287 0 -1\n", + "16 263 1 1 0 265 264 7\n", + "17 0 307 0 0 307 0 -1\n", + "18 314 3 1 0 318 314 24\n", + "19 298 3 1 0 302 298 9\n", + "20 495 3 8 2 506 498 12\n", + "21 298 3 1 8 302 306 27\n", + "22 0 330 0 0 330 0 -1\n", + "23 0 244 0 0 244 0 -1\n", + "24 224 1 0 0 225 224 13\n", + "25 0 330 0 0 330 0 -1\n", + "26 286 2 1 25 289 312 20\n", + "27 342 1 2 31 345 382 19\n", + "28 327 1 0 145 328 472 23\n", + "29 344 1 11 126 356 472 17\n", + "30 0 306 0 0 306 0 -1\n", + "31 0 276 0 0 276 0 -1\n", + "32 0 244 0 0 244 0 -1\n", + "33 0 317 0 0 317 0 -1\n", + "34 0 220 0 0 220 0 -1\n", + "35 0 258 0 0 258 0 -1\n", + "36 0 223 0 0 223 0 -1\n", + "37 0 246 0 0 246 0 -1\n", + "38 163 0 0 73 163 247 16\n", + "39 0 298 0 0 298 0 -1\n", + "40 951 8 11 504 970 1456 29\n", + "41 1072 0 1 2 1073 1074 5\n", + "42 905 1 1 0 907 905 14\n", + "43 908 3 2 0 913 908 15\n", + "44 1121 15 7 611 1143 1737 31\n", + "45 918 3 2 0 923 918 11\n", + "46 766 16 4 97 786 863 28\n", + "47 652 32 11 48 695 710 26\n", + "48 871 9 2 652 882 1523 25\n", + "49 508 1 1 223 510 735 30" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "for (rec_name, sorter_name), comp in comparisons.items():\n", + " print(rec_name, sorter_name)\n", + " perf = comp.get_performance(method='raw_count')\n", + " display(perf)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "rec0 klusta\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
accuracyrecallprecisionfalse_discovery_ratemiss_ratemisclassification_rate
gt_unit_id
00.0000000.000000NaNNaN1.0000000.0
10.0000000.000000NaNNaN1.0000000.0
20.0000000.000000NaNNaN1.0000000.0
30.0000000.000000NaNNaN1.0000000.0
40.0000000.000000NaNNaN1.0000000.0
50.0000000.000000NaNNaN1.0000000.0
60.0000000.000000NaNNaN1.0000000.0
70.0000000.000000NaNNaN1.0000000.0
80.0000000.000000NaNNaN1.0000000.0
90.0000000.000000NaNNaN1.0000000.0
100.0000000.000000NaNNaN1.0000000.0
110.0000000.000000NaNNaN1.0000000.0
120.0000000.000000NaNNaN1.0000000.0
130.0000000.000000NaNNaN1.0000000.0
140.0000000.000000NaNNaN1.0000000.0
150.0000000.000000NaNNaN1.0000000.0
160.0000000.000000NaNNaN1.0000000.0
170.0000000.000000NaNNaN1.0000000.0
180.0000000.000000NaNNaN1.0000000.0
190.0000000.000000NaNNaN1.0000000.0
200.0000000.000000NaNNaN1.0000000.0
210.0000000.000000NaNNaN1.0000000.0
220.0000000.000000NaNNaN1.0000000.0
230.0000000.000000NaNNaN1.0000000.0
240.0000000.000000NaNNaN1.0000000.0
250.0000000.000000NaNNaN1.0000000.0
260.0000000.000000NaNNaN1.0000000.0
270.0000000.000000NaNNaN1.0000000.0
280.0000000.000000NaNNaN1.0000000.0
290.0000000.000000NaNNaN1.0000000.0
300.0000000.000000NaNNaN1.0000000.0
310.0000000.000000NaNNaN1.0000000.0
320.0000000.000000NaNNaN1.0000000.0
330.0000000.000000NaNNaN1.0000000.0
340.0000000.000000NaNNaN1.0000000.0
350.0000000.000000NaNNaN1.0000000.0
360.0000000.000000NaNNaN1.0000000.0
370.0000000.000000NaNNaN1.0000000.0
380.0000000.000000NaNNaN1.0000000.0
390.0000000.000000NaNNaN1.0000000.0
400.0000000.000000NaNNaN1.0000000.0
410.6259720.7502330.7907660.2092340.2497670.0
420.6987950.7034180.9906830.0093170.2965820.0
430.5901350.7207010.7651160.2348840.2792990.0
440.0000000.000000NaNNaN1.0000000.0
450.7467530.7475620.9985530.0014470.2524380.0
460.0000000.000000NaNNaN1.0000000.0
470.0000000.000000NaNNaN1.0000000.0
480.7188210.7188211.0000000.0000000.2811790.0
490.0000000.000000NaNNaN1.0000000.0
\n", + "
" + ], + "text/plain": [ + " accuracy recall precision false_discovery_rate miss_rate \\\n", + "gt_unit_id \n", + "0 0.000000 0.000000 NaN NaN 1.000000 \n", + "1 0.000000 0.000000 NaN NaN 1.000000 \n", + "2 0.000000 0.000000 NaN NaN 1.000000 \n", + "3 0.000000 0.000000 NaN NaN 1.000000 \n", + "4 0.000000 0.000000 NaN NaN 1.000000 \n", + "5 0.000000 0.000000 NaN NaN 1.000000 \n", + "6 0.000000 0.000000 NaN NaN 1.000000 \n", + "7 0.000000 0.000000 NaN NaN 1.000000 \n", + "8 0.000000 0.000000 NaN NaN 1.000000 \n", + "9 0.000000 0.000000 NaN NaN 1.000000 \n", + "10 0.000000 0.000000 NaN NaN 1.000000 \n", + "11 0.000000 0.000000 NaN NaN 1.000000 \n", + "12 0.000000 0.000000 NaN NaN 1.000000 \n", + "13 0.000000 0.000000 NaN NaN 1.000000 \n", + "14 0.000000 0.000000 NaN NaN 1.000000 \n", + "15 0.000000 0.000000 NaN NaN 1.000000 \n", + "16 0.000000 0.000000 NaN NaN 1.000000 \n", + "17 0.000000 0.000000 NaN NaN 1.000000 \n", + "18 0.000000 0.000000 NaN NaN 1.000000 \n", + "19 0.000000 0.000000 NaN NaN 1.000000 \n", + "20 0.000000 0.000000 NaN NaN 1.000000 \n", + "21 0.000000 0.000000 NaN NaN 1.000000 \n", + "22 0.000000 0.000000 NaN NaN 1.000000 \n", + "23 0.000000 0.000000 NaN NaN 1.000000 \n", + "24 0.000000 0.000000 NaN NaN 1.000000 \n", + "25 0.000000 0.000000 NaN NaN 1.000000 \n", + "26 0.000000 0.000000 NaN NaN 1.000000 \n", + "27 0.000000 0.000000 NaN NaN 1.000000 \n", + "28 0.000000 0.000000 NaN NaN 1.000000 \n", + "29 0.000000 0.000000 NaN NaN 1.000000 \n", + "30 0.000000 0.000000 NaN NaN 1.000000 \n", + "31 0.000000 0.000000 NaN NaN 1.000000 \n", + "32 0.000000 0.000000 NaN NaN 1.000000 \n", + "33 0.000000 0.000000 NaN NaN 1.000000 \n", + "34 0.000000 0.000000 NaN NaN 1.000000 \n", + "35 0.000000 0.000000 NaN NaN 1.000000 \n", + "36 0.000000 0.000000 NaN NaN 1.000000 \n", + "37 0.000000 0.000000 NaN NaN 1.000000 \n", + "38 0.000000 0.000000 NaN NaN 1.000000 \n", + "39 0.000000 0.000000 NaN NaN 1.000000 \n", + "40 0.000000 0.000000 NaN NaN 1.000000 \n", + "41 0.625972 0.750233 0.790766 0.209234 0.249767 \n", + "42 0.698795 0.703418 0.990683 0.009317 0.296582 \n", + "43 0.590135 0.720701 0.765116 0.234884 0.279299 \n", + "44 0.000000 0.000000 NaN NaN 1.000000 \n", + "45 0.746753 0.747562 0.998553 0.001447 0.252438 \n", + "46 0.000000 0.000000 NaN NaN 1.000000 \n", + "47 0.000000 0.000000 NaN NaN 1.000000 \n", + "48 0.718821 0.718821 1.000000 0.000000 0.281179 \n", + "49 0.000000 0.000000 NaN NaN 1.000000 \n", + "\n", + " misclassification_rate \n", + "gt_unit_id \n", + "0 0.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "3 0.0 \n", + "4 0.0 \n", + "5 0.0 \n", + "6 0.0 \n", + "7 0.0 \n", + "8 0.0 \n", + "9 0.0 \n", + "10 0.0 \n", + "11 0.0 \n", + "12 0.0 \n", + "13 0.0 \n", + "14 0.0 \n", + "15 0.0 \n", + "16 0.0 \n", + "17 0.0 \n", + "18 0.0 \n", + "19 0.0 \n", + "20 0.0 \n", + "21 0.0 \n", + "22 0.0 \n", + "23 0.0 \n", + "24 0.0 \n", + "25 0.0 \n", + "26 0.0 \n", + "27 0.0 \n", + "28 0.0 \n", + "29 0.0 \n", + "30 0.0 \n", + "31 0.0 \n", + "32 0.0 \n", + "33 0.0 \n", + "34 0.0 \n", + "35 0.0 \n", + "36 0.0 \n", + "37 0.0 \n", + "38 0.0 \n", + "39 0.0 \n", + "40 0.0 \n", + "41 0.0 \n", + "42 0.0 \n", + "43 0.0 \n", + "44 0.0 \n", + "45 0.0 \n", + "46 0.0 \n", + "47 0.0 \n", + "48 0.0 \n", + "49 0.0 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "rec0 kilosort\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
accuracyrecallprecisionfalse_discovery_ratemiss_ratemisclassification_rate
gt_unit_id
00.0000000.000000NaNNaN1.0000000.000000
10.0000000.000000NaNNaN1.0000000.000000
20.0000000.000000NaNNaN1.0000000.000000
30.0000000.000000NaNNaN1.0000000.000000
40.0000000.000000NaNNaN1.0000000.000000
50.0000000.000000NaNNaN1.0000000.000000
60.0000000.000000NaNNaN1.0000000.000000
70.0000000.000000NaNNaN1.0000000.000000
80.0000000.000000NaNNaN1.0000000.000000
90.0000000.000000NaNNaN1.0000000.000000
100.0000000.000000NaNNaN1.0000000.000000
110.0000000.000000NaNNaN1.0000000.000000
120.0000000.000000NaNNaN1.0000000.000000
130.0000000.000000NaNNaN1.0000000.000000
140.0000000.000000NaNNaN1.0000000.000000
150.0000000.000000NaNNaN1.0000000.000000
160.0000000.000000NaNNaN1.0000000.000000
170.0000000.000000NaNNaN1.0000000.000000
180.0000000.000000NaNNaN1.0000000.000000
190.0000000.000000NaNNaN1.0000000.000000
200.0000000.000000NaNNaN1.0000000.000000
210.0000000.000000NaNNaN1.0000000.000000
220.0000000.000000NaNNaN1.0000000.000000
230.0000000.000000NaNNaN1.0000000.000000
240.0000000.000000NaNNaN1.0000000.000000
250.0000000.000000NaNNaN1.0000000.000000
260.0000000.000000NaNNaN1.0000000.000000
270.0000000.000000NaNNaN1.0000000.000000
280.0000000.000000NaNNaN1.0000000.000000
290.5453150.9971910.5461540.4538460.0028090.000000
300.0000000.000000NaNNaN1.0000000.000000
310.0000000.000000NaNNaN1.0000000.000000
320.0000000.000000NaNNaN1.0000000.000000
330.0000000.000000NaNNaN1.0000000.000000
340.0000000.000000NaNNaN1.0000000.000000
350.0000000.000000NaNNaN1.0000000.000000
360.0000000.000000NaNNaN1.0000000.000000
370.0000000.000000NaNNaN1.0000000.000000
380.0000000.000000NaNNaN1.0000000.000000
390.0000000.000000NaNNaN1.0000000.000000
400.9927760.9927761.0000000.0000000.0072160.001031
411.0000001.0000001.0000000.0000000.0000000.000000
420.9977950.9977951.0000000.0000000.0022050.000000
430.0000000.0000000.0000001.0000000.9572840.042716
440.9903850.9912510.9991180.0008820.0087490.000000
450.9978330.9978331.0000000.0000000.0021670.000000
460.9346021.0000000.9346020.0653980.0000000.000000
470.9842630.9913540.9927850.0072150.0086330.001439
480.9832590.9988660.9843580.0156420.0011340.000000
490.5427030.9862480.5468410.4531590.0137250.001961
\n", + "
" + ], + "text/plain": [ + " accuracy recall precision false_discovery_rate miss_rate \\\n", + "gt_unit_id \n", + "0 0.000000 0.000000 NaN NaN 1.000000 \n", + "1 0.000000 0.000000 NaN NaN 1.000000 \n", + "2 0.000000 0.000000 NaN NaN 1.000000 \n", + "3 0.000000 0.000000 NaN NaN 1.000000 \n", + "4 0.000000 0.000000 NaN NaN 1.000000 \n", + "5 0.000000 0.000000 NaN NaN 1.000000 \n", + "6 0.000000 0.000000 NaN NaN 1.000000 \n", + "7 0.000000 0.000000 NaN NaN 1.000000 \n", + "8 0.000000 0.000000 NaN NaN 1.000000 \n", + "9 0.000000 0.000000 NaN NaN 1.000000 \n", + "10 0.000000 0.000000 NaN NaN 1.000000 \n", + "11 0.000000 0.000000 NaN NaN 1.000000 \n", + "12 0.000000 0.000000 NaN NaN 1.000000 \n", + "13 0.000000 0.000000 NaN NaN 1.000000 \n", + "14 0.000000 0.000000 NaN NaN 1.000000 \n", + "15 0.000000 0.000000 NaN NaN 1.000000 \n", + "16 0.000000 0.000000 NaN NaN 1.000000 \n", + "17 0.000000 0.000000 NaN NaN 1.000000 \n", + "18 0.000000 0.000000 NaN NaN 1.000000 \n", + "19 0.000000 0.000000 NaN NaN 1.000000 \n", + "20 0.000000 0.000000 NaN NaN 1.000000 \n", + "21 0.000000 0.000000 NaN NaN 1.000000 \n", + "22 0.000000 0.000000 NaN NaN 1.000000 \n", + "23 0.000000 0.000000 NaN NaN 1.000000 \n", + "24 0.000000 0.000000 NaN NaN 1.000000 \n", + "25 0.000000 0.000000 NaN NaN 1.000000 \n", + "26 0.000000 0.000000 NaN NaN 1.000000 \n", + "27 0.000000 0.000000 NaN NaN 1.000000 \n", + "28 0.000000 0.000000 NaN NaN 1.000000 \n", + "29 0.545315 0.997191 0.546154 0.453846 0.002809 \n", + "30 0.000000 0.000000 NaN NaN 1.000000 \n", + "31 0.000000 0.000000 NaN NaN 1.000000 \n", + "32 0.000000 0.000000 NaN NaN 1.000000 \n", + "33 0.000000 0.000000 NaN NaN 1.000000 \n", + "34 0.000000 0.000000 NaN NaN 1.000000 \n", + "35 0.000000 0.000000 NaN NaN 1.000000 \n", + "36 0.000000 0.000000 NaN NaN 1.000000 \n", + "37 0.000000 0.000000 NaN NaN 1.000000 \n", + "38 0.000000 0.000000 NaN NaN 1.000000 \n", + "39 0.000000 0.000000 NaN NaN 1.000000 \n", + "40 0.992776 0.992776 1.000000 0.000000 0.007216 \n", + "41 1.000000 1.000000 1.000000 0.000000 0.000000 \n", + "42 0.997795 0.997795 1.000000 0.000000 0.002205 \n", + "43 0.000000 0.000000 0.000000 1.000000 0.957284 \n", + "44 0.990385 0.991251 0.999118 0.000882 0.008749 \n", + "45 0.997833 0.997833 1.000000 0.000000 0.002167 \n", + "46 0.934602 1.000000 0.934602 0.065398 0.000000 \n", + "47 0.984263 0.991354 0.992785 0.007215 0.008633 \n", + "48 0.983259 0.998866 0.984358 0.015642 0.001134 \n", + "49 0.542703 0.986248 0.546841 0.453159 0.013725 \n", + "\n", + " misclassification_rate \n", + "gt_unit_id \n", + "0 0.000000 \n", + "1 0.000000 \n", + "2 0.000000 \n", + "3 0.000000 \n", + "4 0.000000 \n", + "5 0.000000 \n", + "6 0.000000 \n", + "7 0.000000 \n", + "8 0.000000 \n", + "9 0.000000 \n", + "10 0.000000 \n", + "11 0.000000 \n", + "12 0.000000 \n", + "13 0.000000 \n", + "14 0.000000 \n", + "15 0.000000 \n", + "16 0.000000 \n", + "17 0.000000 \n", + "18 0.000000 \n", + "19 0.000000 \n", + "20 0.000000 \n", + "21 0.000000 \n", + "22 0.000000 \n", + "23 0.000000 \n", + "24 0.000000 \n", + "25 0.000000 \n", + "26 0.000000 \n", + "27 0.000000 \n", + "28 0.000000 \n", + "29 0.000000 \n", + "30 0.000000 \n", + "31 0.000000 \n", + "32 0.000000 \n", + "33 0.000000 \n", + "34 0.000000 \n", + "35 0.000000 \n", + "36 0.000000 \n", + "37 0.000000 \n", + "38 0.000000 \n", + "39 0.000000 \n", + "40 0.001031 \n", + "41 0.000000 \n", + "42 0.000000 \n", + "43 0.042716 \n", + "44 0.000000 \n", + "45 0.000000 \n", + "46 0.000000 \n", + "47 0.001439 \n", + "48 0.000000 \n", + "49 0.001961 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "rec0 herdingspikes\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
accuracyrecallprecisionfalse_discovery_ratemiss_ratemisclassification_rate
gt_unit_id
00.0000000.000000NaNNaN1.0000000.000000
10.9642861.0000000.9642860.0357140.0000000.028278
20.8970590.9384620.9531250.0468750.0585370.048780
30.8214291.0000000.8214290.1785710.0000000.005405
40.9872341.0000000.9872340.0127660.0000000.000000
50.8059700.9557520.8372090.1627910.0427350.034188
60.9708031.0000000.9708030.0291970.0000000.000000
70.9060610.9867990.9171780.0828220.0130720.009804
80.9597321.0000000.9597320.0402680.0000000.046667
90.0000000.000000NaNNaN1.0000000.000000
100.9819821.0000000.9819820.0180180.0000000.009091
110.0000000.000000NaNNaN1.0000000.000000
120.0000000.000000NaNNaN1.0000000.000000
130.9798850.9970760.9827090.0172910.0028740.017241
140.8694441.0000000.8694440.1305560.0000000.012618
150.7317880.8246270.8666670.1333330.1637630.066202
160.8888890.9808430.9045940.0954060.0188680.015094
170.0000000.000000NaNNaN1.0000000.000000
180.9717871.0000000.9717870.0282130.0000000.025157
190.9545450.9865770.9671050.0328950.0132450.013245
200.9780881.0000000.9780880.0219120.0000000.029644
210.9140890.9333330.9779410.0220590.0629140.056291
220.6963190.7541530.9007940.0992060.2242420.087879
230.0000000.000000NaNNaN1.0000000.000000
240.8571430.9818180.8709680.1290320.0177780.022222
250.7865850.8431370.9214290.0785710.1454550.072727
260.8766230.9608540.9090910.0909090.0380620.027682
270.8791210.9876540.8888890.1111110.0115940.060870
280.7573530.9656250.7783380.2216620.0335370.024390
290.9247910.9736070.9485710.0514290.0252810.042135
300.0000000.000000NaNNaN1.0000000.000000
310.0000000.000000NaNNaN1.0000000.000000
320.0000000.000000NaNNaN1.0000000.000000
330.0000000.000000NaNNaN1.0000000.000000
340.0000000.000000NaNNaN1.0000000.000000
350.0000000.000000NaNNaN1.0000000.000000
360.9137931.0000000.9137930.0862070.0000000.049327
370.0000000.000000NaNNaN1.0000000.000000
380.6719580.8193550.7888200.2111800.1717790.049080
390.0000000.000000NaNNaN1.0000000.000000
400.0000000.000000NaNNaN1.0000000.000000
410.9782610.9810430.9971100.0028900.0186390.016775
420.9846490.9977780.9868130.0131870.0022050.007718
430.0011720.0023200.0023610.9976390.9419500.055860
440.0000000.000000NaNNaN1.0000000.000000
450.9945530.9967250.9978140.0021860.0032500.007584
460.0000000.000000NaNNaN1.0000000.000000
470.0000000.000000NaNNaN1.0000000.000000
480.9278960.9356380.9911620.0088380.0612240.048753
490.0000000.000000NaNNaN1.0000000.000000
\n", + "
" + ], + "text/plain": [ + " accuracy recall precision false_discovery_rate miss_rate \\\n", + "gt_unit_id \n", + "0 0.000000 0.000000 NaN NaN 1.000000 \n", + "1 0.964286 1.000000 0.964286 0.035714 0.000000 \n", + "2 0.897059 0.938462 0.953125 0.046875 0.058537 \n", + "3 0.821429 1.000000 0.821429 0.178571 0.000000 \n", + "4 0.987234 1.000000 0.987234 0.012766 0.000000 \n", + "5 0.805970 0.955752 0.837209 0.162791 0.042735 \n", + "6 0.970803 1.000000 0.970803 0.029197 0.000000 \n", + "7 0.906061 0.986799 0.917178 0.082822 0.013072 \n", + "8 0.959732 1.000000 0.959732 0.040268 0.000000 \n", + "9 0.000000 0.000000 NaN NaN 1.000000 \n", + "10 0.981982 1.000000 0.981982 0.018018 0.000000 \n", + "11 0.000000 0.000000 NaN NaN 1.000000 \n", + "12 0.000000 0.000000 NaN NaN 1.000000 \n", + "13 0.979885 0.997076 0.982709 0.017291 0.002874 \n", + "14 0.869444 1.000000 0.869444 0.130556 0.000000 \n", + "15 0.731788 0.824627 0.866667 0.133333 0.163763 \n", + "16 0.888889 0.980843 0.904594 0.095406 0.018868 \n", + "17 0.000000 0.000000 NaN NaN 1.000000 \n", + "18 0.971787 1.000000 0.971787 0.028213 0.000000 \n", + "19 0.954545 0.986577 0.967105 0.032895 0.013245 \n", + "20 0.978088 1.000000 0.978088 0.021912 0.000000 \n", + "21 0.914089 0.933333 0.977941 0.022059 0.062914 \n", + "22 0.696319 0.754153 0.900794 0.099206 0.224242 \n", + "23 0.000000 0.000000 NaN NaN 1.000000 \n", + "24 0.857143 0.981818 0.870968 0.129032 0.017778 \n", + "25 0.786585 0.843137 0.921429 0.078571 0.145455 \n", + "26 0.876623 0.960854 0.909091 0.090909 0.038062 \n", + "27 0.879121 0.987654 0.888889 0.111111 0.011594 \n", + "28 0.757353 0.965625 0.778338 0.221662 0.033537 \n", + "29 0.924791 0.973607 0.948571 0.051429 0.025281 \n", + "30 0.000000 0.000000 NaN NaN 1.000000 \n", + "31 0.000000 0.000000 NaN NaN 1.000000 \n", + "32 0.000000 0.000000 NaN NaN 1.000000 \n", + "33 0.000000 0.000000 NaN NaN 1.000000 \n", + "34 0.000000 0.000000 NaN NaN 1.000000 \n", + "35 0.000000 0.000000 NaN NaN 1.000000 \n", + "36 0.913793 1.000000 0.913793 0.086207 0.000000 \n", + "37 0.000000 0.000000 NaN NaN 1.000000 \n", + "38 0.671958 0.819355 0.788820 0.211180 0.171779 \n", + "39 0.000000 0.000000 NaN NaN 1.000000 \n", + "40 0.000000 0.000000 NaN NaN 1.000000 \n", + "41 0.978261 0.981043 0.997110 0.002890 0.018639 \n", + "42 0.984649 0.997778 0.986813 0.013187 0.002205 \n", + "43 0.001172 0.002320 0.002361 0.997639 0.941950 \n", + "44 0.000000 0.000000 NaN NaN 1.000000 \n", + "45 0.994553 0.996725 0.997814 0.002186 0.003250 \n", + "46 0.000000 0.000000 NaN NaN 1.000000 \n", + "47 0.000000 0.000000 NaN NaN 1.000000 \n", + "48 0.927896 0.935638 0.991162 0.008838 0.061224 \n", + "49 0.000000 0.000000 NaN NaN 1.000000 \n", + "\n", + " misclassification_rate \n", + "gt_unit_id \n", + "0 0.000000 \n", + "1 0.028278 \n", + "2 0.048780 \n", + "3 0.005405 \n", + "4 0.000000 \n", + "5 0.034188 \n", + "6 0.000000 \n", + "7 0.009804 \n", + "8 0.046667 \n", + "9 0.000000 \n", + "10 0.009091 \n", + "11 0.000000 \n", + "12 0.000000 \n", + "13 0.017241 \n", + "14 0.012618 \n", + "15 0.066202 \n", + "16 0.015094 \n", + "17 0.000000 \n", + "18 0.025157 \n", + "19 0.013245 \n", + "20 0.029644 \n", + "21 0.056291 \n", + "22 0.087879 \n", + "23 0.000000 \n", + "24 0.022222 \n", + "25 0.072727 \n", + "26 0.027682 \n", + "27 0.060870 \n", + "28 0.024390 \n", + "29 0.042135 \n", + "30 0.000000 \n", + "31 0.000000 \n", + "32 0.000000 \n", + "33 0.000000 \n", + "34 0.000000 \n", + "35 0.000000 \n", + "36 0.049327 \n", + "37 0.000000 \n", + "38 0.049080 \n", + "39 0.000000 \n", + "40 0.000000 \n", + "41 0.016775 \n", + "42 0.007718 \n", + "43 0.055860 \n", + "44 0.000000 \n", + "45 0.007584 \n", + "46 0.000000 \n", + "47 0.000000 \n", + "48 0.048753 \n", + "49 0.000000 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "rec0 kilosort2\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
accuracyrecallprecisionfalse_discovery_ratemiss_ratemisclassification_rate
gt_unit_id
00.9911110.9911111.0000000.0000000.0087720.013158
11.0000001.0000001.0000000.0000000.0000000.000000
20.9975610.9975611.0000000.0000000.0024390.000000
31.0000001.0000001.0000000.0000000.0000000.000000
41.0000001.0000001.0000000.0000000.0000000.000000
50.9957260.9957261.0000000.0000000.0042740.000000
61.0000001.0000001.0000000.0000000.0000000.000000
70.9967320.9967321.0000000.0000000.0032680.000000
81.0000001.0000001.0000000.0000000.0000000.000000
90.9757580.9969040.9787230.0212770.0030860.003086
101.0000001.0000001.0000000.0000000.0000000.000000
110.9945801.0000000.9945800.0054200.0000000.005420
120.9929580.9929581.0000000.0000000.0069930.006993
131.0000001.0000001.0000000.0000000.0000000.000000
141.0000001.0000001.0000000.0000000.0000000.000000
151.0000001.0000001.0000000.0000000.0000000.000000
161.0000001.0000001.0000000.0000000.0000000.000000
170.5462790.9966890.5472730.4527270.0032570.016287
180.9968550.9968551.0000000.0000000.0031450.000000
191.0000001.0000001.0000000.0000000.0000000.000000
200.9980240.9980241.0000000.0000000.0019760.000000
210.9966890.9966891.0000000.0000000.0033110.000000
221.0000001.0000001.0000000.0000000.0000000.003030
230.0000000.000000NaNNaN1.0000000.000000
241.0000001.0000001.0000000.0000000.0000000.000000
250.9775780.9909090.9864250.0135750.0060610.333333
261.0000001.0000001.0000000.0000000.0000000.000000
270.6282051.0000000.6282050.3717950.0000000.005797
280.9969601.0000000.9969600.0030400.0000000.000000
291.0000001.0000001.0000000.0000000.0000000.008427
300.0000000.000000NaNNaN1.0000000.000000
311.0000001.0000001.0000000.0000000.0000000.000000
320.9959020.9959021.0000000.0000000.0040980.000000
330.9968050.9968051.0000000.0000000.0031550.012618
340.0000000.000000NaNNaN1.0000000.000000
350.0000000.000000NaNNaN1.0000000.000000
361.0000001.0000001.0000000.0000000.0000000.000000
370.9796750.9836730.9958680.0041320.0162600.004065
380.9938650.9938651.0000000.0000000.0061350.000000
390.9863010.9896910.9965400.0034600.0100670.023490
400.9989690.9989691.0000000.0000000.0010310.000000
410.9981360.9981361.0000000.0000000.0018640.000000
420.9988970.9988971.0000000.0000000.0011030.000000
430.9989050.9989051.0000000.0000000.0010950.000000
440.9711540.9823170.9884340.0115660.0174980.010499
450.9978330.9978331.0000000.0000000.0021670.000000
460.9987280.9987281.0000000.0000000.0012720.000000
470.9927950.9927951.0000000.0000000.0071940.001439
480.9954700.9965990.9988640.0011360.0034010.000000
490.8834780.9960780.8865620.1134380.0039220.000000
\n", + "
" + ], + "text/plain": [ + " accuracy recall precision false_discovery_rate miss_rate \\\n", + "gt_unit_id \n", + "0 0.991111 0.991111 1.000000 0.000000 0.008772 \n", + "1 1.000000 1.000000 1.000000 0.000000 0.000000 \n", + "2 0.997561 0.997561 1.000000 0.000000 0.002439 \n", + "3 1.000000 1.000000 1.000000 0.000000 0.000000 \n", + "4 1.000000 1.000000 1.000000 0.000000 0.000000 \n", + "5 0.995726 0.995726 1.000000 0.000000 0.004274 \n", + "6 1.000000 1.000000 1.000000 0.000000 0.000000 \n", + "7 0.996732 0.996732 1.000000 0.000000 0.003268 \n", + "8 1.000000 1.000000 1.000000 0.000000 0.000000 \n", + "9 0.975758 0.996904 0.978723 0.021277 0.003086 \n", + "10 1.000000 1.000000 1.000000 0.000000 0.000000 \n", + "11 0.994580 1.000000 0.994580 0.005420 0.000000 \n", + "12 0.992958 0.992958 1.000000 0.000000 0.006993 \n", + "13 1.000000 1.000000 1.000000 0.000000 0.000000 \n", + "14 1.000000 1.000000 1.000000 0.000000 0.000000 \n", + "15 1.000000 1.000000 1.000000 0.000000 0.000000 \n", + "16 1.000000 1.000000 1.000000 0.000000 0.000000 \n", + "17 0.546279 0.996689 0.547273 0.452727 0.003257 \n", + "18 0.996855 0.996855 1.000000 0.000000 0.003145 \n", + "19 1.000000 1.000000 1.000000 0.000000 0.000000 \n", + "20 0.998024 0.998024 1.000000 0.000000 0.001976 \n", + "21 0.996689 0.996689 1.000000 0.000000 0.003311 \n", + "22 1.000000 1.000000 1.000000 0.000000 0.000000 \n", + "23 0.000000 0.000000 NaN NaN 1.000000 \n", + "24 1.000000 1.000000 1.000000 0.000000 0.000000 \n", + "25 0.977578 0.990909 0.986425 0.013575 0.006061 \n", + "26 1.000000 1.000000 1.000000 0.000000 0.000000 \n", + "27 0.628205 1.000000 0.628205 0.371795 0.000000 \n", + "28 0.996960 1.000000 0.996960 0.003040 0.000000 \n", + "29 1.000000 1.000000 1.000000 0.000000 0.000000 \n", + "30 0.000000 0.000000 NaN NaN 1.000000 \n", + "31 1.000000 1.000000 1.000000 0.000000 0.000000 \n", + "32 0.995902 0.995902 1.000000 0.000000 0.004098 \n", + "33 0.996805 0.996805 1.000000 0.000000 0.003155 \n", + "34 0.000000 0.000000 NaN NaN 1.000000 \n", + "35 0.000000 0.000000 NaN NaN 1.000000 \n", + "36 1.000000 1.000000 1.000000 0.000000 0.000000 \n", + "37 0.979675 0.983673 0.995868 0.004132 0.016260 \n", + "38 0.993865 0.993865 1.000000 0.000000 0.006135 \n", + "39 0.986301 0.989691 0.996540 0.003460 0.010067 \n", + "40 0.998969 0.998969 1.000000 0.000000 0.001031 \n", + "41 0.998136 0.998136 1.000000 0.000000 0.001864 \n", + "42 0.998897 0.998897 1.000000 0.000000 0.001103 \n", + "43 0.998905 0.998905 1.000000 0.000000 0.001095 \n", + "44 0.971154 0.982317 0.988434 0.011566 0.017498 \n", + "45 0.997833 0.997833 1.000000 0.000000 0.002167 \n", + "46 0.998728 0.998728 1.000000 0.000000 0.001272 \n", + "47 0.992795 0.992795 1.000000 0.000000 0.007194 \n", + "48 0.995470 0.996599 0.998864 0.001136 0.003401 \n", + "49 0.883478 0.996078 0.886562 0.113438 0.003922 \n", + "\n", + " misclassification_rate \n", + "gt_unit_id \n", + "0 0.013158 \n", + "1 0.000000 \n", + "2 0.000000 \n", + "3 0.000000 \n", + "4 0.000000 \n", + "5 0.000000 \n", + "6 0.000000 \n", + "7 0.000000 \n", + "8 0.000000 \n", + "9 0.003086 \n", + "10 0.000000 \n", + "11 0.005420 \n", + "12 0.006993 \n", + "13 0.000000 \n", + "14 0.000000 \n", + "15 0.000000 \n", + "16 0.000000 \n", + "17 0.016287 \n", + "18 0.000000 \n", + "19 0.000000 \n", + "20 0.000000 \n", + "21 0.000000 \n", + "22 0.003030 \n", + "23 0.000000 \n", + "24 0.000000 \n", + "25 0.333333 \n", + "26 0.000000 \n", + "27 0.005797 \n", + "28 0.000000 \n", + "29 0.008427 \n", + "30 0.000000 \n", + "31 0.000000 \n", + "32 0.000000 \n", + "33 0.012618 \n", + "34 0.000000 \n", + "35 0.000000 \n", + "36 0.000000 \n", + "37 0.004065 \n", + "38 0.000000 \n", + "39 0.023490 \n", + "40 0.000000 \n", + "41 0.000000 \n", + "42 0.000000 \n", + "43 0.000000 \n", + "44 0.010499 \n", + "45 0.000000 \n", + "46 0.000000 \n", + "47 0.001439 \n", + "48 0.000000 \n", + "49 0.000000 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "rec0 spykingcircus\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
accuracyrecallprecisionfalse_discovery_ratemiss_ratemisclassification_rate
gt_unit_id
00.0000000.000000NaNNaN1.0000000.000000
10.6971280.6971281.0000000.0000000.2982010.015424
20.0000000.000000NaNNaN1.0000000.000000
30.0000000.000000NaNNaN1.0000000.000000
40.9956900.9956901.0000000.0000000.0043100.000000
50.7112070.7112071.0000000.0000000.2863250.008547
60.0000000.000000NaNNaN1.0000000.000000
70.0000000.000000NaNNaN1.0000000.000000
80.0000000.000000NaNNaN1.0000000.000000
90.0000000.000000NaNNaN1.0000000.000000
100.9589040.9589041.0000000.0000000.0409090.004545
110.0000000.000000NaNNaN1.0000000.000000
120.0000000.000000NaNNaN1.0000000.000000
130.8226740.8226741.0000000.0000000.1752870.011494
140.5399360.5399361.0000000.0000000.4542590.012618
150.5950700.6079140.9657140.0342860.3797910.031359
160.5444020.5444021.0000000.0000000.4452830.022642
170.0000000.000000NaNNaN1.0000000.000000
180.8481010.8481011.0000000.0000000.1509430.006289
190.0000000.000000NaNNaN1.0000000.000000
200.8121210.8121211.0000000.0000000.1837940.021739
210.7220340.7220341.0000000.0000000.2715230.023179
220.0000000.000000NaNNaN1.0000000.000000
230.0000000.000000NaNNaN1.0000000.000000
240.0000000.000000NaNNaN1.0000000.000000
250.5679760.5784620.9690720.0309280.4151520.015152
260.0000000.000000NaNNaN1.0000000.000000
270.0000000.000000NaNNaN1.0000000.000000
280.6759260.6759261.0000000.0000000.3201220.012195
290.0000000.000000NaNNaN1.0000000.000000
300.0000000.000000NaNNaN1.0000000.000000
310.0000000.000000NaNNaN1.0000000.000000
320.0000000.000000NaNNaN1.0000000.000000
330.6593750.6698410.9768520.0231480.3280760.006309
340.0000000.000000NaNNaN1.0000000.000000
350.0000000.000000NaNNaN1.0000000.000000
360.9282510.9282511.0000000.0000000.0717490.000000
370.6260160.6260161.0000000.0000000.3739840.000000
380.0000000.000000NaNNaN1.0000000.000000
390.6456950.6587840.9701490.0298510.3389260.006711
400.0000000.000000NaNNaN1.0000000.000000
410.0000000.000000NaNNaN1.0000000.000000
420.8056180.8056181.0000000.0000000.1907390.018743
430.8481850.8481851.0000000.0000000.1511500.004381
440.6015690.6057950.9885390.0114610.3928260.003500
450.0000000.000000NaNNaN1.0000000.000000
460.5861640.6051950.9490840.0509160.3867680.020356
470.0000000.000000NaNNaN1.0000000.000000
480.5325580.5325581.0000000.0000000.4557820.024943
490.0000000.000000NaNNaN1.0000000.000000
\n", + "
" + ], + "text/plain": [ + " accuracy recall precision false_discovery_rate miss_rate \\\n", + "gt_unit_id \n", + "0 0.000000 0.000000 NaN NaN 1.000000 \n", + "1 0.697128 0.697128 1.000000 0.000000 0.298201 \n", + "2 0.000000 0.000000 NaN NaN 1.000000 \n", + "3 0.000000 0.000000 NaN NaN 1.000000 \n", + "4 0.995690 0.995690 1.000000 0.000000 0.004310 \n", + "5 0.711207 0.711207 1.000000 0.000000 0.286325 \n", + "6 0.000000 0.000000 NaN NaN 1.000000 \n", + "7 0.000000 0.000000 NaN NaN 1.000000 \n", + "8 0.000000 0.000000 NaN NaN 1.000000 \n", + "9 0.000000 0.000000 NaN NaN 1.000000 \n", + "10 0.958904 0.958904 1.000000 0.000000 0.040909 \n", + "11 0.000000 0.000000 NaN NaN 1.000000 \n", + "12 0.000000 0.000000 NaN NaN 1.000000 \n", + "13 0.822674 0.822674 1.000000 0.000000 0.175287 \n", + "14 0.539936 0.539936 1.000000 0.000000 0.454259 \n", + "15 0.595070 0.607914 0.965714 0.034286 0.379791 \n", + "16 0.544402 0.544402 1.000000 0.000000 0.445283 \n", + "17 0.000000 0.000000 NaN NaN 1.000000 \n", + "18 0.848101 0.848101 1.000000 0.000000 0.150943 \n", + "19 0.000000 0.000000 NaN NaN 1.000000 \n", + "20 0.812121 0.812121 1.000000 0.000000 0.183794 \n", + "21 0.722034 0.722034 1.000000 0.000000 0.271523 \n", + "22 0.000000 0.000000 NaN NaN 1.000000 \n", + "23 0.000000 0.000000 NaN NaN 1.000000 \n", + "24 0.000000 0.000000 NaN NaN 1.000000 \n", + "25 0.567976 0.578462 0.969072 0.030928 0.415152 \n", + "26 0.000000 0.000000 NaN NaN 1.000000 \n", + "27 0.000000 0.000000 NaN NaN 1.000000 \n", + "28 0.675926 0.675926 1.000000 0.000000 0.320122 \n", + "29 0.000000 0.000000 NaN NaN 1.000000 \n", + "30 0.000000 0.000000 NaN NaN 1.000000 \n", + "31 0.000000 0.000000 NaN NaN 1.000000 \n", + "32 0.000000 0.000000 NaN NaN 1.000000 \n", + "33 0.659375 0.669841 0.976852 0.023148 0.328076 \n", + "34 0.000000 0.000000 NaN NaN 1.000000 \n", + "35 0.000000 0.000000 NaN NaN 1.000000 \n", + "36 0.928251 0.928251 1.000000 0.000000 0.071749 \n", + "37 0.626016 0.626016 1.000000 0.000000 0.373984 \n", + "38 0.000000 0.000000 NaN NaN 1.000000 \n", + "39 0.645695 0.658784 0.970149 0.029851 0.338926 \n", + "40 0.000000 0.000000 NaN NaN 1.000000 \n", + "41 0.000000 0.000000 NaN NaN 1.000000 \n", + "42 0.805618 0.805618 1.000000 0.000000 0.190739 \n", + "43 0.848185 0.848185 1.000000 0.000000 0.151150 \n", + "44 0.601569 0.605795 0.988539 0.011461 0.392826 \n", + "45 0.000000 0.000000 NaN NaN 1.000000 \n", + "46 0.586164 0.605195 0.949084 0.050916 0.386768 \n", + "47 0.000000 0.000000 NaN NaN 1.000000 \n", + "48 0.532558 0.532558 1.000000 0.000000 0.455782 \n", + "49 0.000000 0.000000 NaN NaN 1.000000 \n", + "\n", + " misclassification_rate \n", + "gt_unit_id \n", + "0 0.000000 \n", + "1 0.015424 \n", + "2 0.000000 \n", + "3 0.000000 \n", + "4 0.000000 \n", + "5 0.008547 \n", + "6 0.000000 \n", + "7 0.000000 \n", + "8 0.000000 \n", + "9 0.000000 \n", + "10 0.004545 \n", + "11 0.000000 \n", + "12 0.000000 \n", + "13 0.011494 \n", + "14 0.012618 \n", + "15 0.031359 \n", + "16 0.022642 \n", + "17 0.000000 \n", + "18 0.006289 \n", + "19 0.000000 \n", + "20 0.021739 \n", + "21 0.023179 \n", + "22 0.000000 \n", + "23 0.000000 \n", + "24 0.000000 \n", + "25 0.015152 \n", + "26 0.000000 \n", + "27 0.000000 \n", + "28 0.012195 \n", + "29 0.000000 \n", + "30 0.000000 \n", + "31 0.000000 \n", + "32 0.000000 \n", + "33 0.006309 \n", + "34 0.000000 \n", + "35 0.000000 \n", + "36 0.000000 \n", + "37 0.000000 \n", + "38 0.000000 \n", + "39 0.006711 \n", + "40 0.000000 \n", + "41 0.000000 \n", + "42 0.018743 \n", + "43 0.004381 \n", + "44 0.003500 \n", + "45 0.000000 \n", + "46 0.020356 \n", + "47 0.000000 \n", + "48 0.024943 \n", + "49 0.000000 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "rec0 tridesclous\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
accuracyrecallprecisionfalse_discovery_ratemiss_ratemisclassification_rate
gt_unit_id
00.0000000.000000NaNNaN1.0000000.000000
10.9923080.9948590.9974230.0025770.0051410.000000
20.0000000.000000NaNNaN1.0000000.000000
30.9945950.9945951.0000000.0000000.0054050.000000
41.0000001.0000001.0000000.0000000.0000000.000000
50.9790791.0000000.9790790.0209210.0000000.000000
60.9962410.9962411.0000000.0000000.0037590.000000
70.9934641.0000000.9934640.0065360.0000000.006536
80.5644530.9931270.5666670.4333330.0066670.030000
90.0000000.000000NaNNaN1.0000000.000000
101.0000001.0000001.0000000.0000000.0000000.006818
110.0000000.000000NaNNaN1.0000000.000000
120.0000000.000000NaNNaN1.0000000.000000
130.9971100.9971101.0000000.0000000.0028740.005747
140.0000000.000000NaNNaN1.0000000.000000
150.0000000.000000NaNNaN1.0000000.000000
160.9962120.9962121.0000000.0000000.0037740.003774
170.0000000.000000NaNNaN1.0000000.000000
180.9905360.9905361.0000000.0000000.0094340.003145
190.9900330.9900331.0000000.0000000.0099340.003311
200.9900000.9939760.9959760.0040240.0059290.015810
210.9644010.9900330.9738560.0261440.0099340.003311
220.0000000.000000NaNNaN1.0000000.000000
230.0000000.000000NaNNaN1.0000000.000000
240.9955560.9955561.0000000.0000000.0044440.000000
250.0000000.000000NaNNaN1.0000000.000000
260.9137380.9930560.9196140.0803860.0069200.003460
270.9144390.9970850.9168900.0831100.0028990.005797
280.6913320.9969510.6927970.3072030.0030490.000000
290.7303610.9971010.7319150.2680850.0028090.030899
300.0000000.000000NaNNaN1.0000000.000000
310.0000000.000000NaNNaN1.0000000.000000
320.0000000.000000NaNNaN1.0000000.000000
330.0000000.000000NaNNaN1.0000000.000000
340.0000000.000000NaNNaN1.0000000.000000
350.0000000.000000NaNNaN1.0000000.000000
360.0000000.000000NaNNaN1.0000000.000000
370.0000000.000000NaNNaN1.0000000.000000
380.6906781.0000000.6906780.3093220.0000000.000000
390.0000000.000000NaNNaN1.0000000.000000
400.6500340.9916580.6536080.3463920.0082470.011340
410.9981381.0000000.9981380.0018620.0000000.000932
420.9988960.9988961.0000000.0000000.0011030.001103
430.9967070.9967071.0000000.0000000.0032860.002191
440.6416710.9867960.6472290.3527710.0131230.006124
450.9967430.9967431.0000000.0000000.0032500.002167
460.8714450.9795400.8876010.1123990.0203560.005089
470.8907100.9532160.9314290.0685710.0460430.015827
480.5685380.9897730.5718980.4281020.0102040.002268
490.6939890.9980350.6949380.3050620.0019610.001961
\n", + "
" + ], + "text/plain": [ + " accuracy recall precision false_discovery_rate miss_rate \\\n", + "gt_unit_id \n", + "0 0.000000 0.000000 NaN NaN 1.000000 \n", + "1 0.992308 0.994859 0.997423 0.002577 0.005141 \n", + "2 0.000000 0.000000 NaN NaN 1.000000 \n", + "3 0.994595 0.994595 1.000000 0.000000 0.005405 \n", + "4 1.000000 1.000000 1.000000 0.000000 0.000000 \n", + "5 0.979079 1.000000 0.979079 0.020921 0.000000 \n", + "6 0.996241 0.996241 1.000000 0.000000 0.003759 \n", + "7 0.993464 1.000000 0.993464 0.006536 0.000000 \n", + "8 0.564453 0.993127 0.566667 0.433333 0.006667 \n", + "9 0.000000 0.000000 NaN NaN 1.000000 \n", + "10 1.000000 1.000000 1.000000 0.000000 0.000000 \n", + "11 0.000000 0.000000 NaN NaN 1.000000 \n", + "12 0.000000 0.000000 NaN NaN 1.000000 \n", + "13 0.997110 0.997110 1.000000 0.000000 0.002874 \n", + "14 0.000000 0.000000 NaN NaN 1.000000 \n", + "15 0.000000 0.000000 NaN NaN 1.000000 \n", + "16 0.996212 0.996212 1.000000 0.000000 0.003774 \n", + "17 0.000000 0.000000 NaN NaN 1.000000 \n", + "18 0.990536 0.990536 1.000000 0.000000 0.009434 \n", + "19 0.990033 0.990033 1.000000 0.000000 0.009934 \n", + "20 0.990000 0.993976 0.995976 0.004024 0.005929 \n", + "21 0.964401 0.990033 0.973856 0.026144 0.009934 \n", + "22 0.000000 0.000000 NaN NaN 1.000000 \n", + "23 0.000000 0.000000 NaN NaN 1.000000 \n", + "24 0.995556 0.995556 1.000000 0.000000 0.004444 \n", + "25 0.000000 0.000000 NaN NaN 1.000000 \n", + "26 0.913738 0.993056 0.919614 0.080386 0.006920 \n", + "27 0.914439 0.997085 0.916890 0.083110 0.002899 \n", + "28 0.691332 0.996951 0.692797 0.307203 0.003049 \n", + "29 0.730361 0.997101 0.731915 0.268085 0.002809 \n", + "30 0.000000 0.000000 NaN NaN 1.000000 \n", + "31 0.000000 0.000000 NaN NaN 1.000000 \n", + "32 0.000000 0.000000 NaN NaN 1.000000 \n", + "33 0.000000 0.000000 NaN NaN 1.000000 \n", + "34 0.000000 0.000000 NaN NaN 1.000000 \n", + "35 0.000000 0.000000 NaN NaN 1.000000 \n", + "36 0.000000 0.000000 NaN NaN 1.000000 \n", + "37 0.000000 0.000000 NaN NaN 1.000000 \n", + "38 0.690678 1.000000 0.690678 0.309322 0.000000 \n", + "39 0.000000 0.000000 NaN NaN 1.000000 \n", + "40 0.650034 0.991658 0.653608 0.346392 0.008247 \n", + "41 0.998138 1.000000 0.998138 0.001862 0.000000 \n", + "42 0.998896 0.998896 1.000000 0.000000 0.001103 \n", + "43 0.996707 0.996707 1.000000 0.000000 0.003286 \n", + "44 0.641671 0.986796 0.647229 0.352771 0.013123 \n", + "45 0.996743 0.996743 1.000000 0.000000 0.003250 \n", + "46 0.871445 0.979540 0.887601 0.112399 0.020356 \n", + "47 0.890710 0.953216 0.931429 0.068571 0.046043 \n", + "48 0.568538 0.989773 0.571898 0.428102 0.010204 \n", + "49 0.693989 0.998035 0.694938 0.305062 0.001961 \n", + "\n", + " misclassification_rate \n", + "gt_unit_id \n", + "0 0.000000 \n", + "1 0.000000 \n", + "2 0.000000 \n", + "3 0.000000 \n", + "4 0.000000 \n", + "5 0.000000 \n", + "6 0.000000 \n", + "7 0.006536 \n", + "8 0.030000 \n", + "9 0.000000 \n", + "10 0.006818 \n", + "11 0.000000 \n", + "12 0.000000 \n", + "13 0.005747 \n", + "14 0.000000 \n", + "15 0.000000 \n", + "16 0.003774 \n", + "17 0.000000 \n", + "18 0.003145 \n", + "19 0.003311 \n", + "20 0.015810 \n", + "21 0.003311 \n", + "22 0.000000 \n", + "23 0.000000 \n", + "24 0.000000 \n", + "25 0.000000 \n", + "26 0.003460 \n", + "27 0.005797 \n", + "28 0.000000 \n", + "29 0.030899 \n", + "30 0.000000 \n", + "31 0.000000 \n", + "32 0.000000 \n", + "33 0.000000 \n", + "34 0.000000 \n", + "35 0.000000 \n", + "36 0.000000 \n", + "37 0.000000 \n", + "38 0.000000 \n", + "39 0.000000 \n", + "40 0.011340 \n", + "41 0.000932 \n", + "42 0.001103 \n", + "43 0.002191 \n", + "44 0.006124 \n", + "45 0.002167 \n", + "46 0.005089 \n", + "47 0.015827 \n", + "48 0.002268 \n", + "49 0.001961 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "for (rec_name, sorter_name), comp in comparisons.items():\n", + " print(rec_name, sorter_name)\n", + " perf = comp.get_performance(method='by_unit')\n", + " display(perf)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Step 6 : easy plot with seaborn\n", + "\n", + "With the seaborn package, it is very easy to summary with plot dataframes.\n", + "\n", + "Here some basic example for performances and run times." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Run times\n", + "\n", + "Run times is not plotted here because it has been lauch on several machine." + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 1.0, 'Run times (s)')" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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6afz4IMPkpKSwrJly5gwYQIZGRl07tyZTZs28dhjj/Huu+/y+9//HohOhvfUU0+xZs0aJk+eTN26ddm4cSNdu3ZlzJgx1KhRg+7du/Pss8/u97k2bdrEzTffzD333BPu891332XPnj1cc801DBw4kM2bN3Prrbeya9cuioqKGDNmDGedddCNyqWmUBCRKm/jxo089NBDjB8/npEjR7J06VIWLFjA2LFjadWqFe+//z5jx45l9uzoUUxubi5z584lNTWV8ePH07lzZ0aMGMEbb7xx0C/mYmvXruUf//gHTZs25eqrr2bVqlV06NCBu+66i6eeeoqWLVty2223hf2feOIJ7rrrLs4880x2795Neno6AB988AGLFy+mefPmXH/99bz00kv07NnzoP199tln3HbbbUycOJF27doxb9486tevz3PPPceePXsYOHAg55xzDi+//DLnnnsuw4YNo6ioiG+//bZMP0uFgohUeZmZmeHcPqeffjo5OTlkZWUxcuTIsM+ePXvC1z179iQ1NRWAlStXMmXKFADOP/98jjvuuBL30bFjR0488UQA2rVrR05ODnXr1qVly5a0bNkSgN69ezN//nwAOnfuzMSJE7n00ku56KKLqFu3brid2P6rVq06KBTy8vIYPnw4U6ZMoU2bNgC89dZbuDtLly4FojO1bty4kQ4dOvDb3/6WwsJCevToUea5qBQKIlLlxT7DIDU1la1bt9KgQQMWLlxYYv/SPEfhSPuIfTZCSW644QbOO+88li1bxtVXX82f//xnIHoqKdaB7wHq169P8+bNWbVqVRgKkUiE3/3ud/znf/7nQf2feuopli1bxujRoxkyZAiXX3553J+vmK4+EpFqp/hJbUuWLAGiv1A//vjjEvt26dKFRYsWAbBs2TK2b99e6v20bt2aTZs2kZ2dDcDixYvDZV988QVmxg033ECHDh3YsGEDED19tGnTJvbt28eSJUs488wzD9puzZo1mTJlCn/729/C2s4991zmzJnD3r17gehT5fLz88nJyeH444+nf//+9OvXjzVr1pS6/pIk/EjBzD4HdgJFQKG7n2VmjYF5QCvgc6C/u28zsxTgEaAXkA8Mdvd/J7pGESkfBXuLyvWKoYK9RaTXTD2qdR944AHGjBnDtGnTKCwspFevXrRr1+6gfjfddBOjRo2id+/enHHGGTRv3rzU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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "run_times = dataframes['run_times']\n", + "fig, ax = plt.subplots()\n", + "sns.barplot(data=run_times, x='rec_name', y='run_time', hue='sorter_name', ax=ax)\n", + "ax.set_title('Run times (s)')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### By unit\n", + "\n", + "The more convinient dataframes is **'perf_by_spiketrain'**.\n", + "\n", + "Here we plot for each sorter the accuracy for each units in the ground truth." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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mNjI1zLtIVFKKXXRSOhSJ23rqoPRJQe2BoU43bWbVE1P6FznnEy498gjj9RfunRp1UmTJm0przLnzJlT9YMPPqjtcrkccXFxua+++ur28ir7XNCARCml1EXD6XQw4L5Lt6Ys3huzbsHuuKz03NAqUWF5bXrUO5DQuU6a03nW40OLWbRo0Tpf6S+++OIuij889KwNHTr0yNChQ4+UZ5nnkgYkSimlLipOp4PWXeumleetGXX2TvtXNkoppZRS5U0DEqWUUkoFnAYkSimllAo4DUiUUkqps3TkyJGgd999N9bf8oEDB7bwlT5mzJhGX3/9dXR5taNwEr7yKu9c0oBEKaWUOktHjx4N+uqrr0rNclv4dNTp06dvOueNusBckFGUUkopdabcbjdrv0+OWT13VlzW0SOhVapF513ap/+BS3r1TXM6z+x7+vPPP19v//79YX379k0IDg72hIaGuiMjI107d+6stGDBgvWJiYlt16xZs8rtdvPoo482WLFiRVRsbGxeSEhI0Sy6K1asCH/++efrZ2dnO6tWrVrwyiuvbK9Tp07+W2+9VXPatGmxQUFBnoYNG+a8++67f2RkZDjHjh3bQETCHQ4H99xzz97Bgwcf9W7TxIkT42bOnFkD4Lrrrku99957D27bti307rvvbjZ//vwNAG+88Ubc8ePHgx577LG9vuo5i9182jQgUUopddFwu918/dwTTfbKxqgCe3K4nMyM4IVTJjf8fdmS6MFjn9p6JkHJY489tvvuu++unJycnLJw4cLI++67r+n06dM3NG7cuNij6GfMmFFt586dYfPmzVt/4MCBkP79+7caNGjQ4by8PMczzzzT4N133/29Zs2aBV9++WX0Cy+8UHfChAnbp0yZUmvhwoXrKlWq5Dly5EgQwMsvv1w7MjLSNW/evBSAtLS0YvPTrFixIvzbb7+t/s0332z0eDwMHjy4ZadOnTKio6P9zsTrq55zSW/ZKKWUumis/T45xjsYKeTKz3Pu3pQSte6HuTH+1j0dxpisksEIwPLlyyP79euXFhwcTN26dfPbtm2bASAiYdu3b688YsSI5n379k2YPHly7dTU1BCAxo0bZ48ePTr+s88+iwkODvbY5USNHDnyYGG5MTExxQKNpUuXRnTr1u1oRESEOzIy0t2tW7cjv/76a+TJ2uyrnnNJe0iUUkpdNFbPnRVX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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "perfs = dataframes['perf_by_unit']\n", + "fig, ax = plt.subplots()\n", + "g = sns.swarmplot(data=perfs, x='sorter_name', y='accuracy', hue='sorter_name', ax=ax)\n", + "g.legend(loc='center right', bbox_to_anchor=(1.5, 0.5))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Accuracy average\n", + "\n", + "Here is the plot of the accuracy with the **sum** method for pooling results." + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(0, 1)" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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P3nypHXp0qWpiYmJAbNnz24GACaTCZ999tnBH3/80X/+/PmN6tSpY8/IyPDt1KnT+bfeeuu42WzG7bff3j4hIeGA6+c6fPiwz8SJE1vOnDnzaOfOnS+88sorTX788cfA0tJS0wMPPHBm7NixWRkZGd4xMTEtCgoKzHa73fTSSy8du+OOO/LdvcdMSIiIiKpIRkaG75w5c4506tTp2Lhx41qsW7cueN26dQ1ee+21Y61bty5OSkryj42NbbZy5cpDAHDmzBmftWvXHrRYLJg6dWrTyMjI/KlTp57avHlz0Oeff96gomscPny4zoYNG440atSodNiwYbd8++23AV27di14/fXXw5cuXXqwRYsWJU888cRNZeUXL158w4svvnisV69eBXl5eV6+vr4OAFBK+a9fv35veHh4yejRo1utW7cu+L777ssuf72DBw9aJ02adPOsWbPSOnbsWLho0aIGAQEB9k2bNh0oKioy3Xfffbf86U9/Or9p06bgHj165D7//POnbTYbLly4UKlhIUxIiIiIqkhYWFhxp06dCgGgTZs2F06cOGE9cOBAwJNPPnlzWZnS0lJT2c99+/bNtug9S3v27An84IMPUgFg4MCBuTNmzLBXdA0RKWjatGkpALRq1epCenq6T0BAgP2GG24obtGiRQkADBo06NzKlStDASAyMjL/zTffbPqf//znXHR0dHbTpk0dZfXcfPPNJQAwYMCAc8nJyQHlE5Lc3FzLhAkTWs6fP/9wREREEQD8+9//rnvkyBG/f/7zn8EAUFBQYE5NTfWNjIwsiI2NbW6z2bz69++fXXYf3MWEhIiIqIp4e3tf7Gcxm83Os2fPWvz9/W1bt27dX1F5Pz8/xx+5hpeXF2w2m+ly5Z999tnTUVFRuTt27AgaOXLkLXFxcb+4ey1/f397WFhYSVJSUkBZQgLANHXq1OP9+vU7X778p59+qr744ougadOm3TR69OhfR48efdbda/EtGyIiIg8JCAhw3HDDDSWrV68OBrQxJnv27KlTUdmOHTvmrVmzJgQAPv/887r5+fluDyoVkaLTp09b09LSfABgy5Yt9cuOpaamWjt06FD4zDPPnBaRgkOHDvkCwKFDh/yPHDniY7fbsXXr1vpdu3bNK1+vxWJxxsXFHd60aVPIihUr6gNAz549c5cvXx5aUlJiAgCllDU/P9/r6NGj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rcVicfr4+DgCAwPtx48f9/3Xv/61NzIyslNKSspPDocDU6dObbZ79+66oaGhJd7e3hdnP9+9e7ffrFmzmhYWFnoFBQXZ5s6de7RRo0alH374YcOEhIRQs9nsDA8PL1q4cOGRvLw8rxdeeKGZUsrPZDLhiSeeyBg2bFiOa0zz588P27BhQwMAGDx4cObEiRPPpKWl+Tz++OOttm/fvg8A3nvvvbALFy6Yp02bllHRdarsBrrB3YnRHAD+V/9DRERELqZNm3bi8ccfr7N169b9iYmJgU8++WTLdevW7WvRokWJa7n169fXO378uHXbtm17f/31V+9BgwZFDB069GxJSYnptddea7Zw4cLUhg0b2lauXBk8e/bsxn//+9+PxsfH35CYmPizr6+vMzs72wwAc+bMuTEwMNC+bdu2/QBw7tw5s+t1du/e7bdx48aQtWvXHnA6nRg2bFibnj175gUHB1e4kjAAVHSda8ndeUhaAZgFoC2Ai8sdK6VaeCiuaq+41A6r9zX/vq5aTYuXiKgmE5GC8skIAOzatStwwIAB5ywWCxo3blzaqVOnPABQSlmPHj1a56GHHmoNAA6HAyEhIaUA0KJFi8K//e1vN91111050dHROXo9dd99992LLRj169f/TaLx/fffB/Tu3TsnICDAAQC9e/fOTkpKChwwYMBvWlFcVXSda8ndLpuPAcQCeAdAH2jr2hi9UrChrN5mdHk+3ugw3Jb89kNGh1BpxbZiWC01Z7rmmhYvEXmOr6+vuwvRAgCcTqcpPDy8cP369b8baxIfH//L119/Hbhjx46gRYsW3bh169Z9FdXhDovF4nRdw664uPjis7yi63h7e1/tpSofm5vl6iildoqISSl1DMDLIpIMYMaVTiS6WlaLFVXZB+xp38Z8a3QIRGSQwMBAe2Fh4RV/Ue/WrVveypUrQ//85z+fPXPmjPeePXsCBw4ceE5EinJzcy3//ve//Xv27FlQUlJiOnTokLVNmzZF6enpPn369Mm77bbb8u+44476+fn55u7du59fsmRJwzfeeCMd0LpsXFtJevTokf/CCy80f/rpp087nU58+eWXwW+++eaRsLAwW05OjiUrK8scEBDg+Oabb4L+53/+57zdbkdF17lcF09VczchKRYRLwC/6AvmnQQQ4LmwiIiIao4GDRrY27Vrlx8VFRVhtVodwcHBv1t0FgAGDx6c891339Xt27dvu4YNGxa3bds2HwCsVqvznXfeOfzaa681mzlzptnhcJhGjhz5a+vWrYufeeaZmwoKCsxOp9P0wAMPnAkODrY/++yzp6ZNm9YsKioqwsvLyzl+/PiMoUOHXuxm6dKly4VBgwadHTJkSBv9upmdO3cuBIBHH3301H333demQYMGpeHh4UUAYLfbTRVdx/N37r9Mrk03lyIi3QAcAFAPwKsA6gJ4WymV5Nnwfm/YsGHOhISEa33ZCrHLxvPYQuJ57z+70egQKmXi3GijQ6iRRCT5el7qIyUl5WhkZGRW2fa1fu2X3JOSktIgMjKyeUXHrvhl6ZOgDVdKPQcgH9r4ESIiomqrqpMHjg/zvCv2dyml7AB6XYNYiIiIqJZytznrJxHZAGAVgIKynUqp6tF3QkRERDWauwmJL4CzAP7kss8JgAkJERER/WHuztTKcSNERETkMe7O1PoxtBaR31BKPVrlEREREVGt4+5sq5sAbNb/7IT22m++p4IiIiKqadLS0nyioqIiXPft2rXLb+rUqU0BID4+PmTy5MnNPHn9FStW1PdU/Z7mbpfNGtdtEVkO4BuPRERERPQH2YuLI83WqpuHxF5cbDNbK/8qcbdu3S5069btQlXFcSmlpaU4duyYdfPmzfVHjBhxztPX84Sr/bJaAWhYlYEQERFVFbPVavnyjt5VVl/vr76s1PPy8OHDPhMnTmzZr1+/s8nJyYFLly5NdT2elpbmM2XKlOa5ubmWoKAg29tvv300PDy8ZPXq1cELFixo5OXl5QwICLCvWbNGFRYWmiZPnhyulPIzm82YPHlyep8+ffLi4+NDdu7cGVxYWOhlt9tNpaWlpvT0dN/+/fu3HThwYFZMTMyZKrsB14C7Y0jy8NsxJKcBTPFIRERERDXYwYMHrZMmTbp51qxZaTk5OZbk5OTA8mViY2ObRUdHnx0zZszZTz75JCQ2NrbpkiVLDi9cuPDGjz/++FCTJk1Ks7OzzQAQFxfX0GQyYdu2bfsPHDjgO3bs2FY7duzYCwC//PKL38aNG/eFhITYExMTAxctWhRWPvmpKdztsvndzSQiIqLfys3NtUyYMKHl/PnzD0dERBQlJiZW+Pzcv3+//0cffXQYAEaOHHlu/vz5TQCgffv2+c8991zzvn37Zt97773ZAPDTTz8FjBkz5gwAtGnTpigsLKzk0KFDvgDQpUuX8yEhIdd0zRlPcWtQq4gMFZEgl+16IjLEc2ERERHVPP7+/vawsLCSpKSkq1qAdu7cuceffvrpjFOnTvkMHTq0bVZWlvly5evUqeO4ukirH3ffsolVSuWWbSilcgDEeiYkIiKimslisTjj4uIOb9q0KeRyb7xEREQUrFq1KhgAVqxYUb99+/b5AJCammrt0aNHwfTp0zOCgoJs6enpPp07d85fv359fQBQSlnPnDnjIyJF5esMCAiwX7hw4bIJTHXm7iCdihKXKhu9TEREdL0ICAhwLF68OHXMmDGtnzy9s3EAABTMSURBVHjiiYyKysycOfP45MmTm8fHx99QNqgVAN54440mJ06csDqdTlPXrl3PR0ZGFt5yyy1FkydPDu/bt29bs9mMV1999aivr+/v5gbr0KFDodlsdvbr16/toEGDrs9BrQB2i8g8AB/o238DkOyZkIiIiP4Ye3GxrbJvxlypPrP18iv+3nTTTSXbt2/fBwDBwcH2TZs2HQCA6OjoXAB46KGHzkJbhgXNmzcvWbly5aHydSxevPhw+X116tRxzp8//2j5/a71AYCPj4+zojprCne/rBgALwH4DNrbNtuhJSVERETVztXMGXKF+qqyOqqAu2/ZFACY6uFYiIiIqJZy9y2b7SJSz2U7WES+8FxYREREVJu4+5ZNA/3NGgCAUiobnKmViIiIqoi7CYlDRC4uCCQizVHB6r9EREREV8PdQa3TAXwjIl8CMAG4HcDjHouKiIiIahW3WkiUUlsBdAWgACwH8CyAQg/GRUREVKOkpaX5REVFRbju27Vrl9/UqVObAkB8fHzI5MmTm1V8dtVc33Uytu3bt9e955572vTt27ftPffc0+af//xntV4Gxt3F9cYCeApAEwB7APQA8B2AP13hvP4A3gNgBvCRUmr2JcrdB2A1gG5Kqd1uR09ERFQBW6k90uJtrrJ5SGyldpvF21zpV4m7det2oVu3bheqKo5LKS0txbFjx6ybN2+uP2LEiHMAEBISUhoXF5fauHHj0p9//tn38ccfb/3dd9/9x9OxXC13v6ynAHQDkKSU6iMitwB443IniIgZ2kRqUQBOANglIhuUUvvLlQvU6/++ssETERFVxOJttrz/7MYqq2/i3OhKJTeHDx/2mThxYst+/fqdTU5ODiy/Am9aWprPlClTmufm5lrKZmoNDw8vWb16dfCCBQsaeXl5OQMCAuxr1qxRhYWFpsmTJ4crpfzMZjMmT56c3qdPn7z4+PiQnTt3BhcWFnrZ7XZTaWmpKT093bd///5tBw4c+JuZWiMiIopKSkq8ioqKTBXN8loduHuDi5RSRSICEbEqpQ6KiFzhnO4AUpVSRwBARFYAGAxgf7lyrwJ4E8DzlQmciIioOjp48KB10qRJN8+aNSstJyfHkpyc/LuuktjY2GbR0dFnx4wZc/aTTz4JiY2NbbpkyZLDCxcuvPHjjz8+1KRJk9Ls7GwzAMTFxTU0mUzYtm3b/gMHDviOHTu21Y4dO/YCwC+//OK3cePGfSEhIfbExMTARYsWhZVPfgBg7dq1wS1btrxQXZMRwP23bE7o85CsA7BdRNYDOHaFcxoDSHetQ993kYh0BtBUKbXZzTiIiIiqrdzcXMuECRNazpkz50jHjh0vOdZy//79/sOHDz8HACNHjjy3d+/eAABo3759/nPPPdd88eLFDex2OwDgp59+ChgyZMhZAGjTpk1RWFhYyaFDh3wBoEuXLudDQkLsl4tp7969vn//+98bv/7661d6bhvK3UGtQ5VSOUqpl6FNIb8IwJA/cmER8QIwD9oAWSIiohrP39/fHhYWVpKUlBRwNefPnTv3+NNPP51x6tQpn6FDh7bNysq67Oq9derUcVzueHp6undMTEzL119/Pa1ly5bFVxPTteJuC8lFSqkvlVIblFIlVyh6EkBTl+0m+r4ygQDaAUgUkaPQBspuEJGulY2JiIioOrBYLM64uLjDmzZtCnF946W8iIiIglWrVgUDwIoVK+q3b98+HwBSU1OtPXr0KJg+fXpGUFCQLT093adz587569evrw8ASinrmTNnfESkqHydAQEB9gsXLlxMYLKzs81jx45t9eSTT57o1atXQdV/2qpVZSOQK7ALQCsRuQlaIjICwKiyg0qpXAANyrZFJBHAc3zLhoiIarKAgADH4sWLU8eMGdP6iSeeyKiozMyZM49Pnjy5eXx8/A1lg1oB4I033mhy4sQJq9PpNHXt2vV8ZGRk4S233FI0efLk8L59+7Y1m8149dVXj1Y0FqRDhw6FZrPZ2a9fv7aDBg3KKiwsNJ86dcq6YMGCRgsWLGgEAJ988smhsLAwm0dvwFUyOZ2eG98iIvcAeBfaa7+LlVKvi8grAHYrpTaUK5sINxKSYcOGORMSEjwVcqV0eT7e6BDclvz2Q0aHcFVum3+b0SG47duYb40O4apU5ZsI18LEudFGh1AjiUiyUuq6bYFOSUk5GhkZmVW2XV1e+6XfSklJaRAZGdm8omOebCGBUmoLgC3l9s24RNk7PRkLERHVHlWdPFi8LzuUg6pApceQEBEREVU1JiRERERkOCYkREREZDgmJERERGQ4JiRERERkOCYkRERE1cT9998vu3bt8iu/f/To0S3L1rapKk8//XT4vn37fKuyzj/Co6/9EhERGcFWUhJp8fGpunlISkpsFh8fw+YhWbZs2e8WzPuj3n333QrXtrHZbLBYrn16wISEiIiuOxYfH8vro++vsvqmL1t9xedlfn6+1/jx41tkZmb6OBwO07hx4zLmz5/fpE+fPtlJSUl1rVarc968eUfCwsJKBw4cGLFz5869Pj4+ztzcXK9BgwZF7Ny5c29ZXXa7HU8//XTzhg0blrz00ksZt99+e/uEhIQD+fn5XmPHjm3VoUOH/L179wY0aNCgZNGiRal+fn7OH374we+ll15qbjKZ0L179/Pfffdd0Pbt2/fZbDbMnDmzSVJSUpCXl5dzyJAhWX/961/P3H///TJlypT0bt26XYiMjOwUHR2duWvXrrovvvjicavV6njjjTeaFRYWevn4+Dg//fRTtW7duuC9e/f6v/XWW8cBYMyYMS0fe+yxX3v16pU3adKk5gcPHvQ3mUzO6OjorJiYmDOVvcdMSIiIiKrAtm3b6oaGhpaWtWbk5OSY58+fj8DAQNu2bdv2L1u2LOSVV15punTp0tSOHTvmff7550GDBw/OWb16df3evXtn+/j4OAHAZrOZJkyYcFPLli0Ln3/++dPlr5ORkeE7Z86cI506dTo2bty4FuvWrQseNWrUuenTp980c+bMoz179ix4+eWXG5eVX7x4cWhGRobPli1b9nl7e+Ps2bO/6/opKiryioyMLHjttddOFBcXm6KiotrNmTPncPfu3S/k5uZ6XW4Rvz179vhlZmZ6b9++fR+graFzNfePY0iIiIiqQEREROHu3bvrxsbGNv7qq68C6tWrZweAYcOGnQOABx988NyBAwcCAGD48OGZCQkJIQCwYcOGBsOHD7847f3LL78cfqlkBADCwsKKO3XqVAgAbdq0uXDixAlrdna2ubCw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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "perfs = dataframes['perf_pooled_with_average']\n", + "fig, ax = plt.subplots()\n", + "g = sns.barplot(data=perfs, x='rec_name', y='accuracy', hue='sorter_name', ax=ax)\n", + "g.legend(loc='center right', bbox_to_anchor=(1.5, 0.5))\n", + "ax.set_title('accuracy - with pool average')\n", + "ax.set_ylim(0, 1)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### accuracy vs SNR\n", + "\n", + "Here a plot to see if the high SNR make better accuracy." + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAGoCAYAAADW2lTlAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nOzde7xUdb3/8dew94a9BWKL6AHB8nL0o6aYSl5KTKJM5SBqXtA8psf01NHCOnayNCK0sswLll3M8lL+NDVDEBJNyajUvKCWl48Z2RGEvMIB47Zhfn+sNTB7mDWz5rJmZs+8n4/HPPbMmnX5fNeeteezv7eVSqfTiIiIiEjr6FfvAERERESktpQAioiIiLQYJYAiIiIiLUYJoIiIiEiLUQIoIiIi0mKUAIqIiIi0GCWAIiIiIi1GCWCDMLPTzWz7esdRa2b2GzMbk2f5S2Y2rIz9HWZm76tOdFJPuia2WD7XzLrD56sSjuE8M9sqyWO0Mn22q7a/aWZ2fvh8upl9qFr7LnLcT5rZaeHzqpaplpQANgAzawNOB0r6g2Bm7YkE1LcdBigB7ON0TWzJ3Y9y9+VJHyc89+cBSgAToM92eYqV392nuvuvaxGLu//A3W+qxbGS1NIfqGoys4HAbcAooA242N1/bmbjgW8TnOtHgU+5+1ozewn4OfBh4ApgDHCzma0GDgb2DJcPAl4HTnf3pWb2G+BJ4BDgFuDyPLHcAPxfuM/hwP+4+x1mNgi4C9ga6AAucve7zGxH4B7gYYLk6VHgeuCrwHbAx9z9j2EZvwPsFW4/zd3vqtL56wf8BFjs7hdlLd8RuNvd9wpfnw8McvdpZvYZ4JNAD/AscEH4eoOZnQp8GugGLgL6A2+EZflHNWKWwnRNVHz+el0T4fkZ4+6vZ62TAr4FHAmkgUvCczyC4Fy+g+A8f8rdF5jZycCXgBQwx92/EO5nFfBD4EPALwiSk/lm9rq7j6tGeZqJPtsVOcHMvkfwt/nM8HPZBlxK8A/8AOAad/+hmR0GXAy8BewO7GZmFwIfB14FXgYezzoPd4dlfwm4EZgYxn6Cuz9vZtsC/4/g8/0Qwe9jf2A1+X+fL4XLjwzXOcXdXzSzacAqd/92plB5rtfDw3M6APgrcIa7rzKzS4GjCb637nX386twTsuiGsDqOQJ4xd33CZOVe8ysE7gBOMnd9yb8Q5y1zRvuvp+7/wx4jODCew/BB+M7wPHuvj/Bh+prWdv1d/cx7r7FH4MsIwj+aPwbwYUFsAY41t33A8YBl4dfIAD/SvDHZffwcUq4/fkEXxgAFwIPuPsB4faXhX8kNjGzwWb2ZMRjz4hY24Gbgb9kJ38xXADs6+6jgU+6+0vAD4Ar3f097r4A+B1wkLvvC9wK/E8J+5fK6Jog8WviOOA9wD4EydtlYfJ3CjAvPHf7AE+GTY7fBD4YbvNeMzsm3M9A4JHwdzUdeAUYp+Qvkj7blP/ZDvd5HvCVcNmZwAp3fy/wXuAsM9spfG8/YIq772Zm+wOTCT6/R4XrRnk9LPv3w3IRHu8Bd383cAfwznD5Fr/PrP2sCH+f3wWuiioTWddr2H3pIuBDYQyPAZ8zs22AY4F3h99blxSIP3GqAayePxFcYN8k+C9kgZntA/zN3V8I17kROIfNH6KfR+zLCP7rus/MIPiPZGnW+1HbZZvp7huBZ83sX8JlKeDrZnYosBEYCWTe+5u7/wnAzJ4B7nf3tJn9CdgxXOdw4OhMnwugk+ACei5zUHdfSXBxluKHwG3u/rWia/b2NMF/0TOBmRHrjAIyNSL9gb+VeAwpn64JEr8mDgFucfcNwD/M7EGCL8VHgZ+YWUdY7ifN7IPAb9z9tbBMNwOHElw7Gwhq/iQefbYp+7N9Z/jz8ZxjjTaz48PXQ4BdgXXAH90983d7LPBLd/9nGPusmMc5Lnx+CEEChrvfY2Zvhcu3+H1m7eeWrJ9XRhwr93o9iKBW9/fh77Q/QY3jCoLE/Mdmdjdwd4H4E6cEsErc/QUz24/gv5JLzOx+gur3Qt6OWJ4CnnH3g0vcLtvanP0BfAzYFtjf3deH1dudedbfmPV6I5s/Jyngo+7uUQc1s8HAgoi3T3H3Z/Ms/wMwzswud/c1Oe/10LumujPr+QSCL7CJwIVmtneefX8HuMLdZ4XNCdOiYpfq0jURSOCaKMrdfxt+8U8AbjCzKwi+fKKsCZNIiUGf7UCZn+3MsTbkHOvT7j4vZ/+HEa/8+eQ7Tl75fp9hTTgEXSvI8zxb7vWaAu5z95NzVzSzA4DxwPHAuQQ18nWhJuAqCZtX/hlW719GUG3twI5m9q/hav8OPBixi5XA4PC5A9ua2cHhvjvM7N1VCHMI8Gr4x2Ac8K4St58HfDrTjGBm++au4O4rw+bXfI98fwwAfgzMBW6zLTv6/gPYzsy2MbMBBE0cmf4WO7j7fOALYdkG0fs8Zsq8JHz+8RLLKxXQNRFI4JrItgA4yczawv5NhwJ/NLN3Af9w9x8B1xGc+z8CHzCzYRb0uTqZeOdecuizHSjzsx11rE+FNdaY2W65zc2h3wLHmFlXmHxOLLFMvwdODI9xOEH/yKjfZ8ZJWT8fithv7vX6MPD+zGfBzAaGZRoEDHH3ucBnCbpn1I0SwOrZm+AP75ME/QwuCf8TOAO4Paxa30jQRy2fG4AfhNu3Efx38E0ze4qgE3A1RrbeDIwJYzkNeL7E7S8m6FD7dNhscHEVYgLA3a8AFgI/DZO7zPL1wHSCL6/72BxzG/CzsCwLgas9GCE5Gzg27IMylqDG73Yze5ygc7XUjq6JCkRdEzl+SdAV4ingAYIBAMsIOtM/ZWYLCb64Zrj7UoJ+s/PD9R/36E791xL0a5tfrfI0GX22q+s6goF8T5jZnwmaVLf4x8fdnyBoEn8K+BVBV4dSfBU4PDzGCcAygmR8i99n1jZbm9nTwBSCpC2v7OuVYMDh6cAt4bYPEfS1HAzcHS77HfC5EuOvqlQ6HVWjKSIiItIcwlakDe7eE9a4fj8ciBO1/kvkjLxvJuoDKCIiIq3gnQTNtP0IBpicVed46ko1gH2YBfMhnZCz+PYyRtOKNAVdE9Ks9NmWalMCKCIiItJi+twgkDPPPDNNMBRbDz2a8VERXR96NPmjIro+9GjyR0n6XAL41ltvFV9JpEXp+hCJputDZLM+lwCKiIiISGWUAIqIiIi0GCWAIiIiIi0msXkAzewnBLftetXd98rzfgqYQXDvvX8Cp4ezfIuINJanb4P7p8OKxTBkFIyfCqNP7HvHr3c5RKRhJFkDeANwRIH3jwR2DR9nA99PMBYRyXj6NrhyL5jWHfx8+rZ6R9TYnr4NZn8GVrwMpIOfsz9Tu/NWrePXuxwiCZmzaA6H33E4o28czeF3HM6cRXPqHVKfkFgC6O6/Bd4ssMok4CZ3T7v7w0C3mY1IKh4RIX8ScOfZMG2IksEo90+H9at7L1u/Oljel45f73KIJGDOojlM+8M0lr69lDRplr69lGl/mNY0SWCSyW09bwU3Eng56/XicNnS+oQj0gLyJQGZ6aMyNULQWM2C9W62XLG4tOWNevx6l0MkATOemMGaDWt6LVuzYQ0znpjBhJ0n5N1mzqI5zHhiBsveXsaQAUNIp9P837r/4x3930EqlWLF2hUMHzicKftNidxHLWSS20z5MsktUJW4NAhEpJUU+7JvtBqhRmi2HDKqtOWNevx6l0P6jFJrnerZBLvs7WUlLc+tMVy+djkr1q0gTZoV61awfO3yhqlJLJTcVkM9E8AlwA5Zr0eFy0QkKXG+7BupRqgRmi3HT4WOrt7LOrqC5X3p+PUuh/QJpTap1qIJtlCCOXzg8LzbRC3Pl1RFqWayVYpMeZe+nb9BNCq5LVU9E8BZwGlmljKzg4AV7q7mX5Ekxfmyb6QaoUZothx9Iky8GobsAKSCnxOvrl0zdLWOX+9ySJ9w6R8vLanWKelaqnwJ5gULLuCQWw5hzqI5TNlvCp1tnb226WzrZMp+U/Lur9TkqVrJVlzZ5Y0SldyWKslpYG4BDgOGmdli4CtAB4C7/wCYSzAFzIsE08CckVQsIhIafSL86guwOmJ8VqPVCA0ZFTb/5lleS6NPrG+iVK3j17sc0tDmLJrD8rXL876XSYSy+88NHzg88VqqqBq7FetWMO0P05j2vuCRHVOhvnuFYo5av5aK1VAWSm5LlVgC6O4nF3k/DZyT1PFFJMKR3wz60eU2rXYNDd5rpARh/NQtY220JFWkSRSqtRs+cHjeQQmF1q+GQolkpqbx3uPvjT0oYsp+U3qVoZBqJltxFSrviIEjqjowpZ6jgEWkHjIJXl+YELgvxSrSxxVKPqbsNyV2/7lqJk7FauxKrWnMJE+NOgo4qrwjBo7g3uPvreqxlACKtIp6T6dSLjVbitREVPIxpP8QJuw8gS8u+GLktiMGjojVBFuqYjV25dQ0Tth5Ql2ndykkX3mTqolUAijSCjLTqWSaUht1zj8RKUlun7xKkq+o5OOLBwaJXy1rpzIyZbn0j5du0T+xHk20ScutoUyyJlLzAIq0gkaYTkVEqqrSKVhyp1cBmPa+aYwYOIIUKUYMHMG0903blHyUOuK2WibsPIEFkxdw6dhLI2NrJhN2nsC9x9/L0x9/uqT+jaVSDaBIK2iE6VREpKrKuQtGRtRdJqa9b1pkbV4ptVPVrJnMPn4zJnz1ogRQpBU0ynQqIlI1UYMj4kxzUm7yGCcJS/oWZlIdagIWaQW6C4RI0+mXyv8VHrU8W9To2aVvL634dm5JTw4t1aEEUKQV6C4QIg2tnPvpbkxvLGl5tkKjZyu9nVup9+eV+lACKNIqRp8In/0zTFse/FTyJ9IQyh3MMWLgiJKWZ8s3oCNbnBq7qKS11PvzSn0oARQREamjcptMKxmVO2HnCZtG/EYpVGNXKGmt12hhKY0SQBERkToqp8k0M8p2zYY1m/r8jRg4gkn/OokZT8yI1ZScmW4kKgksVGNXbBBJoelkpDFoFLCIiEgdRU2wHJWA5Y6y3ZjeSGdbJ4eOOpS7Xryr5NG35dx9otAgktE3jq7brdQkPtUAioiI1FGpTaZRtW+3v3B7WU3J5dTYFaodLGdSaqk91QCKiIjUUam3/4qqfYsa/Rtn9G2h+f3yTepc7B69EH9SaqkPJYAiIiJ1VspdLqKajPul+uVNAisZfVvojiHT3jdtU2KYJp13e0390rjUBCwiItKHRDUZn7DbCVUffVtssEfmnrXlDCSR+lICKCIi0odE9dm76KCLqj76Nu4IZU390veoCVhERKSPiWoyLqUpOY64I5RL7cco9acEUERERPIqZYqYaiefkiwlgCIiIpJXVM0ewOF3HK7avj5MCaCIiIhEyq3ZixoZnFlX+gYNAhEREelj5iyaw+F3HB7rlm/VVu69i6WxJFoDaGZHADOANuA6d7805/13AjcC3eE6F7j73CRjEhER6cvqXQNXzr2LpfEkVgNoZm3ANcCRwJ7AyWa2Z85qFwG3ufu+wGTge0nFIyIi0gzqXQMXNbef5vzrW5JsAj4AeNHdF7n7OuBWYFLOOmngHeHzIcArCcYjIiKSuKSbZ+tdA6c5/5pDkk3AI4GXs14vBg7MWWcacK+ZfRoYCHwowXhEREQSVYvm2bhz8yVFc/41h3oPAjkZuMHdRwFHAT81s3rHJCIiUpZaNM82Qg1c9m3g7j3+XiV/fVCSydYSYIes16PCZdnOBG4DcPeHgE5gWIIxiYiIJKYWzbNRt4JTEialSLIJ+FFgVzPbiSDxmwyckrPO/wLjgRvMbA+CBPC1BGMSERFJTK2aZ3XXDalUYjWA7t4DnAvMA54jGO37jJlNN7Ojw9X+GzjLzJ4CbgFOd/d0UjGJiIgkKYnm2XrO+SfNK9F5AMM5/ebmLJua9fxZ4P1JxiB9w8yFS7hsnvPK8tVs393F5z9iHLPvyHqHJSJSkmoPkKj3nH/SvHQrOKm7mQuX8MU7/8Tq9RsAWLJ8NV+8808ASgJFpM+pZvNsoUElSgClEhpxK3V32TzflPxlrF6/gcvmeZ0iEhFpDPWe80+alxJAqbtXlq8uabmISF9Raf893XVDkqIEUOpu++6ukpaLiPQFmf57S99eSpr0pv57pSSBjTDnnzQnJYANYObCJbz/0gfY6YI5vP/SB5i5MHe6xOb2+Y8YXR1tvZZ1dbTx+Y9YnSISEalcNSaF1px/khQNAqkzDYDYXE6NAhaRZlKt/nua80+SoASwzgoNgGilBOiYfUe2VHlFpPnV+569IoWoCbjONACielq9KV1EGkul/fc0AbQkSTWAdbZ9dxdL8iR7GgBRGjWli0ijqWRSaE0ALUlTAlhnn/+I9UpcQAMgyqGmdBFpROX239ME0JI0JYB1pgEQ1aGmdBFpJpoAWpKmBLABaABE5dSULiLNJGoAyTv6v6MO0Ugz0iAQaQqaS1BEmsmU/abQntqyjuafPf/UYBCpCiWA0hSO2Xck3zhub0Z2d5ECRnZ38Y3j9lbNqoj0SRN2nsCg/oO2WL5+4/qSJpIWiaImYGkaakoXkWayYu2KvMvVD1CqQTWAIiIiDShqwmhNJC3VoARQRESkAVU6kbRIIWoCFhERaUCVTCQtUowSQAGCO2loLkIRkcZS7kTSIsUoARTdRk1ERKTFqA+gFLyNmoiIiDSfWDWAZnYn8GPgV+6+MdmQpNZ0GzUREZHWErcJ+HvAGcDVZnY7cL27F60eMrMjgBlAG3Cdu1+aZ50TgWlAGnjK3U+JGZNUiW6jJiIi0lpiNQG7+6/d/WPAfsBLwK/N7A9mdoaZdeTbxszagGuAI4E9gZPNbM+cdXYFvgi8393fDZxXdkmkbLqNmoiISGuJ3QfQzLYBTgc+ASwkqNnbD7gvYpMDgBfdfZG7rwNuBSblrHMWcI27vwXg7q+WFL1UxTH7juSj+4+kLZUCoC2V4qP7664aIiIizSpuH8BfAgb8FJjo7kvDt35uZo9FbDYSeDnr9WLgwJx1dgv3/3uCZuJp7n5PzNilSmYuXMIvHl/ChnQagA3pNL94fAlj3jVUSaCIiEgTitsH8Gp3n5/vDXcfU+HxdwUOA0YBvzWzvd19eQX7lBIVGgWsBFBERKT5xG0C3tPMujMvzGxrM/uvItssAXbIej0qXJZtMTDL3de7+9+AFwgSQqkhjQIWERFpLXETwLOya+XCPntnFdnmUWBXM9vJzPoDk4FZOevMJKj9w8yGETQJL4oZk1RJ1GhfjQIWERFpTnETwDYzS2VehCN8+xfawN17gHOBecBzwG3u/oyZTTezo8PV5gFvmNmzwHzg8+7+RqmFkMpoFLCIiEhridsH8B6CAR8/DF//Z7isIHefC8zNWTY163ka+Fz4kDrJ9PPTvYBFRERaQ9wE8AsESd+nwtf3AdclEpHUxTH7atqXlvX0bXD/dFixGIaMgvFTYfSJ9Y6qOpq5bCIiFYiVAIa3f/t++BCRZvH0bTD7M7A+HPCz4uXgNfT9RKmZyyYiUqG48wDuCnyD4I4enZnl7r5zQnGJSC3cP31zgpSxfnWwvK8nSc1cNhGRCsUdBHI9Qe1fDzAOuAn4WVJBiUiNrFhc2vK+pJnLJiJSobgJYJe73w+k3P3v7j4NmJBcWCJSE0NGlba8L2nmsomIVChuArjWzPoBfzGzc83sWGBQgnGJSC2MnwodOfM9dnQFy/u6Zi6biEiF4iaAU4CtgM8A+wOnAh9PKigRqZHRJ8LEq2HIDkAq+Dnx6uboI9fMZRMRqVDRQSDhpM8nufv5wCrgjMSjEpHaGX1i8yZFzVw2EZEKFK0BdPcNwCE1iEVEREREaiDuRNALzWwWcDvwdmahu9+ZSFQiIiIikpi4CWAn8AbwwaxlaUAJoIiIiEgfE/dOIOr3JyIiItIk4t4J5HqCGr9e3P0/qh6RiIiIiCQqbhPw3VnPO4FjgVeqH46IiIiIJC1uE/Avsl+b2S3A7xKJSEREREQSFXci6Fy7AttVMxARERERqY24fQBX0rsP4DLgC4lEJCIiIiKJitsEPDjpQERERESkNmI1AZvZsWY2JOt1t5kdk1xYIiIiIpKUuH0Av+LuKzIv3H058JVkQhIRERGRJMVNAPOtF3cKGRERERFpIHGTuMfM7ArgmvD1OcDjyYQkIiIiIkmKWwP4aWAd8HPgVmANQRJYkJkdYWZuZi+a2QUF1vuomaXNbEzMeERERESkTHFHAb8NRCZw+ZhZG0GN4YeBxcCjZjbL3Z/NWW8wMAV4pJT9i4iIiEh54o4Cvs/MurNeb21m84psdgDworsvcvd1BDWHk/KsdzHwTYJaRRERERFJWNwm4GHhyF8A3P0tit8JZCTwctbrxeGyTcxsP2AHd58TMw4RERERqVDcBHCjmb0z88LMdqT3nUFKZmb9gCuA/65kPyIiIiJSmrijgC8EfmdmDwIpYCxwdpFtlgA7ZL0eFS7LGAzsBfzGzACGA7PM7Gh3fyxmXCIiIiJSoriDQO4JR+ieDSwEZgKri2z2KLCrme1EkPhNBk7J2ucKYFjmtZn9BjhfyZ+IiIhIsmIlgGb2CYKRuqOAJ4GDgIeAD0Zt4+49ZnYuMA9oA37i7s+Y2XTgMXefVWnwIiIiIlK6uE3AU4D3Ag+7+zgz2x34erGN3H0uMDdn2dSIdQ+LGYuIiIiIVCDuIJA17r4GwMwGuPvzgCUXloiIiIgkJW4N4OJwHsCZwH1m9hbw9+TCEhEREZGkxB0Ecmz4dJqZzQeGAPckFpWIiIiIJCZuDeAm7v5gEoGIiIiISG3E7QMoIiIiIk1CCaCIiIhIi1ECKCIiItJilACKiIiItBglgCIiIiItRgmgiIiISItRAigiIiLSYpQAioiIiLQYJYAiIiIiLUYJoIiIiEiLUQIoIiIi0mKUAIqIiIi0GCWAIiIiIi1GCaCIiIhIi1ECKCIiItJilACKiIiItBglgCIiIiItRgmgiIiISItpT3LnZnYEMANoA65z90tz3v8c8AmgB3gN+A93/3uSMYmIiIi0usRqAM2sDbgGOBLYEzjZzPbMWW0hMMbdRwN3AN9KKh4RERERCSRZA3gA8KK7LwIws1uBScCzmRXcfX7W+g8DpyYYj4iIiIiQbB/AkcDLWa8Xh8uinAn8KsF4RERERISE+wDGZWanAmOAD9Q7FhEREZFml2QCuATYIev1qHBZL2b2IeBC4APuvjbBeERERESEZBPAR4FdzWwngsRvMnBK9gpmti/wQ+AId381wVhEREREJJRYH0B37wHOBeYBzwG3ufszZjbdzI4OV7sMGATcbmZPmtmspOIRERERkUCifQDdfS4wN2fZ1KznH0ry+CIiIiKyJd0JRERERKTFKAEUERERaTFKAEVERERajBJAERERkRajBFBERESkxSgBFBEREWkxSgBFREREWowSQBEREZEWowRQREREpMUoARQRERFpMUoARURERFqMEkARERGRFqMEUERERKTFKAEUERERaTFKAEVERERajBJAERERkRajBFBERESkxSgBFBEREWkxSgBFREREWowSQBEREZEWowRQREREpMUoARQRERFpMe1J7tzMjgBmAG3Ade5+ac77A4CbgP2BN4CT3P2lco41c+ESvnTn0/xz/caSt+3oBx1t/TZtu/VWHew5YjAPLXqTjene647s7uLzHzGO2Xdk3hgum+e8snw124frAUyb9QzLV6/ftF53VwfTjn43j/39TW555GU2pNO99j9u922Z//xrvfaT73i5x+zeqoN0ml7HakulOPnAHRjzrqFcNs9Zsnw1bakUG9Jptt6qgzXrN7A6LPfA/m10tPVjxer1bF9iHMVk4sw+fqFzGXd/2eXOxF1JnNXSkPHd/Tl4/AZIb4BUG+x4CLy5CFa8XHi7fv2hrQPWvx287hoKw/eGlxZAOud6G7IDjJ8Ko0/ccj9P3wb3T4cVi2HIqGA9gF99AVa/uXm9rqFw5Dfhfx/eHG/2/nc9HP5yb+/95Dte5PGzyptqg/1Ph3cetPm9VFtwzK6h0LN2c7lJAenNMb772PLiKBZb5viFzmXs/S2Grq2DZavfqjzOamnA+M6adxYPL3u45O06Uh2092tn9YbVAHQP6OYjO36EeS/NY/na5QAM6T+ELx74RSbsPKGqMTeKOYvmMOOJGSx7exnDBw5nyn5TmraszSSVTqeLr1UGM2sDXgA+DCwGHgVOdvdns9b5L2C0u3/SzCYDx7r7SYX2e9xxx6XvvPPOXstmLlzC5257cotkLSldHW1847i9e32Jz1y4hC/e+SdWr9/8ZdXRL0h08sWV9VVS1vGijhmlrV+KDRWeoKg4iikUZzn7LFbucuOslgrjS1Vy7HzXBxAkf4/9uJJdx9fRBROv7v0l/vRtMPszsH715mX9OoIEMp3vPJVwheQ7Xq58x8/Wrw02Fr+OKo6j1NjK2WexspYbZ7VUFl8i10e5yV8p2lPtXHLIJU2XGM1ZNIdpf5jGmg1rNi3rbOtk2vumNV1Z+4CSro8km4APAF5090Xuvg64FZiUs84k4Mbw+R3AeDMr+QK/bJ7XLPkDWL1+A5fN8y1iyP3CX78xf/IH8ZO/qONFHTNKpclfoTiKKRRnOfssVu5y46yWhozv8Rtqd6z1q4PanWz3T9/yC3/j+ojkD0q6QvIdL1e+4/eKpcLkL24c+RSKrZx9FitruXFWSwPGl3TyB9CT7mHGEzMSP06tzXhiRq/kD2DNhjVNWdZmk2QCOBLIbltaHC7Lu4679wArgG1KPdArywv8MUlI7jGTjiHf/huh3NXYptR9xlm/HuemlGPXPL7IRCshKxYXfp308Up9v1ZxlLNNqfuMs36tzke5x65nfAla9vayeodQdVFlasayNpumGASyfXdX3Y+ZdAz59t8I5a7GNqXuM8769Tg3pRy75vGl2mp7vCGjCr9O+nilvl+rOMrZptR9xlm/Vuej3GPXM74EDR84vN4hVF1UmZqxrM0myQRwCbBD1utR4bK865hZOzCEYDBIST7/EaNfRT1DStPV0bZpgEd2DF0dvb9kO/qlIuMqJdx8x4s6ZpS2KpygqDiKKRRnOfssVu5y46yWhsjCry4AACAASURBVIxv/9Nrd6yOrs0DPDLGTw2WZ+vXUSAxLeHzmu94ufIdv1csVUiQ48SRT6HYytlnsbKWG2e1NGB8Bw0/KPFjtKfambLflMSPU2tT9ptCZ1tnr2WdbZ1NWdZmk2QC+Ciwq5ntZGb9gcnArJx1ZgEfD58fDzzg7iV3Vjtm35FcceJ72KqjvOJ09KPXtltv1cH7dxmaN3kb2d2VtwP/MfuO5BvH7c3I7i5S4XqXnbAPV5z4Hrq7Onqt293VwZUnvYdTD3onbaneBxnZ3cWpB72z136iBgzkHnPrrTq2OFZbKsWpB72Ty0/Yh5FhrVPmmFtv1UFXVrkH9m+ju6tj03HjxlFMdpzZxy93n1HlrjTOamnI+P7tChhz5uaEK9UGO30gGGlaTL/+0DFw8+uuocG2qTzX25Ad8nfgH31isHzIDkAq+HnM9+DYHwT7y9Y1FI67tne82fsfc2bv/cQZ0NDr+FlSbcH+jvnB5vcyx+wa2rvc2Ulp19Dy4ogTW+b45e4z91x3DQ3PcYVxVksDxvejj/yo7CSwI9VBV9vmhLZ7QDcn2Ul0D+jetGxI/yFNOQAEYMLOE5j2vmmMGDiCFClGDByhASB9RGKjgAHM7CjgKoJpYH7i7l8zs+nAY+4+y8w6gZ8C+wJvApPdfVGhfUaOchRpDsmMAhZpDro+RKKVdH0kOg+gu88F5uYsm5r1fA1wQpIxiIiIiEhvTTEIRERERETiUwIoIiIi0mIS7QOYBDN7Dfh7veMQScjr7n5EuRvr+pAmp+tDJFpJ10efSwBFREREpDJqAhYRERFpMUoARURERFqMEkARERGRFqMEUERERKTFKAEUERERaTFKAEVERERajBJAERERkRajBFBERESkxSgBFBEREWkxSgBFREREWowSwBozs9PNbPt6x1FrZvYbMxuTZ/lcM+sOn69KOIbzzGyr8PlWZjbHzJ43s2fM7NIkj92KWvWzXg3huftunuWfNLPTqnyso83sgmruUyrTqtdOsXKb2XQz+1Ce5YeZ2d1VjGOamZ1frf01KiWANWRmbcDpQEkXtpm1JxJQA3D3o9x9edLHCc/9ecBWWYu/7e67A/sC7zezI5OOo1Xos54Md/+Bu99U5X3Ocvct/gHS76I+WvzaOZ2IcptZm7tPdfdf1zak5tUMH5iaMrOBwG3AKKANuNjdf25m44FvE5zTR4FPuftaM3sJ+DnwYeAKYAxws5mtBg4G9gyXDwJeB05396Vm9hvgSeAQ4Bbg8jyx3AD8X7jP4cD/uPsdZjYIuAvYGugALnL3u8xsR+Ae4GHgfWGc1wNfBbYDPubufwzL+B1gr3D7ae5+V5XOXz/gJ8Bid78oPD9j3P31rHVSwLeAI4E0cEl4jkcQnMt3EJznT7n7AjM7GfgSkALmuPsXwv2sAn4IfAj4BcEflvlm9rq7jwPmA7j7OjN7guB3KiF91ss+b58BPgn0AM+6+2QzmwbsAvwrMAz4lrv/yMxuAu5095nhtjcTnPPs/U0ALgImAucCq9z92+F5ewQYB3QDZ4bXw1bADWGZnOBzf467P2ZmRwBfJ/h9vu7u483sdIJr8NzwPK8h+Kfo92Y2NTw/Ywiuxa+6+y/MbJW7DwrjOx74N3c/3cxOAL4CbABWuPuhlZzLvkrXTlnn7Pg85X4u67x8K/z83h3GfwRwFfBP4HdZ+8kbl5m9OyxHf4LKr4+6+1/CGvXzCT7fT7v7v+fE9R7gBwSVB38F/sPd3wrP/fnhdTUMeMzdd4w6TrnnJUmqASzdEcAr7r6Pu+8F3GNmnQR/cE9y970Jk5Osbd5w9/3c/WfAYwQX0HsIviC+Axzv7vsTJEZfy9quv7uPcfctLuosIwgu/n8DMv/FrwGOdff9CL4cLg+TKgi+gC4Hdg8fp4Tbn0+QRAFcCDzg7geE218WXlSbmNlgM3sy4rFnRKztwM3AX9z9ogJlOg54D7APQfJ2WZj8nQLMC8/dPsCTYXPBN4EPhtu818yOCfczEHgk/F1NB14BxoXJX3ZZugm+XO8vEFMr0medsj7rFwD7uvtogkQwYzTB5/RgYGr42f0xQa0HZjaE4At3Ttaxjw33d1T2P0lZ2sPYzyNIvAD+C3jL3fcEvgzsH+5rW+BHBF9I+wAn5NkfBEnL+9z9c+H2K9x977A8D0RskzEV+Ei4/6OLrNvMdO1Q2rXj7ndkl9vdV+ecl1uz9ttJ8FmeSPD5Hp61q6i4PgnMCM/pGGBxmKxdBHww/MxOyXPubgK+EH7+/8Tm6yzKFscpsn7dqAawdH8iuFC+SfCfyAIz2wf4m7u/EK5zI3AOwX8nEPwHk48R/Jdyn5lB8J/i0qz3o7bLNtPdNwLPmtm/hMtSwNfN7FBgIzASyLz3N3f/E4CZPQPc7+5pM/sTsGO4zuHA0Vl9IDqBdxL8NwaAu68kSLhK8UPgNnf/WpH1DgFucfcNwD/M7EHgvQT/if7EzDrCcj9pZh8EfuPur4Vluhk4FJhJUAvxi0IHCptNbgGudvdFJZan2emzTlmf9acJajFmEnwOM+4Kv9RWm9l84AB3n2lm3wuTs48Cv3D3nvAcfZDgC+Rwd/+/iGPdGf58PKtMhwAzwtj/bGZPh8sPAn7r7n8L33szYp+3h9ceBP+ATc684e5vFSn774EbzOy2rNhaka4dyv6eyJWvfLuHMf4ljPFnwNlF4noIuNDMRhHUuv8l/P64PfPPVe41Ef5T1u3uD4aLbgRuLxLvFscpoaw1pQSwRO7+gpntBxwFXGJm9xNUoxfydsTyFPCMux9c4nbZ1ubsD+BjwLbA/u6+Pmxe6Myz/sas1xvZ/HlIEdQSeNRBzWwwsCDi7VPc/dk8y/8AjDOzy919TdS+o7j7b8M/VhMIvmSuAFYU2GRN1hdZlGsJaiSvKrJey9FnPVDGZ30CwT8hEwm+CPYOl6dz1su8vgk4lSDROiPr/b8COwO7EdSM5JMp0waq9/c8zu8iuyyZ8427f9LMDiQ4B4+b2f7u/kaV4uozdO0EyvyeyBWnfNmi4nrOzB4h+GzONbP/LHG/uXrY3IqafQ38v9zjuHuxmvO6UBNwicJmm3+G1fSXAfsR9LPZ0cz+NVzt34EHI3axEhgcPndgWzM7ONx3R1glXakhwKvhRT0OeFeJ288DPp1pDjCzfXNXcPeVYTV9vkfURf1jYC5wmxXusLwAOMnM2sKakUOBP5rZu4B/uPuPgOsIzv0fgQ+Y2TALOk+fTLxzj5ldQnCuzisQS8vSZz1Qymfdgj6uO7j7fOALYXyDwrcnmVmnmW0DHEZQow1Bs+B54bGy9/d3glrBm0o8V78HTgzj2RPIJKAPA4ea2U7he0Nj7Os+glqqTPm2Dp/+w8z2CMt7bNb7u7j7I+4+FXgN2KGEuJuGrp1AGd8Tvf5GF/A8wbncJXx9crG4zGxnYJG7X02QjGe6NJwQXpNbXBPuvgJ4y8zGhouyf2cvEXavAI7PbBNxnIakBLB0exMkI08S9AW4JKzNOgO4Pawi30jQaTSfG4AfhNu3EXxwvmlmTxF05n1fFWK8GRgTxnIawcVSiosJOs8+HVb/X1yFmABw9yuAhcBPwy+PfH5J0Iz2FMEF+j/uvozgS/MpM1sInETQz2IpQR+p+eH6j3t0R+RrCfrizA+r5y8k6Fz9hAV9Uj5RlUI2D33WS9cG/CyMZyFB14LMKPenCT6nDxMMCngFwN3/QdBsdn3uztz9eYKamtuzvuyK+R5BwvAscAnwDEE/vtcImsnuDH8HcZoOLwG2NrM/h9tk+s9eANxNUKuf3Rx5mZn9ycz+HL73VMyYm42unfLcQFhuM+uKWik8l2cDcywYwPdqjLhOBP4cntO9gJvc/RmC/pQPhuf2ijyH+zjB5/ppgubs6eHybwOfCr+PhmWtv8VxYpe+xlLpdG6rhIiIVJMFo4BXufu387y3FUGfsf3CGodKj9UGdLj7mjBp/DVg7r6u0n2LSPNQH0ARkTqxYFLbHwNXViP5C21FMN1RB0F/qP9S8iciuVQD2AeY2YVsOWXD7TFG04r0Kfqsi5RH146USgmgiIiISIvRIBARERGRFtPnEsAzzzwzTTAHlR56NOOjIro+9GjyR0V0fejR5I+S9LkE8K23ik1EL9K6dH2IRNP1IbJZn0sARURERKQySgBFREREWkxi8wCa2U+AfyO41cxeed5PEdyw/Cjgn8Dp7v5EJcdcMXs2r155FT2vvAJtbbBhA+3bb892nz2PIRMnlrevpUtpGzKEjUB6xQraR4woaX/Z+4m7bSnb5FsXiF6WdW7aurvZsHYtrF4d7CyVgnBUeKq7myFHHsGqB39bUuxJnI9i+9n0+1m+vOLfe7VU6/MjIiLJeW7BfBbcehMr33idAQMHkUrBmlWrGLzNMMZOPo09xo4rvpMaxVftmBKbBsbMDgVWEdxuJV8CeBTwaYIE8ECC23odWGy/xx13XPrOO+/cYvmK2bNZ+uWppNes2XKj9na6Tzg+MplZMXs2S7/29SCBAFJbbUV63Tro6ckbQ6qzkxEXT9/iSzw3uRn0gUNZ8cuZW8SU6upixPSvAllJ2aY3U8Fj48ZYx4ssc68Dpki1t5Nev77wekVExRHHitmz+cfXvs6G5ct7Lc/sE7ZMWgslvXHKXUm8lSgWX5G4UvkWxhV1fYg0qhceWcZDd/2VVW+uZdDQARw8aRd2O3B41Oq6PhJSKNHI9x7A/Tdcy9pVK3vtJ9WvH6PHH8GHPvFfNYux1CRp0/qvv1bweO39B3D42efWPAksFF+RmEq6PhKdB9DMdgTujkgAfwj8xt1vCV87cFh4b9dIURfwXz44vnciFUOmlmv57XdEJntR2rffnl0fuH/T69jJWEa/fsEj5nFzjwfllblS+eIopmhC1N0Na9b0er9QklRKucuJt1Jx4isQl77gpGW88Mgy5t/8PD3rNv/D296/H+M+tntUEqjrIwHPLZjPvdd+l551a7d4b8Cgwaxfs5qNJX5H7vPho6qWBD63YD4P3Hgta1b2Tjbb+w/g3R8YzzMP3t8r9kJJUqGy5jN42Lacfc31lRWgBHHiKxBTSddHPfsAjgReznq9OFxWlp6lBfPGvNLLl7P8lltLTv7yHe/VK6+Kn/xBUMNXwnHzla+cMleqnGMWOzfp5cu3eD+9Zg2vXnlVxTE06jmqR1wijeahu/7aK/kD6Fm3kYfu+mudIuo7nlswn2vPOYPLJ0/k2nPO4LkF88ve14Jbb4pMONauWlly8gfw9P33lB1PtkxClJv8AfSsW8vT99+zRew969ay4Nab8u6vUFnzWfnG66UFXKE48VUrpqYZBNI+YkRdj5f0F3q+8tW6zOUes9xzE7VdKTE06jmqR1wijWbVm/m/6KKWSyCTFK18/TVIp1n5+mvce+13y04Ck0hy0hs3Fl8phmIJUdRxospUalkHbzOspPUrFSe+asVUzwRwCbBD1utR4bKybPfZ80h1dlYcVBypzs5NAysykvxCz3c8qG2ZC8VRTKFzk+rspK27u6Tt4pa73HgrVSy+esUl0mgGDR1Q0nIJ5EuKCtV6FZNEkpPqV530olhCFHWcqDKVUtb2/gM29XeslWLxVTOmeiaAs4DTzCxlZgcBK4r1/ytkyMSJjLh4etCfLEFt3d15+6bl+9JPdXbSdfBB+XfUrx+0Rw/CTnV1QSpF+/bbR/aFy5S5ffvtC8ac6uig++TJm9dra9tUFrq6IrfrOvigYJsicRQTlRClwnP5Lxd+Ke+5i0qSepU7laKtu3vz7z0sWyXxVioyvgrPo0izOXjSLrT37/011N6/HwdP2qVOEfUNkbVbr79WVi3g2Mmn0d6/ukn36PFHVGU/hRKi9v4DGD3+iC1iL5QkFSrrgEGD6Rw8GFIpBg/bti4DQArFV+2YkpwG5hbgMGCYmS0GvgJ0ALj7D4C5BCOAXySYBuaMSo85ZOJEhkycGDnitBp2e/ihyGND/pGsufGkursZceGXNq+fPWCgrY3uE09gxFe+EiueTJmhsmlwqjU9S1SMUHyUbynHzy53I2r0+KR1lDjKtqYycTRqfI1q8DbDIkew3nvtdwFKShIy60aNPE21tTFgq63y9sPbYt0qjwIeO/m0vIMiBgwazPjTz2aPseMYaXvEHgXcq6wJTK1SqVrGl+go4CSUMorrud33KGnfmZGZUaM46zGiVFqORjlK1ZQxyrbR6fqg+EjRSkeuljolTNLJUz2O2UeVdH0kVgPYCNq33z5vIpfaaivS//xn72VZTY7bffa8LaYtUb8tEelrCo2y7aMJoLC5lmjudy/P+36lgzr2GDuuYA1arZOvehyzFTTNKOB8ovrljfjqNLa/7FuR/dty+3Cp35aI9EUaZdu89hg7jsHDts37Xq1Hrkrf1NQ1gMX6nvXlPmYiUl+N3LcuY9DQAXmTPY2ybQ75+sfVY+Sq9E1NnQCCEjkRqb7cvnWr3lzL/JufB2ioJPDgSbvk7QOoUbbNodEHNEhja/oEUESk2vpK3zqNsm1euQMjjjrnc0r8pCRKAEVEStSX+tbtduBwJXxNJncUcOZOIBmqEZQ4lACKiJRIfeuknqLuBPLAjdfSs3Zd3sRQSaDkaupRwCIiSdAdLKSeoqZ5WbNyZVVvESfNTTWAIiIlUt+65tboEw8XuhNIPpXOCyjNqSUSwCRvcyYirUl965pTof51jZIERk3/0ta/P2tXbXm7Ns0LKPk0fRPwitmzWfrlqcEdQdJpel55haVfnsqK2bPrHZqIiDSYqP51jdSMusfYcRx+9rnBRNCpFIOHbcvhZ5/L+NPPpr1/736omhdQojR9DeCrV17V65ZuAOk1a3j1yqtUCygiIkBWs29E02qjNaMWuj1aIzdfS+No+gSwZ+nSkpaLiEhryW32zaevNKPqvrkSV9M3AbePGFHSchERaS35mn2zqRlVmlHTJ4DbffY8Up2dvZalOjvZ7rPn1SkiERFpJIWadzP961SrJs2m6ZuAM/38NApYRMr1wiPLEp3yJen9S2FR06oMHrYtZ19zfR0iEkle0yeAECSBSvhEpBwvPLKM+Tc/v+nev6veXMv8m58HqEqSlvT+pbioaVXU7CvNrOmbgEVEKvHQXX/dlJxl9KzbyEN3/bVP7F+Ki5pWRc2+0sxaogZQRKRc+e75W2h5o+1f4tHoWWk1SgBFRAoYNHRA3mRs0NABedZujP2rT6GIFKMEUERaSqnJ0cGTdunVRw+gvX8/Dp60S1Xiqfb+1adQROJQAigiLaOc5CizPKkatWrvv1ifQtUMiggknACa2RHADKANuM7dL815/53AjUB3uM4F7j43yZhEpHUVSo4KJUK7HTg80USpmvsv1KdQNYMikpHYKGAzawOuAY4E9gRONrM9c1a7CLjN3fcFJgPfSyoeEZFWGHAR1Xcw1Q+NNhaRTZKcBuYA4EV3X+Tu64BbgUk566SBd4TPhwCvJBiPiLS4qOSoWgM6GsHBk3ahvX/vP+3t/fuR3ph//WZKfkUkviQTwJHAy1mvF4fLsk0DTjWzxcBc4NMJxiMiLS4qOarWgI5GsNuBwxn3sd03JbWDhg7o9TpXMyW/IhJfvQeBnAzc4O6Xm9nBwE/NbC93j/hfVUSkfEkP6GgUUX0KkxzNLCJ9S5IJ4BJgh6zXo8Jl2c4EjgBw94fMrBMYBryaYFwi0sKSHtDRqFol+RWReJJMAB8FdjWznQgSv8nAKTnr/C8wHrjBzPYAOoEt78gtIiIVa9XkV0S2lFgfQHfvAc4F5gHPEYz2fcbMppvZ0eFq/w2cZWZPAbcAp7t7OqmYRERERCThPoDhnH5zc5ZNzXr+LPD+JGMQERERkd6SHAUsIiIiIg1ICaCIiIhIi6n3NDAiIiJSB88tmM+CW29i5RuvM3ibYYydfBp7jB1X77CkRpQAikhDe+GRZZq6RKTKnlswn3uv/S4964I7wax8/TXuvfa7AEoCW4SagEWkYb3wyDLm3/z8ptuVrXpzLfNvfp4XHllW58hE+rYFt960KfnL6Fm3lgW33lSniKTWlACKSEN64ZFl/PrGZ3vduQKgZ91GHrrrr3WKSqQ5rHzj9ZKWS/NRAigiDSdT85eOuClkpkZQRMozeJthJS2X5qM+gCLScB66669b1PxlGzR0QA2jqR31d5RaGTv5tF59AAHa+w9g7OTT6hiV1JISQBFpOIVq+Nr79+PgSbvUMJrayNR6ZhLfTH9HQElgHdV7pOxzC+bzwI3XsmblSgAGDBrM+NPPrjiGzPYaBdy6lACKSMMZNHRA3iQw1Q/GfWz3pkyI8tV6Zvo7NmN5+4J6j5R9bsF87vnBDDb29GxatnbVSn71/auqEsMeY8cp4WthSgBFpO5ymz533Gsbnn94Wa+EqL1/v6ZN/iC61lP9Heun0EjZWiROC269qVfyl5HesKFmMUjz0iAQEamrfFO9PP/wMnY/aPimvn6Dhg5o6uQPovs1Nmt/x76g3iNlCx1Ho3WlUqoBFJG6imr6fOnPb/Dxr7+/TlHV3sGTdunVBxCat79jXzF4m2GsfP21vMvrefxaxiDNSzWAIlLUC48s48Yv/Z5rPvkAN37p91WdiFlNn4HdDhzOuI/t3lK1no1u7OTTaO/fuwa2liNlx04+jX7tW9bTpNraNFpXKqYaQBEpKOnRqVEDPlqx6XO3A4cr4auz3FG/7/7AeBYtfLQuI2Uzx0liFLCIEkCRFhV3zrmkR6eq6VMaRb5Rv888eD+Hn31u3RIujdSVpKgJWKQFlXKP3aSbaNX0KY0iatTv3O9ezrXnnMFzC+bXKTKR6lMNoEgLKqVWrxZNtGr6lEZQcNRtjecAFEmaEsA6WjF7Nq9eeRU9S5fSPmIE2332PIZMnFjvsKQFFKrVizsnn5popdkUGnULtZ0DUCRpagKukxWzZ7P0y1PpeeUVSKfpeeUVln55Kitmz653aNIComrvOge2a04+aVn5Rv3m0vx70ixUA1gnr155Fek1a3otS69Zw6tXXqVaQElc1MCLNGnNySctq9f9cTX/njS5WDWAZnanmU0wM9UYVknP0qUlLReppqiBF2vf3pB3/Vabk09a1x5jx3H2Nddz1Ln/Xdc5AEWSFrcG8HvAGcDVZnY7cL27e7GNzOwIYAbQBlzn7pfmWedEYBqQBp5y91NixtSntY8YETT/5lkuUguZJtxMf7+H7vorAwa25U0CW3FOPmltvWoD6zAHoEjSYiWA7v5r4NdmNgQ4OXz+MvAj4Gfuvj53GzNrA64BPgwsBh41s1nu/mzWOrsCXwTe7+5vmdl2FZeoj9jus+ex9MtTezUDpzo72e6z59UxKmkl+SZ47teWItUG6awcsNiAj7jzCYr0NZqDT5pZ7D6AZrYNcCrw78BC4GbgEODjwGF5NjkAeNHdF4Xb3wpMAp7NWucs4Bp3fwvA3V8tvQh9U6afn0YBS63kJmrr1/Zs0d9v44Y0nQPbaR/QFiuhS/ouISIikoxYCaCZ/RIw4KfARHfPdFT7uZk9FrHZSODlrNeLgQNz1tkt3P/vCZqJp7n7PTFj7/OGTJyohE9qIl+iFmXN2z2cc/mhsfab9F1CREQkGXFrAK9297xToLv7mAqPvytBDeIo4Ldmtre7L69gnyKSI1+iFqWU/n5J3yVERESSETcB3NPMFmYSMzPbGjjZ3b9XYJslwA5Zr0eFy7ItBh4J+xD+zcxeIEgIH40Zl4jEEDchizvBc6Y5OYoGjYjUxnML5mugipQl7rQuZ2XXyoV99s4qss2jwK5mtpOZ9QcmA7Ny1plJ2H/QzIYRNAkvihmTiMRUaOLnUid4zr2PcC7dJUSkNp5bMJ97r/1uMGdhOr3pdnWV3LP4uQXzufacM7h88kTd/7jJxa0BbDOzlLunYdMI3/6FNnD3HjM7F5hH0L/vJ+7+jJlNBx5z91nhe4eb2bPABuDz7v5GuYURkfyiJn4ee+JuJffVK9ScrFHAIrWz4Nab6FnX+x+xSm5Xl0koM/vU/Y+bW9wE8B6CAR8/DF//Z7isIHefC8zNWTY163ka+Fz4qJjurSuSX+6cf5UkaoWak3W3EJHaibotXbm3q6t2QimNLW4C+AWCpO9T4ev7gOsSiahMmXvrZubVy9xbF1ASKEKQBFajZm7Q0AF5k8Bm7PeXPXVO58B20qRZ+/YG1XRKQxi8zbC8t6wr93Z11U4opbHFnQh6I/D98NGQdG9dkdqIak5utn5/uVPnrHm7Z9N7mu9QGsHYyaf1arKFym5XV+2EUhpb3HkAdwW+AewJdGaWu/vOCcVVMt1bV6Q2qtmcHEe97jRSbOoczXco9Vbt29VVO6GUxha3Cfh64CvAlcA4gvsCxx1BXBO6t65I7VSrObmYet5pJM7UOZrvUOqtmrer0/2PW0vcBLDL3e8PRwL/HZhmZo8DU4ttWCu6t65I86nnnUai+jrmriPSTHT/49YRNwFca2b9gL+EU7ssAQYlF1bpdG9dkeZTzzuN5OvrmK0Z+z2KSOuImwBOAbYCPgNcTNAM/PGkgiqX7q0r0lzqOeI4t6+jRgGLSDMpmgCGkz6f5O7nA6sI+v+JiCSu3iOOa9XXUUSk1ooO5HD3DcAhNYhFRKSX3Q4czriP7V7y7epERKSwuE3AC81sFnA78HZmobvfmUhUIiIh1cKJiFRf3ASwE3gD+GDWsjSgBFBERESkj4l7JxD1+xMRERFpEnHvBHI9QY1fL+7+H1WPSEREREQSFbcJ+O6s553AscCWt90QERERkYYXtwn4F9mvzewW4HeJRCQiIiIiiSr3fr67AttVMxARERERqY24fQBX0rsP4DLgC4lEJCIiIiKJitsEPDjpQERERESkNmI1AZvZsWY2JOt1t5kdk1xYIiIiIpKUuH0Av+LuKzIv3H058JVkQhIRERGRJMVNAPOtF3cKGRERERFpNx07wwAADbZJREFUIHGTuMfM7ArgmvD1OcDjyYQkIiIiIkmKWwP4aWAd8HPgVmANQRJYkJkdYWZuZi+a2QUF1vuomaXNbEzMeERERESkTHFHAb8NRCZw+ZhZG0GN4YeBxcCjZjbL3Z/NWW8wMAV4pJT9i4iIiEh54o4Cvs/MurNeb21m84psdgDworsvcvd1BDWHk/KsdzHwTYJaRRERERFJWNwm4GHhyF8A3P0tit8JZCTwctbrxeGyTcxsP2AHd58TMw4RERERqVDcBHCjmb0z88LMdqT3nUFKZmb9gCuA/65kPyIiIiJSmrijgC8EfmdmDwIpYCxwdpFtlgA7ZL0eFS7LGAzsBfzGzACGA7PM7Gh3fyxmXCIiIiJSoriDQO4JR+ieDSwEZgKri2z2KLCrme1EkPhNBk7J2ucKYFjmtZn9BjhfyZ+IiIhIsmIlgGb2CYKRuqOAJ4GDgIeAD0Zt4+49ZnYuMA9oA37i7s+Y2XTgMXefVWnwIiIiIlK6uE3AU4D3Ag+7+zgz2x34erGN3H0uMDdn2dSIdQ+LGYuIiIiIVCDuIJA17r4GwMwGuPvzgCUXloiIiIgkJW4N4OJwHsCZwH1m9hbw9+TCEhEREZGkxB0Ecmz4dJqZzQeGAPckFpWIiIiIJCZuDeAm7v5gEoGIiIiISG3E7QMoIiIiIk1CCaCIiIhIi1ECKCIiItJilACKiIiItBglgCIiIiItRgmgiIiISItRAigiIiLSYpQAioiIiLQYJYAiIiIiLUYJoIiIiEiLUQIoIiIi0mKUAIqIiIi0GCWAIiIiIi1GCaCIiIhIi1ECKCIiItJilACKiIiItBglgCIiIiItRgmgiIiISItpT3LnZnYEMANoA65z90tz3v8c8AmgB3gN+A93/3uSMYmIiIi0usRqAM2sDbgGOBLYEzjZzPbMWW0hMMbdRwN3AN9KKh4RERERCSRZA3gA8KK7LwIws1uBScCzmRXcfX7W+g8DpyYYj4iIiIiQbB/AkcDLWa8Xh8uinAn8KsF4RERERISE+wDGZWanAmOAD9Q7FhEREZFml2QCuATYIev1qHBZL2b2IeBC4APuvjbBeERERESEZBPAR4FdzWwngsRvMnBK9gpmti/wQ+AId381wVhEREREJJRYH0B37wHOBeYBzwG3ufszZjbdzI4OV7sMGATcbmZPmtmspOIRERERkUCifQDdfS4wN2fZ1KznH0ry+CIiIiKyJd0JRERERKTFKAEUERERaTFKAEVERERajBJAERERkRajBFBERESkxSgBFBEREWkxSgBFREREWowSQBEREZEWowRQREREpMUoARQRERFpMUoARURERFqMEkARERGRFqMEUERERKTFKAEUERERaTFKAEVERERajBJAERERkRajBFBERESkxfz/9u49Rq6yjOP49+xMu2vaBoRyWS6KNPBguQioXGKLEC5BI6kQKQWT8o+iIn+U6B+GROQiiYRoS2IgQSRtFagVq20TQpBKZEkqQUis1PZphHDtllIqtS3ulpk5/jEzZWbnnN3O7lzOmfP7/LMz77znvM+7b5/Zp2fmnVEBKCIiIpIxKgBFREREMkYFoIiIiEjGqAAUERERyRgVgCIiIiIZk2/nyc3sSuB+IAc87O4/G/N4P7AS+DzwPnCdu78+mbH2rF/PzqXLKAwPkx8c5Ohbl3DYVVcBMHznnXyw+vdQLEIuxyfO+yIfvfFmZF+RXvXXx7ay+fnthKX69iCAMIw/Ljc9YNq0HCP7C8w8op8LF8wBYGj1Nkb2FwDon5HjooXGqecfG3uebS/sYOPaV9m3e7TuPM+tdkb3FwEYmJFn/sJTOfX8YyP7j9c+0ZgDM/KEhIzuLxL0QViiLo5qv+pjtf37Z+QICOp+B+PNtdWamXMaJHE+zzz8AJs2PEVYKhH09XHC3DP5YMd29u56b9zjglyOXD5PYXQUgIFZszjq0yfz1uZNDYk1a/ZRzF+0mM/Ov6ThPFuGnmVo1Ur2vr+LWUfOZv6ixQANbVHHJkXtHPpnzCQIYGTfvlTEnkVBON4z/xSYWQ7YBlwOvA28CFzv7v+q6XMzcJa7f9fMFgFXu/t14533mmuuCdesWVPXtmf9eoZ/fDvhyMjBtmBggMG77+LDl1/mg8dXjRtrta+KQEmAYCoHR+UHlIu/V57bPpVTHxTkgDAgLIUN7Zctnhv5h3zbCzt49tGtFA6U6vqHJWDMU1BfLmDulwbZ+rcddf3z0/s47YJjI9sv+eZpDeNGjRk3n4CAUvHQnwvjxmyHqHl0cvxWm+J82pIfzzz8AP/485NTOfUhy0/v54qbbqkrhrYMPcvTD/2SwoHRg21BLkcQBJQKhXGPTYqoOdRKcuw9pKn8aOdLwOcB/3b319z9ALAKWDCmzwJgReX2E8ClZtZ0gu9cuqyu+AMIR0bYuXRZ+crfBKp9RXrV5udbU/wBhEUair9q+8a1r0Yes3Htqw2FWFikofgDKBVDNj+/vaF/4UAptj1q3Kgxo4RFmir+xhuzHaLm0cnxWy2J89m04amOjVU4MMrQqpV1bUOrVjYUTmGxWFf8xR2bFFFzqJXk2LOqnQXg8cBbNfffrrRF9nH3ArAHOLLZgQrDw/HtxeKUziHSC8a+7Nsu+3ZH/wGIa48TF29ce9T5mx2zWe0+/0TjdGr8VkvifMJShxKkYu/7u8a938yxSXEocSU19qzqiU0g+cHB+PZcbkrnEOkFQYcyfeYR/U21x4mLN6496vzNjtmsdp9/onE6NX6rJXE+QV9n/xTOOnL2uPebOTYpDiWupMaeVe38V/8OcGLN/RMqbZF9zCwPHEZ5M0hTjr51CcHAQF1bMDDA0bcu4fCF1054fLWvSK86fd5xLTtXkIOgr/GdGkGOgxsqxrpwwRzy0/sa+ke9Y6UvF3D6vOMa+uen98W2R40bNWaUIFcesxlxY7ZD1Dw6OX6rJXE+Z116ZcfGyk/vP7jBo2r+osXkp9cXwEEuR1++fp9m1LFJETWHWkmOPavauQv4ReAUM/sM5UJvEXDDmD7rgBuBjcA3gL+4e9O7UqqbN6J2AVcf0y5gybIv33AaQNd2AVfbm9kFPDjn8MidonHtE42Z1l3Acb+7NG4AgWTO57Jv3QzQtV3A1ftp3gU8dg7aBZx8bdsFDGBmXwWWUf4YmEfc/R4zuwv4u7uvM7MB4DfAOcBuYJG7vzbeOeN2cYn0iLbschTpEcoPkXhN5UdbPwfQ3Z8EnhzTdnvN7RFg4tdoRURERKRlemITiIiIiIgcOhWAIiIiIhnT1vcAtoOZvQe80e04RNpkl7tPekui8kN6nPJDJF5T+ZG6AlBEREREpkYvAYuIiIhkjApAERERkYxRASgiIiKSMSoARURERDJGBaCIiIhIxqgAFBEREcmYtn4VXJqY2evAXqAIFNz9C10NaBLM7BHga8BOdz+j0nYE8DvgJOB1YKG7/6dbMTYrZk53AN8Gqt/SflvlawdTwcxOBFYCxwAh8JC735/ktVJ+JJdypPvrpfxILuVH/HrpCmC9S9z97DQmb8VyYOyHQP4I2ODupwAbKvfTZDmNcwJYWlmrs9OUuBUF4AfuPhe4APi+mc0l+Wul/Eim5ShHkkD5kUzLUX5EUgHYQ9z9OWD3mOYFwIrK7RXA1zsa1BTFzCnV3H3Y3V+u3N4LbAGOJ+VrlXS9mB+gHOlOhL1H+ZEercoPFYAfC4GnzewlM7up28G00DHuPly5vYPyJeNecIuZbTKzR8zsk90OZrLM7CTgHOAFkr1Wyo/0UY50jvIjfTKfHyoAPzbP3c8FvkL5cupF3Q6o1dw9pPxElXYPAnOAs4Fh4OfdDWdyzGwm8Adgibv/t/axBK6V8iNdlCOdpfxIF+UHKgAPcvd3Kj93An8EzutuRC3zrpkNAlR+7uxyPFPm7u+6e9HdS8CvSOFamdk0yon7qLuvqTQndq2UH+miHOks5Ue6KD/KVAACZjbDzGZVbwNXAK90N6qWWQfcWLl9I7C2i7G0RPUfeMXVpGytzCwAfg1scfdf1DyUyLVSfqSPcqRzlB/po/woC8KwV67oTp6ZnUz5f21Q/micx9z9ni6GNClm9jhwMTAbeBf4CfAnYDXwKeANytvCU/OG2Jg5XUz50n1Ieav7d2re95B4ZjYPGAL+CZQqzbdRfg9H4tZK+ZFsypHurpfyI9mUH/HrpQJQREREJGP0ErCIiIhIxqgAFBEREckYFYAiIiIiGaMCUERERCRjVACKiIiIZIwKQBEREZGMUQEok2Zm+W7HIJJUyg+ReMqP7tMCSPXT61cDJwA54G7gXmAFcBUwDbjW3bea2R2Uv0PxZOBN4PpuxCzSKcoPkXjKj/TSFUABuBLY7u6fc/czgKcq7bsqX3D+IPDDmv5zgcvcXckrWaD8EImn/EgpFYAC5a+TudzM7jWz+e6+p9Je/YLpl4CTavqvc/f/dTJAkS5SfojEU36klApAwd23AedSTuSfmtntlYdGKz+L1L9dYH8HwxPpKuWHSDzlR3qpABTM7DjgQ3f/LXAf5WQWEZQfIuNRfqSXNoEIwJnAfWZWAj4Cvgc80d2QRBJD+SEST/mRUkEYht2OQUREREQ6SC8Bi4iIiGSMCkARERGRjFEBKCIiIpIxKgBFREREMkYFoIiIiEjGqAAUERERyRgVgCIiIiIZ839G9gV6lulivAAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# insert snr columns\n", + "perfs = dataframes['perf_by_spiketrain']\n", + "perfs['snr'] = perfs['gt_unit_id'].apply(lambda id: snr.loc[id])\n", + "\n", + "grid = sns.FacetGrid(perfs, hue='sorter_name', col='sorter_name', col_wrap=3)\n", + "grid.map(plt.plot, 'snr', 'accuracy', marker=\"o\", ls='None')\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### How many units detected above threshold\n", + "\n", + "The very end question for an experimentalist using software for spike sorting would be, how many cells is it able to detect correctly ?\n", + "One anwser could be cells with accuracy above a threshold.\n", + "\n", + "For instance here we count how many cells above 0.95 the sorter is able to detect.\n", + "\n", + "The max is 50 cells." + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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gQMH6NatG+PHj6dHjx7ce++9/PbbbwBs3bqVhIQEevXqxbRp07xF41wul3c5ISGB1157Dcj/V0bbtm2ZOnUqPXv2JCUlha1btzJw4EB69uxJv379OHXqVIEH0TzwwANs2rQJl8tFYmKit//FixcH/WctIoFV0kleGGNusdbmnbD1N2PMf8g/6zesfPrpp9StW5eFCxcCcPLkSWbOnElcXByrV69m5cqVPPPMMyxYsICOHTuyYcMGunTpwrvvvsutt95KpUqVAHeyHjduHM2aNWP48OEFjpOamspzzz1HUlISo0aNYv369fTq1YvHHnuMyZMn07ZtW2bOnOndftmyZaSlpbFy5Uqio6P55ZdfCvSZkZFB69atSUxMJCsri27dujFr1ixat27NqVOnqFKlSqHve9euXRw+fJh33nkHIODDUyISfP5c8I0wxlx/ZsEYc52f+1c4zZs357PPPmPGjBl89dVXxMW5H2l85gy8R48efP311wD069fPW60zOTmZPn36ePt58sknC038AA0bNvSWR2jZsiVpaWmcOHGC06dP07Zt23zHBPj888+54447iI52f7b7Kv8cFRVF165dAXfhuIsuuojWrd0jeNWrV/fu60ujRo3Yv38/kydP5pNPPqF69erF/ahEpIzxJ3kPBeYZY34wxvwAzAPuDUZQ5UXjxo1JTk6mefPmzJ49m7lz5xa6bfv27UlLS/MOmzRv3tzb1rZtWzZt2kRmpu/yRnkLukVFRXlr/p+PmJiYYsf5o6KiyM3N9S6fie+CCy5g1apVXHPNNSxdupTHHy/2sQ4iUsb4c7fPFmvtVcBVwFXW2jbW2v+caTfG+Cr5XKEdPnyYqlWr0qtXL4YOHcrOnTsBWLt2LQBr1qzxnpkD3H777YwdOzbfWT+4/yq46aabGDVqFDk5hdbJy6dGjRpUq1aNb775xnusM6677jqWLVvm7cvXsE9ejRs35qeffmLr1q2A+5pETk4ODRo0YPfu3eTm5nLw4EFve3p6Oo7j0LVrV0aPHu193yJSfvjzMBcArLXHC2kahbuCZ8jkZGUF9A6dnKwsoot4BOKePXuYPn06kZGRREdHM3HiREaNGsXx48dJSEigcuXKPPfcc97tExISmD17dr4hmjOGDBnCyZMn+etf/5pv/L4oTz/9NOPHjycyMpKrr77aO/zSv39/fvjhB3r2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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "perfs = dataframes['count_units']\n", + "\n", + "fig, ax = plt.subplots()\n", + "ax = sns.barplot(data=perfs, x='rec_name', y='num_well_detected', hue='sorter_name', ax=ax)\n", + "ax.set_ylim(0, 51)\n", + "ax.axhline(50, ls='--', color='red')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### How many units should not be detected at all\n", + "\n", + "Here we count \"bad_units\" meaning how many units detected to not match any units in the GT.\n", + "\n", + "here clearly all sorter using template matching have problems of over detecting.\n", + "\n", + "**bad_units** can be split in 2 category:\n", + " * false positive units\n", + " * redundant detection (units is detected twice or more)" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "perfs = dataframes['count_units']\n", + "\n", + "fig, ax = plt.subplots()\n", + "ax = sns.barplot(data=perfs, x='rec_name', y='num_bad', hue='sorter_name', ax=ax)\n", + "ax.axhline(50, ls='--', color='red')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## False positive units" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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AIiMjCQlJYXExER69OjBpEmT6NWrF/fddx+//vorADt37iQ6Opo+ffowY8YM101lsrKyXM+jo6N5/fXXgQv/ymjbti3Tp0+nd+/exMfHs3PnTgYPHkzv3r3p378/Z8+ezXcjmgceeIBt27aRlZVFTEyMq/2lS5f6/L0WEe9S8r8En3/+OfXq1WPt2rWsX7+eP/3pT4Cj0Nu6deu45557ePbZZ6lRowadOnViy5YtALz//vvcfvvtVKlSBXAk6wkTJvCHP/yBhx9+ON9xEhISuPvuu3n//fcJDw93lXaeOHEiU6ZMYc2aNRf03FeuXElSUpKr1lDujV7ySk9Pp3Xr1qxdu5bWrVvz8MMPM3HiRNauXcvSpUupWrVqoa973759HD9+nPXr17Nu3Tr69etX8jdRRMqEkv8laN68OV988QWzZs3im2++ITw8HMDVA+/VqxfffvstAP379+edd94BHLd2zJswn3zySZo1a8bIkSMLPE5ERISrPELLli1JSkoiNTWVtLQ02rZte8ExAb788ksGDRpEcLBjVK+g8s9BQUF069YNcBSOu+KKK2jdujUANWrUcO1bkEaNGnHkyBGmTp3KZ599Ro0aNYp7q0SknFHyvwRNmjQhLi6O5s2bM3fuXObPn1/otu3btycpKck1bNK8eXPXurZt27Jt2zYyMjIK3DdvQbegoCCysi79XsWhoaHFjvMHBQWRnZ3tep4b32WXXcaaNWu4/vrrWbFiBY8//vglxyMipUvJ/xIcP36catWq0adPH4YPH87evXsB2LhxIwAbNmxw9cwB7rjjDsaPH59vmKR///7ccsstjBkzhszMTLeOXbNmTapXr853333nOlauG2+8kZUrV7ra+u9//1tkW02aNOHnn39m586dgOOcRGZmJg0bNuT7778nOzubo0ePutanpKSQk5NDt27dGDt2rOt1i0jFUalm+2SeO+fVGTqZ584RXMQtEPfv38/MmTMJDAwkODiYyZMnM2bMGE6fPk10dDQhISE899xzru2jo6OZO3fuBUM0uYYNG8aZM2d49NFHmT17tlvxPfPMM0yaNInAwEA6duzoGn4ZMGAAP/30E7179yY4OJiBAwe67gpWkJCQEObMmUNsbCy//vorVatW5dVXX6V9+/Y0bNiQnj17cvXVV9OyZUsAkpOTeeyxx1x/FYwbN86teEWk/FBJZy+LjIxk9erV1KlTJ9+6Dz74gM2bN7tu33ip0tLSqF69OgCLFi0iOTmZSZMmeaVtbyqPn5NUPCrpXDKFlXSuVD3/8iz35OiiRYu81uaWLVtYuHAhWVlZNGjQgOnTp3utbRGp3JT8veyTTz4pcPkTTzzh9WP17NmTnj17er1dEan8KvwJ34oybOWv9PmUT5nnL33GmFRsFbrnX7VqVU6ePEndunUJCAgo63DkIjk5OZw8ebLIC8akbARXCWL++HVlHYbbvHlvbnGo0Mk/IiKCxMREfv7557IORQpRtWpVIiIiyjoMEblIhU7+VapUoUmTJmUdhohIhVNmyd8Y0x14HggC/mWt1VQVEZFSUiYnfI0xQcCLQA/gGuAuY8w1ZRGLiIg/KqvZPtcDP1hrD1przwErgD5lFIuIiN8pq2GfhsCRPM8TgU5F7bBnz54TxpgEn0YlIuXSC+snlHUIHnvNmLIOIdcfClpYYU74WmuvKOsYREQqi7Ia9kkCGuV5HuFcJiIipaCsev7bgWbGmCY4kv5g4H/KKBYREb9TJj1/a20mMBrYBOwDVllr95RFLCIi/qjClHQWERHvqfCF3URExHNK/iIifqjCTPUUqWiMMY8Bw4Es4B/W2k1lHJKIi8b8RdxgjAkAAqy12W5ufw3wFo6r2RsAHwPNrbUqpC/lgnr+IoUwxjTGMSNtG9AemGmM+TsQCvwIDLPWnjXGdMRRpLA6kAF0wVGuZIW1NgM4ZIz5AccXwZel/kJECqAxf5GiNQMWALfgGMLpaq1tB3wDjDPGhAArgTHW2uuArsAvFFzCpGFpBi5SFCV/kaIlWGu/AjrjqEC71RjzLTAER80UAxy11m4HsNamOq9jESnXNOwjUrQ05+8A4CNr7V15VxpjWhWyn0qYSLmmnr+Ie74CbjLGNAUwxlQ3xjQHLHClc9wfY0y4MSYYWAsMNsaEOsuYNAO+LqPYRfJR8hdxg7X2Z2Ao8JYxZieOE7ctnPejGAS8YIz5DvgIqOosV7IK2At8ADyomT5Snmiqp4iIH1LPX0TEDyn5i4j4ISV/ERE/pOQvIuKHlPxFRPyQkr/4HWNMgDFG//bFr2mqp/iFgoq0AW4VabPWnimgvaFAbyAMuBp411r7qHPdS0BHoBqw2lr7lHP5TzgqffYAMoERwDSgKTDLWvuyc7tHgIHO2N7N3V/Em9T7EX9S0iJthWmD4wKvVsAgY0xuOYfHrbUdgNbALcaY1nn2OWytbQN8DiwF+uOoG/Q0gDHmdmec1zvbb2+M+fOlvnCRi6m2j/iTBGvtV8aYKH4r0gYQguOK3XxF2oppb7O19jSAMWYvjkJvR4CBxpgROP5/Xek81k7nPmudv3cBNZx/VZwxxmQYY2oBtzt/4p3b1cDxZfDZJb1ykYso+Ys/KWmRtsJk5HmcBQQ76/hMADpaa08ZY5YCVQvYJ/ui/bNx/H8MAKZZaxd6GIuIRzTsI/7I0yJtnqiJ40vmtDGmPo7xfU9sAu4zxtRwxtDQGFPPwzZEiqXkL37H0yJtHrb9HY4hm++BN4GtHu7/oXO/L40xu4DVQLgnbYi4Q7N9RET8kHr+IiJ+SCd8RYpgjOkGzLho8SFrbd+yiEfEWzTsIyLihzTsIyLih5T8RUT8kJK/iIgfUvIXEfFDSv4iIn7o/wML8J5sIIV6SgAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "perfs = dataframes['count_units']\n", + "\n", + "fig, ax = plt.subplots()\n", + "ax = sns.barplot(data=perfs, x='rec_name', y='num_false_positive', hue='sorter_name', ax=ax)\n", + "ax.axhline(50, ls='--', color='red')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## redundant detection\n", + "\n", + "Here we count how many units are detected twice or more.\n", + "\n", + "Here again sorter based on template matching have a weakness they produce to much units." + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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FTk5OUycOJGdO3eSn5/P8OHD6dSpUwA+aREJGMdxyvVKSEhYn5CQMDYhIaGp5/VoQkLC+vLuf76vnj17Omfavn17sWW+8NZbbzmPPvpo4fyxY8ecG264wfnhhx8cx3GcMWPGOC+88ILjOI5z0003OQsWLCjc9q677nI2b97sOI7j5OXlOf369XMOHTrkOI7jvPnmm05KSkrhduPGjSszjr///e/OAw884LhcLmfnzp1Op06dHMdxnJMnTzrHjx93HMdxDh065HTq1MkpKChw9uzZ41x22WXOt99+67hcLqdnz55OSkqKU1BQ4LzzzjvO0KFDHcdxnKefftp54403HMdxnKNHjzq33HKLk52dfT4fWZn89T2JyNklJCR86ZSQU705878DGId7KEYH9zCOd/jjF1KgJSQkMHXqVKZPn85NN91ErVq1iIuLK7xXvWfPnrzyyisMHDgQgK5du5bYzq5du9ixYweDBg0CoKCggIsuuqhwfWn7FdWpUydCQ0Np1qwZBw8eBNy/sJ955hk2bdpEaGgoWVlZhevi4uIwxgDQrFkzfve73xESEoIxhsxM94Bp//nPf3j//fdZtGgRALm5uezdu5dLL73U249KRKoob57wPQyMMMbEWGuzz7pDFRYfH09qaiobNmxg1qxZdOzYsczta9asWeJyx3Fo3rw5y5Yt82q/oiIjI4stW716NYcPHyY1NZWIiAgSExPJzc0ttn1oaGjhfEhICC7Xr2PwzJ49m0suKXUQNhGp5spztw8AxphrPSNwfeOZv8oYM9dvkQVQVlYWNWvWpEePHgwePJj09HQyMzPZvXs3ACtXruTqq68ucd+YmBiys92/G+Pj4zl8+DDp6emAuxzFzp07zzu+48ePU79+fSIiIvj8888Lz+jL6/rrr2fJkiU4jvuZve3bt593TCJStXjT7TMT6AysArDWfm2MucEvUQXYjh07mDZtGqGhoYSHhzN+/HhOnDjBiBEjCi/43nFHyT1ePXv2ZNy4cYUXfGfPns2kSZM4fvw4LpeLAQMG0Lx58/OKLzk5maFDh5KcnMyVV17p9Rn8sGHDeOqpp+jevTsFBQXExcUxf/7884pJRKqWkFNnf2djjNlore1gjEm31rbxLPvaWnuVXyP06NWrl5Oamnrasm+++YbLLrusIg4v50Hfk0jgGGPSrLXtz1zuzZn/HmPM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yO8lnX1FJZ2rLn1PIoFTmUo6i4hIgCn5i4gEISV/EZEgpOQvIhKElPxFRIKQkr+ISBCqVsk/Py+vUrdXkrvvvpstW7YUW/6Xv/ylsM6Przz66KN89913Pm1TRKqmavWQV3hkJE/e1dtn7T26ZIXP2vLWP//5T5+3+eSTT5a43OVyERZWvofZRKR6qFZn/hUtJyeHIUOG0L17d5KSkli7di2JiYlMmzaN5ORkevfuze7duzlx4gSJiYmcPHkSoNg8QEFBASkpKcycOROAxMREDh8+TEZGBl26dGHs2LF069aNP//5z/zyyy8AbN68ma5poycAAAiYSURBVOTkZHr06MHUqVMLi8a5XK7C+eTkZF5++WXg9L8y2rRpw5QpU+jevTvp6els3ryZ/v370717d3r37s2JEyeKDURz7733snHjRlwuFykpKYXtL1682O+ftYj4lpL/efj4449p0KABq1atYs2aNfz+978H3IXeVq9ezV133cVTTz1FrVq16NChAxs2bADgzTff5JZbbiEiIgJwJ+vRo0fz29/+loceeqjYcXbv3s2dd97Jm2++SWxsbGFp50ceeYQJEyawcuXK087cly1bRmZmZmGtoVMDvRSVk5NDq1atWLVqFa1ateKhhx7ikUceYdWqVSxevJioqKhS3/c333xDVlYWa9asYfXq1fTq1evcP0QRCQgl//OQkJDAp59+yvTp0/nyyy+JjY0FKDwD79atG1999RUAvXv35rXXXgPcQzsWTZiPP/44zZs3Z+jQoSUeJy4urrA8whVXXEFmZibHjh0jOzubNm3anHZMgM8++4x+/foRHu7u1Sup/HNYWBidO3cG3IXjLrroIlq1agVArVq1CvctSZMmTdizZw8TJ07ko48+olatWmf7qESkklHyPw/x8fGkpqaSkJDArFmzmDNnTqnbtmvXjszMzMJuk4SEhMJ1bdq0YePGjeTm5pa4b9GCbmFhYYU1/89HjRo1ztrPHxYWRkFBQeH8qfguuOACVq5cyTXXXMPSpUt59NFHzzseqVi+Hu/a36pavFVBtbrgW9GysrKoU6cOPXr0oHbt2vz73/8GYN26dQwZMoS1a9cWnpkD3HbbbYwaNapY1c/evXvz5ZdfMmLECObMmVPmWfcptWvXJiYmhq+//pqrrrqKtWvXFq679tprWbZsGR06dCA8PJz//ve/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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "perfs = dataframes['count_units']\n", + "\n", + "fig, ax = plt.subplots()\n", + "ax = sns.barplot(data=perfs, x='rec_name', y='num_redundant', hue='sorter_name', ax=ax)\n", + "ax.axhline(50, ls='--', color='red')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Conlusion\n", + "\n", + "Comparing sorter is not trivial at all.\n", + "Counting true positive spike is not enough.\n", + "We also take in account at units level :\n", + " * FN with recall\n", + " * FP with precision\n", + " * FN and FP with accuracy\n", + " * CL msiclaification\n", + " \n", + "But we also need to look at:\n", + " * fakse positive units\n", + " * redundant detection\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/README.md b/README.md index 01dacce..7e109e9 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,9 @@ Collection of notebooks and results with SpikeInterface. -- MEArec_GT_comparison and Neuropixels_multi_comparison reproduce figures from the [SpikeInterface paper](https://www.biorxiv.org/content/10.1101/796599v1). -- Spampinato_mice_retina_mea252ch analyze an open-source retina recording. +- **SpikeInterface_manuscript**: reproduction of figures from the [SpikeInterface paper](https://www.biorxiv.org/content/10.1101/796599v1). +- **MEArec_SqMEA1015**: ground-truth comparison on high-density simulated MEA. +- **Spampinato_mice_retina_mea252ch**: analysis an open-source MEA retina recording. Detailed information on how to run the examples is in the README of the different folders. diff --git a/MEArec_GT_comparison/README.md b/SpikeInterface_manuscript/MEArec_GT_comparison/README.md similarity index 100% rename from MEArec_GT_comparison/README.md rename to SpikeInterface_manuscript/MEArec_GT_comparison/README.md diff --git a/MEArec_GT_comparison/mearec-gt-comparison.ipynb b/SpikeInterface_manuscript/MEArec_GT_comparison/mearec-gt-comparison.ipynb similarity index 100% rename from MEArec_GT_comparison/mearec-gt-comparison.ipynb rename to SpikeInterface_manuscript/MEArec_GT_comparison/mearec-gt-comparison.ipynb diff --git a/MEArec_GT_comparison/run_sorters.py b/SpikeInterface_manuscript/MEArec_GT_comparison/run_sorters.py similarity index 72% rename from MEArec_GT_comparison/run_sorters.py rename to SpikeInterface_manuscript/MEArec_GT_comparison/run_sorters.py index b2c9f13..52e7232 100644 --- a/MEArec_GT_comparison/run_sorters.py +++ b/SpikeInterface_manuscript/MEArec_GT_comparison/run_sorters.py @@ -2,19 +2,6 @@ import spikeinterface.comparison as GroundTruthStudy from pathlib import Path -plot_mearec = False - -def clean_plot(ax, label, sorters): - ax.set_xlabel('') - ax.set_ylabel(label, fontsize=20) - ax.yaxis.set_tick_params(labelsize=12) - ax.set_xticklabels(sorters, fontsize=15, rotation=45, ha='center') - ax.spines['top'].set_visible(False) - ax.spines['right'].set_visible(False) - fig = ax.get_figure() - fig.subplots_adjust(bottom=0.2) - fig.set_size_inches(8, 7) - p = Path('.') study_folder = p / 'study_mearec_SqMEA1015um' diff --git a/Neuropixels_multi_comparison/README.md b/SpikeInterface_manuscript/Neuropixels_multi_comparison/README.md similarity index 100% rename from Neuropixels_multi_comparison/README.md rename to SpikeInterface_manuscript/Neuropixels_multi_comparison/README.md diff --git a/Neuropixels_multi_comparison/chanMap.mat b/SpikeInterface_manuscript/Neuropixels_multi_comparison/chanMap.mat similarity index 100% rename from Neuropixels_multi_comparison/chanMap.mat rename to SpikeInterface_manuscript/Neuropixels_multi_comparison/chanMap.mat diff --git a/Neuropixels_multi_comparison/neuropixels-multi-comparison.ipynb b/SpikeInterface_manuscript/Neuropixels_multi_comparison/neuropixels-multi-comparison.ipynb similarity index 100% rename from Neuropixels_multi_comparison/neuropixels-multi-comparison.ipynb rename to SpikeInterface_manuscript/Neuropixels_multi_comparison/neuropixels-multi-comparison.ipynb diff --git a/Neuropixels_multi_comparison/run_sorters.py b/SpikeInterface_manuscript/Neuropixels_multi_comparison/run_sorters.py similarity index 100% rename from Neuropixels_multi_comparison/run_sorters.py rename to SpikeInterface_manuscript/Neuropixels_multi_comparison/run_sorters.py