blech_process.py workflow is confusing...processing for throw_out_noise=True vs False is being handled jointly...will likely be cleaner to have distinct (if somewhat redundant) workflows
This was created because of wanting to plot all waveforms regardless of throw_out_noise variable
**Data Processing Flow:**
When throw_out_noise = False:
Raw Waveforms (slices_dejittered)
|
v
Extract Features
|
v
Train GMM on all features
|
v
Get cluster labels for all waveforms
|
v
Remove outliers & save results
When throw_out_noise = True:
Raw Waveforms (slices_og)
|
+---> Classify (neuRecommend)
| |
| +---> Noise waveforms (discarded from GMM fitting)
| |
| +---> Spike waveforms (slices_dejittered)
| |
| v
| Extract Features (spike features only)
| |
| v
| Train GMM on spike features only
| |
v v
Extract Features (all) Get GMM model
| |
+----------+------------+
|
v
Apply GMM to all waveforms
|
v
Get cluster labels for all waveforms
|
v
Remove outliers & save results
blech_process.pyworkflow is confusing...processing forthrow_out_noise=TruevsFalseis being handled jointly...will likely be cleaner to have distinct (if somewhat redundant) workflowsThis was created because of wanting to plot all waveforms regardless of
throw_out_noisevariable