flatironinstitute/mountainsort5

Less number of units detected in MS5 than in MS4

Opened this issue · 1 comments

Hi Jeremy,

We have recently migrated from MS4 to MS5 using Spikeinterface. However, we always detected less number of units in MS5 than in MS4. Here are the sorter parameters used for each sorter:

For MS4:
{'detect_sign': -1,
'adjacency_radius': -1,
'freq_min': 300,
'freq_max': 6000,
'filter': True,
'whiten': True,
'num_workers': 1,
'clip_size': 50,
'detect_threshold': 3,
'detect_interval': 10,
'tempdir': None}

For MS5:
{'scheme': '2',
'detect_threshold': 5.5,
'detect_sign': -1,
'detect_time_radius_msec': 0.5,
'snippet_T1': 20,
'snippet_T2': 20,
'npca_per_channel': 3,
'npca_per_subdivision': 10,
'snippet_mask_radius': 250,
'scheme1_detect_channel_radius': 150,
'scheme2_phase1_detect_channel_radius': 200,
'scheme2_detect_channel_radius': 50,
'scheme2_max_num_snippets_per_training_batch': 200,
'scheme2_training_duration_sec': 300,
'scheme2_training_recording_sampling_mode': 'uniform',
'scheme3_block_duration_sec': 1800,
'freq_min': 300,
'freq_max': 6000,
'filter': True,
'whiten': True,
'delete_temporary_recording': True,
'n_jobs': 1,
'chunk_duration': '1s',
'progress_bar': True,
'mp_context': None,
'max_threads_per_process': 1}

Using the above parameters, 61 units were detected in MS4 but only 22 units were detected in MS5. When using '3' as 'detect_threshold' in MS5, even less units were detected. Please kindly advice on this.

Unfortunately, we failed to install MS4 in Windows/Linux due to isosplit5 issues.

Hi @betty-hbr

With MS4 there is always at least one noise unit per channel, whereas with MS5 that is not the case. I wonder if that could explain the discrepancy.

Lower detection can threshold can lead to a smaller number of clusters because clusters that overlap at low amplitudes could become combined.

In general the optimal parameter/algorithm choice is going to depend on the data, and I don't have enough experience at this point to say which is best for different situations. If you do settle on a set of parameters it would be great if you could report your experience here so others can benefit.