Giter VIP home page Giter VIP logo

mountainsort's Introduction

MountainSort

This repo is archived. Please see mountainsort4, mountainsort5, or spikeinterface.

OLD

Spike sorting software

Please use the new version of MountainSort.

Which version to use?

Depending on your situation, you will want to use one of the following two versions of MountainSort/MountainLab:

Option 1. The old (and now frozen) version.

For documentation and installation instructions for the old version of MountainSort, MountainLab, and related tools, please visit MountainSort on Read the Docs.

Option 2. The new version, under active development

See the new version of MountainSort

Here is a list of pros and cons for the two methods, which can help you decide which to use.

Pros of option 1:

  • Relatively complete documentation and tutorial
  • Install via apt (ppa) if on Ubuntu 16.04

Cons of option 1:

  • Will no longer have bug fixes
  • Sorting algorithm not optimized for large electrode arrays
  • Does not run on Mac

Pros of option 2

  • Better implementation of MountainSort -- can handle large electrode arrays
  • More portable -- install on any Linux flavor or Mac
  • Integration with python and JupyterLab
  • Active bug fixes
  • Cleaner code base, ultimately better documentation, and overall better software.

Cons of option 2

  • It is under development

So, in summary, which one should you use?

Answer: ultimately you'll want to go with option 2.

Note: Many of the components between the two options can be mixed and matched. But I don't want to make the docs too confusing.

mountainsort's People

Contributors

magland avatar tjd2002 avatar wysota avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mountainsort's Issues

ModuleNotFoundError: No module named 'basic_cpp'

Following the install instructions on https://mountainsort.readthedocs.io/en/latest/ and using the Ubuntu PPA, I get the following messages when running mp-list-processors:

max@retina:~/src/rSW$ mp-list-processors
2018-03-17:15-07-39-732	mproc.processormanager	warning	"Potential problem with executable processor file: /opt/mountainlab/packages/pyms/basic/basic.mp. Expected json output but got empty string."
2018-03-17:15-07-39-733	mproc.processormanager	warning	"Executable processor file did not return output for spec: /opt/mountainlab/packages/pyms/basic/basic.mp"
2018-03-17:15-07-40-080	mproc.processormanager	warning	"Potential problem with executable processor file: /opt/mountainlab/packages/pyms/curation/curation.mp. Expected json output but got empty string."
2018-03-17:15-07-40-080	mproc.processormanager	warning	"Executable processor file did not return output for spec: /opt/mountainlab/packages/pyms/curation/curation.mp"
2018-03-17:15-07-41-061	mproc.processormanager	warning	"Potential problem with executable processor file: /opt/mountainlab/packages/pyms/basic/basic.mp. Expected json output but got empty string."
2018-03-17:15-07-41-061	mproc.processormanager	warning	"Executable processor file did not return output for spec: /opt/mountainlab/packages/pyms/basic/basic.mp"
2018-03-17:15-07-41-360	mproc.processormanager	warning	"Potential problem with executable processor file: /opt/mountainlab/packages/pyms/curation/curation.mp. Expected json output but got empty string."
2018-03-17:15-07-41-360	mproc.processormanager	warning	"Executable processor file did not return output for spec: /opt/mountainlab/packages/pyms/curation/curation.mp"

Running one of the "executable processor files" listed produces the following output:

max@retina:~/src/rSW$ /opt/mountainlab/packages/pyms/basic/basic.mp
Traceback (most recent call last):
  File "/opt/mountainlab/packages/pyms/basic/basic.py", line 10, in <module>
    import p_extract_clips
  File "/opt/mountainlab/packages/pyms/basic/p_extract_clips.py", line 18, in <module>
    import basic_cpp as cpp
ModuleNotFoundError: No module named 'basic_cpp'

Despite this, if I forge ahead, MountainSort appears to run and work, but I can't really be confident. mlpipeline always seems to be empty (it renders a UI but the UI doesn't contain any high-information-content items) but mountainview appears to render spikes and do things when I click buttons.

I'm running Ubuntu 17.10.

bandpass error (again)

Hi,
I have the same problem as someone had previously raised.

I am trying to sort a relatively small file (~500MB) from a thresholded tetrode recording (which contains only spike snippets, but I created a 'continuous' file with zero padding in between snippets).

It seems that I am running put of memory. Do you have any idea how much RAM I would have to allocate to Ubuntu when running on a virtual box? Any help is appreciated.

I should also add that I am new to using Ubuntu, so apologies if I made some stupid error.

Best

Laurenz

virtualbox_ubuntusandbox_04_12_2017_12_33_48

Mountainsort compilation and mp-list-processors

I am trying to compile the mountainsort package as described here: https://mountainsort.readthedocs.io/en/latest/installation_advanced.html
(since apt-get install mountainlab as for today does not return anything yet?)

I get the following output:

Project MESSAGE: Enabling mountainsortalg
Project MESSAGE: Enabling ms3
Reading /home/hotte/mountainlab/packages/mountainsort/packages/mountainsortalg/mountainsortalg.pro
Reading /home/hotte/mountainlab/packages/mountainsort/packages/ms3/ms3.pro
Project MESSAGE: Enabling mountainsortalg
Project MESSAGE: Enabling ms3
Building with 4 parallel jobs
cd packages/mountainsortalg/ && ( test -e Makefile || /usr/lib/x86_64-linux-gnu/qt5/bin/qmake /home/hotte/mountainlab/packages/mountainsort/packages/mountainsortalg/mountainsortalg.pro -o Makefile ) && make -f Makefile 
make[1]: Entering directory '/home/hotte/mountainlab/packages/mountainsort/packages/mountainsortalg'
make[1]: Nothing to be done for 'first'.
make[1]: Leaving directory '/home/hotte/mountainlab/packages/mountainsort/packages/mountainsortalg'
cd packages/ms3/ && ( test -e Makefile || /usr/lib/x86_64-linux-gnu/qt5/bin/qmake /home/hotte/mountainlab/packages/mountainsort/packages/ms3/ms3.pro -o Makefile ) && make -f Makefile 
make[1]: Entering directory '/home/hotte/mountainlab/packages/mountainsort/packages/ms3'
make[1]: Nothing to be done for 'first'.
make[1]: Leaving directory '/home/hotte/mountainlab/packages/mountainsort/packages/ms3'
cd packages/mountainsortalg/ && ( test -e Makefile || /usr/lib/x86_64-linux-gnu/qt5/bin/qmake /home/hotte/mountainlab/packages/mountainsort/packages/mountainsortalg/mountainsortalg.pro -o Makefile ) && make -f Makefile install
make[1]: Entering directory '/home/hotte/mountainlab/packages/mountainsort/packages/mountainsortalg'
make[1]: Nothing to be done for 'install'.
make[1]: Leaving directory '/home/hotte/mountainlab/packages/mountainsort/packages/mountainsortalg'
cd packages/ms3/ && ( test -e Makefile || /usr/lib/x86_64-linux-gnu/qt5/bin/qmake /home/hotte/mountainlab/packages/mountainsort/packages/ms3/ms3.pro -o Makefile ) && make -f Makefile install
make[1]: Entering directory '/home/hotte/mountainlab/packages/mountainsort/packages/ms3'
make[1]: Nothing to be done for 'install'.
make[1]: Leaving directory '/home/hotte/mountainlab/packages/mountainsort/packages/ms3'
Compiling custom C++ libraries for pyms package
In file included from /home/hotte/miniconda3/envs/ms/include/python3.6m/pybind11/pytypes.h:12:0,
                 from /home/hotte/miniconda3/envs/ms/include/python3.6m/pybind11/cast.h:13,
                 from /home/hotte/miniconda3/envs/ms/include/python3.6m/pybind11/attr.h:13,
                 from /home/hotte/miniconda3/envs/ms/include/python3.6m/pybind11/pybind11.h:43,
                 from bandpass_filter_cpp.cpp:16:
bandpass_filter_cpp.cpp: In function ‘PyObject* PyInit_bandpass_filter_cpp()’:
/home/hotte/miniconda3/envs/ms/include/python3.6m/pybind11/detail/common.h:242:20: warning: ‘PyObject* pybind11_init()’ is deprecated: PYBIND11_PLUGIN is deprecated, use PYBIND11_MODULE [-Wdeprecated-declarations]
             return pybind11_init();                                            \
                    ^
bandpass_filter_cpp.cpp:58:1: note: in expansion of macro ‘PYBIND11_PLUGIN’
 PYBIND11_PLUGIN(bandpass_filter_cpp) {
 ^
/home/hotte/miniconda3/envs/ms/include/python3.6m/pybind11/detail/common.h:227:22: note: declared here
     static PyObject *pybind11_init();                                          \
                      ^
bandpass_filter_cpp.cpp:58:1: note: in expansion of macro ‘PYBIND11_PLUGIN’
 PYBIND11_PLUGIN(bandpass_filter_cpp) {
 ^
/home/hotte/miniconda3/envs/ms/include/python3.6m/pybind11/detail/common.h:242:20: warning: ‘PyObject* pybind11_init()’ is deprecated: PYBIND11_PLUGIN is deprecated, use PYBIND11_MODULE [-Wdeprecated-declarations]
             return pybind11_init();                                            \
                    ^
bandpass_filter_cpp.cpp:58:1: note: in expansion of macro ‘PYBIND11_PLUGIN’
 PYBIND11_PLUGIN(bandpass_filter_cpp) {
 ^
/home/hotte/miniconda3/envs/ms/include/python3.6m/pybind11/detail/common.h:227:22: note: declared here
     static PyObject *pybind11_init();                                          \
                      ^
bandpass_filter_cpp.cpp:58:1: note: in expansion of macro ‘PYBIND11_PLUGIN’
 PYBIND11_PLUGIN(bandpass_filter_cpp) {
 ^
/home/hotte/miniconda3/envs/ms/include/python3.6m/pybind11/detail/common.h:242:34: warning: ‘PyObject* pybind11_init()’ is deprecated: PYBIND11_PLUGIN is deprecated, use PYBIND11_MODULE [-Wdeprecated-declarations]
             return pybind11_init();                                            \
                                  ^
bandpass_filter_cpp.cpp:58:1: note: in expansion of macro ‘PYBIND11_PLUGIN’
 PYBIND11_PLUGIN(bandpass_filter_cpp) {
 ^
/home/hotte/miniconda3/envs/ms/include/python3.6m/pybind11/detail/common.h:227:22: note: declared here
     static PyObject *pybind11_init();                                          \
                      ^
bandpass_filter_cpp.cpp:58:1: note: in expansion of macro ‘PYBIND11_PLUGIN’
 PYBIND11_PLUGIN(bandpass_filter_cpp) {
 ^

When running mp-list-processors I get the following output and all ms3 processors show up, but none of the pyms processors.

2017-11-22:14-59-23-113	mproc.main	debug	("/home/hotte/mountainlab/bin/../packages")
2017-11-22:14-59-23-269	mproc.processormanager	warning	"Potential problem with executable processor file: /home/hotte/mountainlab/bin/../packages/mountainsort/packages/pyms/basic/basic.mp. Expected json output but got empty string."

I am running it in a conda environment (python3) with numpy, scipy, etc. installed.
Is there something obvious I am overlooking?

document how to run unit tests

Put in doc/ how to compile and run unit tests. Eg I found this works:

cd tests
qmake
make -j 8

tests/auto has subdirs w/ executables in it:

mountainlab/tests/auto/mlcompute/tst_mlcomputetest .. all passed

But, tst_mdatest has some fails. Just so you know.

PCA as a processor

I see pca_unit_test() in pca.cpp but can't find a way to call it, and writing a MEX interface to pca is tricky due to the mda class. I would like to be able to run arbitrary tests on pca() from a high-level language with linear algebra.
One way to access PCA for easy testing would be to make it it's own processor. Then one could read/write mda files from octave to test it.

Also the term "sigma" in PCA doc usually means the singular value, not its square as you have it. This doesn't affect operation.

Happy to be assigned these, although I've never made a new processor.

understanding bandpass process error

Hi,

I ran into an error when trying to sort my own data. I am attaching a screenshot. Is this a lack of memory error? I am trying to sort an mda file containing 8 channels from a utah array that lasts for about an hour. I currently have allocated 50GB of RAM to my ubuntu VM, is that insufficient in your experience?

Thanks
screenshot 2017-11-28 13 17 24

error code 6, mountainsortalg.ms3alg -- Unexpected error putting together the clips in NeighborhoodSorter::sort()

I am running mountainsortalg.ms3alg on a 40GB file containing 96 channels and 107920368 timepoints sampled at 30kHz. I am running on linux with 100GB of RAM and 60 CPUs. The full command is:

RUNNING mountainsortalg.ms3alg: /spin1/home/linux/zaworaca/mountainlab/packages/mountainsort/packages/mountainsortalg/bin/mountainsortalg.mp mountainsortalg.ms3alg --geom=/data/zaworaca/data/NIH037_test/NIH037_160123_2355_utah_m/geom.csv --timeseries=/data/zaworaca/data/NIH037_test/NIH037_160123_2355_utah_m/NIH037_160123-2355_160124-0054_1-96.mda_bp_reref --firings_out=/data/zaworaca/data/NIH037_test/NIH037_160123_2355_utah_m/firings.mda 
--adjacency_radius=0 --clip_size=50 --consolidate_clusters=true 
--consolidation_factor=0.9 --detect_interval=10 --detect_sign=-1 
--detect_threshold=3 --fit_stage=false --merge_across_channels=false --t1=0 --t2=-1 
--_tempdir=/data/zaworaca/mountain_temp/mountainlab/tmp_short_term/tempdir_HTEQ4CZYMX

I get the following error:

Unexpected error putting together the clips in NeighborhoodSorter::sort(). 786924 795975
Warning: Unable to open mda file for reading: /data/zaworaca/mountain_temp/mountainlab/tmp_short_term/tempdir_HTEQ4CZYMX/.tmp.diskbackedmda.2VTCH72QKI.mda

2018-06-20:17-07-04-285 mproc.main      warning
2018-06-20:17-07-04-305 mproc.main      warning Process returned with non-zero exit code (6): mountainsortalg.ms3alg (Elapsed: 797.611 sec)

any clues as to what the error is caused by? I am attaching the full output.

_sort_error.log

release python package for mdaio?

I'd like to allow my python library to read mda files. It would be great to have mlpy on PyPI (apologies if I missed it! looks lik mlpy is a unrelated machine learning package).

Thanks for releasing mountainsort, and hope I'm not overwhelming with the issues made!

Error when running ms3.isolation_metrics

Hardware: Amazon EC2 instance (c4.8xlarge, Ubuntu 16.04, 200GB storage space)
Installation: from ppa:magland/mountainlab via apt on Ubuntu
Pipeline: mountainsort3.mlp from mountainsort_examples
Data: silicon probe recording, ~ 20GB with ~ 100 channels
Issue: filtering, whitening, and sorting runs fine, but curation returns an error while running ms3.isolation_metrics
Note: I was able to sort the test data from mountainsort_examples without any problem. Numpy was also upgraded with pip3 install numpy
Error message:

----------------------------------------------------------------------------
Queueing job: ms3.cluster_metrics
  INPUTS: timeseries=[object Object]  firings=[object Object]
  PARAMS: samplerate=20000
----------------------------------------------------------------------------
----------------------------------------------------------------------------
Queueing job: ms3.isolation_metrics
  INPUTS: timeseries=[object Object]  firings=[object Object]
  PARAMS: compute_bursting_parents=true
----------------------------------------------------------------------------
  |ms3.cluster_metrics|            RUNNING ms3.cluster_metrics: /opt/mountainlab/packages/ms3/ms3.mp ms3.cluster_metrics --firings=/home/ubuntu/test/home/ubuntu/tmp/mountainlab/prvbucket/_mountainprocess/output_firings_out_20e3ed3ea5 --timeseries=/home/ubuntu/test/home/ubuntu/tmp/mountainlab/prvbucket/_mountainprocess/output_timeseries_out_67c7c902ec --cluster_metrics_out=/home/ubuntu/test/home/ubuntu/tmp/mountainlab/prvbucket/_mountainprocess/output_cluster_metrics_out_189e344a22 --samplerate=20000 --_tempdir=/home/ubuntu/test/home/ubuntu/tmp/mountainlab/tmp_short_term/tempdir_0XT36758GF
  |ms3.isolation_metrics|          RUNNING ms3.isolation_metrics: /opt/mountainlab/packages/ms3/ms3.mp ms3.isolation_metrics --firings=/home/ubuntu/test/home/ubuntu/tmp/mountainlab/prvbucket/_mountainprocess/output_firings_out_20e3ed3ea5 --timeseries=/home/ubuntu/test/home/ubuntu/tmp/mountainlab/prvbucket/_mountainprocess/output_timeseries_out_67c7c902ec --metrics_out=/home/ubuntu/test/home/ubuntu/tmp/mountainlab/prvbucket/_mountainprocess/output_metrics_out_efa29395f3 --compute_bursting_parents=true --_tempdir=/home/ubuntu/test/home/ubuntu/tmp/mountainlab/tmp_short_term/tempdir_D07K11PRZU
  |ms3.isolation_metrics|          Starting p_isolation_metrics
  |ms3.isolation_metrics|          Computing cluster metrics...
  |ms3.cluster_metrics|            Process completed successfully: ms3.cluster_metrics (Elapsed: 7.568 sec)
  |ms3.cluster_metrics|            making prv file: /home/ubuntu/test/home/ubuntu/tmp/mountainlab/prvbucket/_mountainprocess/output_cluster_metrics_out_189e344a22.prv
  |ms3.cluster_metrics|            making prv file: /home/ubuntu/test/home/ubuntu/tmp/mountainlab/prvbucket/_mountainprocess/output_console_out_189e344a22.prv
  |ms3.isolation_metrics|          2018-01-31:23-14-39-064      mproc.main      warning
  |ms3.isolation_metrics|          2018-01-31:23-14-39-072      mproc.main      warning Process returned with non-zero exit code (9): ms3.isolation_metrics (Elapsed: 22.806 sec)
  |ms3.isolation_metrics|          making prv file: /home/ubuntu/test/home/ubuntu/tmp/mountainlab/prvbucket/_mountainprocess/output_console_out_efa29395f3.prv
Process error:
Process error:
Error in job (processor: ms3.isolation_metrics): Process error:
Could not find input in running or pending jobs: metrics2
Error in job (pipeline: curate): Error in job (processor: ms3.isolation_metrics): Process error:
Stopped
Stopped
Stopped
Stopped
Stopped
Stopped
Error: Error in job (pipeline: curate): Error in job (processor: ms3.isolation_metrics): Process error:
Error: Error in job (pipeline: curate): Error in job (processor: ms3.isolation_metrics): Process error:

how to test processing server connection

If I write a fake processing server or misspell one, the only error message is a more general 'unable to get spec for job'. It would be nice if there was a list of 'available' processing servers and/or a test ping once user inputs the name of some server.

Error in generating simulation data

error

I am getting the following error when I am trying to run the simulation of data using "mlp-run synthesize_v1.mlp synthesize --timeseries=data/raw.mda --geom=data/geom.csv --waveforms_true=data/waveforms_true.mda --_params=params_synth.json" command.

Please guide me through it.

std::bad_alloc

I have data from one channel, around 1 GB size.
When I ran it in a 4 GB RAM Virtual Box, I got the std::bad_alloc error, so I segmented the whole data into four equal chunks with 1/4 GB each and sorted them one by one.

But when I shift to a Linux machine with 16 GB RAM, I still get the std::bad_alloc error when running the 1 GB data, and I still have to break them into 1/4 GB segments.
So is this the issue of memory size? Why isn't the problem alleviated when I use larger memory?

Rule of thumb for RAM estimation

Hi MountainSort developers,

I have been using your software on smaller datasets and it works great, the problem I have is
how to calculate the peak RAM requirement for the most updated version of mounstainsort.
We may have like 3TB of raw data in int16 format, but we only have several 32G RAM computers.
Can I estimate RAM use for the main processing steps without actually running it(I do notice that
you have an estimation line of code once it's run), like bandpass filter, whitening and sorting for
deploying/buying the correct number of computers? Thanks a lot!

Error with bandpass_filter in MountainSort3

I am using a virtualBox Ubuntu 16.04 with 4 Gb ram and 20GB harddisk space allotted. I have been following the installation and compilation steps for MountainSort and did not encounter any errors until the step of sorting example data. The error says

|ms3.bandpass_filter| Error reading chunk

The entire message is appended below

|ms3.bandpass_filter| RUNNING ms3.bandpass_filter: /home/chinmay/mountainlab/packages/mountainsort/packages/ms3/bin/ms3.mp ms3.bandpass_filter --timeseries=/home/chinmay/mountainsort_examples/examples/example1_mlp/data/raw.mda --timeseries_out=/tmp/mountainlab/prvbucket/_mountainprocess/output_timeseries_out_6af7fe0c7e --freq_max=6000 --freq_min=300 --freq_wid=1000 --quantization_unit=0 --samplerate=30000 --subsample_factor=1 --_tempdir=/tmp/mountainlab/tmp_short_term/tempdir_NKKSYC1TEI
|ms3.bandpass_filter| Expected peak RAM usage (MB): 1024
|ms3.bandpass_filter| samplerate/freq_min/freq_max/freq_wid: 30000 300 6000 1000
|ms3.bandpass_filter| Error reading chunk
|ms3.bandpass_filter| Error reading chunk
|ms3.bandpass_filter| Error reading chunk
|ms3.bandpass_filter| Error reading chunk
|ms3.bandpass_filter| Error reading chunk
|ms3.bandpass_filter| ************+++ Using chunk size / overlap size: 4353924 / 0 (num threads=60000)
|ms3.bandpass_filter| Warning problem reading 2d chunk in DiskReadMda32: 0<>0
|ms3.bandpass_filter| 4353924/0 (18000000%) -- using 0 threads.
|ms3.bandpass_filter| Warning problem reading 2d chunk in DiskReadMda32: 0<>0
|ms3.bandpass_filter| 8707848/0 (18000000%) -- using 0 threads.
|ms3.bandpass_filter| Warning problem reading 2d chunk in DiskReadMda32: 0<>0
|ms3.bandpass_filter| 13061772/0 (18000000%) -- using 0 threads.
|ms3.bandpass_filter| Warning problem reading 2d chunk in DiskReadMda32: 0<>0
|ms3.bandpass_filter| 17415696/0 (18000000%) -- using 0 threads.
|ms3.bandpass_filter| Warning problem reading 2d chunk in DiskReadMda32: 0<>0
|ms3.bandpass_filter| 18000000/0 (18000000%) -- using 0 threads.
|ms3.bandpass_filter| 2018-06-13:17-05-01-479 mproc.main warning
|ms3.bandpass_filter| 2018-06-13:17-05-01-498 mproc.main warning Process returned with non-zero exit code (255): ms3.bandpass_filter (Elapsed: 153.197 sec)
|ms3.bandpass_filter| making prv file: /tmp/mountainlab/prvbucket/_mountainprocess/output_console_out_6af7fe0c7e.prv
|ms3.bandpass_filter| making prv file: /tmp/mountainlab/prvbucket/_mountainprocess/output_timeseries_out_6af7fe0c7e.prv
Process error:
Process error:
Error in job (processor: ms3.bandpass_filter): Process error:
Could not find input in running or pending jobs: filt_out
Error: Error in job (processor: ms3.bandpass_filter): Process error:
Error: Error in job (processor: ms3.bandpass_filter): Process error:
Stopped
Stopped
Stopped
Stopped

----------------------------------------XXX--------

Please let me know if any further information is needed. I have installed mountainlab-js but am a little lost about how the run the examples there.
Thanks in advance,
Chinmay

Unexpected token in JSON

I am able to run mountainsort_examples/examples/example1_mlp/mountainsort3.mlp just fine, including on my own data. However, I cannot run either mountainlab/packages/mountainsortalg/mountainsortalg.mp or mountainlab/packages/ms3/ms3.mp as I get the following error:

$ mlp-run /opt/mountainlab/packages/ms3/ms3.mp sort --raw=2018-01-23T15-04-19_raw.mda --firings_out=2018-01-23T15-04-19_firings.mda --samplerate=20000
Using pipeline: /opt/mountainlab/packages/ms3/ms3.mp
undefined:1
ELF���
^

SyntaxError: Unexpected token  in JSON at position 0
    at JSON.parse (<anonymous>)
    at Object.<anonymous> (/usr/share/mlpipeline/utils/mlp/mlp-run:49:14)
    at Module._compile (module.js:571:32)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:488:32)
    at tryModuleLoad (module.js:447:12)
    at Function.Module._load (module.js:439:3)
    at Module.runMain (module.js:605:10)
    at run (bootstrap_node.js:427:7)
    at startup (bootstrap_node.js:151:9)
`

Export metrics

Hi,

I'd like to run mountainsort on a batch of mdas and save the output (non curated) firings.mda and the cluster metrics. What is the best way to export the cluster metrics? I've found them in the temp folder (mountainlab/prvbucket/_mountainprocess/output_cluster_metrics_out_.... but they don't seem to be exposed in the example pipeline (in example_mlp).
Should I modify the sort script to add metrics as an outputs_opt or try to run the 3 ms3.XX_metrics processes after the sort?

Running MountainSort on my own data (.mda files converted from Neuralynx .ntt files)

Hello,
I have installed the newest version on MountainSort (on Ubuntu LTS 12.04), and while it worked just fine with the example data, I am unable to run it on my own data. Our recordings were all in the form of .ntt files, and I have converted them to mda files in matlab, and then when I try to bring these into MountainSort, I have the following result and errors:

Using pipeline: mountainsort3.mlp
Using data directory: /tmp/mountainlab/prvbucket
Computing checksum for file: data/raw.mda
child_process.js:507
throw err;
^

Error: Command failed: prv-stat data/raw.mda

at checkExecSyncError (child_process.js:464:13)
at Object.execSync (child_process.js:504:13)
at prv_stat_sync (/home/loinn/mountainlab/mlpipeline/utils/mlp/mlp-run:269:35)
at step2 (/home/loinn/mountainlab/mlpipeline/utils/mlp/mlp-run:165:12)
at /home/loinn/mountainlab/mlpipeline/utils/mlp/mlp-run:79:4
at /home/loinn/mountainlab/mlpipeline/web/mlpipeline/kuleleclient.js:325:4
at /home/loinn/mountainlab/mlpipeline/processing_server/larinet/larinetserver.js:260:4
at /home/loinn/mountainlab/mlpipeline/processing_server/larinet/larinetserver.js:544:5
at ChildProcess.<anonymous> (/home/loinn/mountainlab/mlpipeline/processing_server/larinet/larinetserver.js:713:3)
at emitTwo (events.js:87:13)

I am not sure if the problem I am having is from installing mountainsort improperly, or (more likely it seems) if it is from preparing my raw.mda file improperly.

Test for unimodality

Hello!

I want to understand your own test for unimodality (based on Hartigan and Hartigan, 1985) but I can't found it in the code.
Perhaps, I am looking for this in a incorrect code or I can't understand a sentences in C++.
Would you help me please? Where can i found the test? I guess If i see the algorithm before C++ sentences, it would be perfect for understand the test.

Thank you!

Guada

Response file error

Hi! I successfully ran mountainsort on a few MDA files, and then suddenly started getting this error
image

Sorting error - SyntaxError: Unexpected token

Hi,
MountainSort works fine on the synthetic data, but I get this error when trying to sort my own data.
This seems like a simple error.
Thanks.

`mlp-run mountainsort3.mlp sort --raw=raw.mda --geom=geom.csv --firings_out=firings2.mda --_params=params.json --curate=true
undefined:1
{
^

SyntaxError: Unexpected token 
at Object.parse (native)
at Object. (/usr/share/mlpipeline/utils/mlp/mlp-run:33:14)
at Module._compile (module.js:410:26)
at Object.Module._extensions..js (module.js:417:10)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Function.Module.runMain (module.js:442:10)
at startup (node.js:136:18)
at node.js:966:3
`

Installation issues

Hey guys,

thanks for making this available! I just followed your instructions on installation and ran into a small issue:

I installed mountainsort in a fresh Ubuntu VM. After following the steps described in your instructions I got an error message on the data synthesizing part of the example. Python told me that there is no module np.flip. Turns out I had to update numpy to the newest version, as the version that is installed when running the installation for mountainsort doesn't contain that function.

I hope this helps,

Cheers,

Ulf

process descriptions

Hi,

I was wondering if there is any documentation that describes what most of the processes do? Often the names are quite apparent but a line or two for each would be useful. Specifically, what are the differences between the following:

ms3.extract_clips
ms3.extract_firings
ms3.mv_extract_clips
ms3.mv_extract_clips_features
pyms.extract_clips

Thanks!

Accuracy of mountainsort without curate=true, and setting interspike intervals

Hello everyone,
I am sorting around 5-6s of data per trial from 256 channels, and I have around 320 trials. The number of neurons detected varies in each trial from around 227 to more than 500 without curate. On using curate, the number of cluster decreases to around 3-4. I am sorting each channel independently. Sometimes, a particular channel shows no spikes at all. Is there any way to adjust parameters like interspike intervals and threshold so that I can optimise between the quality of clusters and number of units detected?

Batch Processing

Hi,

This is probably more an issue with my limited (non-existent before now) understanding of Linux and running things via command line. Is there a way to set up batch processing with MountainSort? I have multiple days of recording sessions from multi-tetrode arrays where the tetrodes are driven semi-regularly between sessions so each days recordings are treated independently. Is there a way to set it up to automatically step through all the individual files without me having to run each file individually?

Thanks,
-gabe

error code 9 , computing cluster metrics

how should I interpret an error code 9 while running ms3.isolation_metric?

RUNNING ms3.isolation_metrics: /spin1/home/linux/zaworaca/mountainlab/packages/mountainsort/packages/ms3/bin/ms3.mp ms3.isolation_metrics --firings=/data/zaworaca/data/NIH037_test/NIH037_160123_2254_utah_m/firings.mda --timeseries=/data/zaworaca/data/NIH037_test/NIH037_160123_2254_utah_m/NIH037_160123-2254_160123-2353_1-96.mda_bp_reref --metrics_out=/data/zaworaca/data/NIH037_test/NIH037_160123_2254_utah_m/isol_metrics.json --pair_metrics_out=/data/zaworaca/data/NIH037_test/NIH037_160123_2254_utah_m/isol_pair_metrics.json --compute_bursting_parents=true --_tempdir=/data/zaworaca/mountain_temp/mountainlab/tmp_short_term/tempdir_46P9TXA1N8
Starting p_isolation_metrics

Computing cluster metrics...

2018-06-20:15-25-55-646 mproc.main      warning
2018-06-20:15-25-55-649 mproc.main      warning Process returned with non-zero exit code (9): ms3.isolation_metrics (Elapsed: 10.373 sec)

thanks for your help!

data doubles after bandpass

Running the bandpass process produces an output file twice the size of input file. Why does this happen and is there a way to produce an identically sized output file?

Converting multiple .ncs files into 1 .mda file

Hi,

I was wondering if there is any built in tools that can help me convert multiple (8) .ncs files (they are Neuralynx data) into 1 .mda file? Or is there a tutorial on how I can achieve this?

I've try using the built in mdaconvert program to directly convert .ncs to .mda, but it seems like it can only convert 1 .ncs to 1 .mda.

Each of my .ncs file is data for a single channel. So I need to combine them into 1 .mda file to do the sorting algorithm.

Thank you.

setting parameters for default mountainsort3 pipeline

Hello MountainSort developers,

It's been great to get an opportunity to try out this software. I would be interested in exploring some changes in parameter settings. For some parameters (e.g., adjacency_radius, samplerate, detect_sign), I have been able to make the adjustments via command line and/or the parameters JSON file. For other parameters (consolidate_clusters, merge_across_channels, fit_stage, detect_interval, clip_size), I have not had success with command line flags, the params file, or direct adjustments to the pipeline spec through mlpipeline (e.g., for consolidate clusters, I tried adding "param('consolidate_clusters','false');".

I assume that I am unsuccessful because the terminal output line that starts with "RUNNING mountainsortalg.ms3:" prints the command line with flags that do not reflect my requested settings (e.g., I'll see "consolidate_clusters=true" after my attempts to set it to false).

To summarize as a question: Is it possible for a user to set these parameters? If so, how?

Apologies in advance if I'm missing something obvious. Also, if there is still a need for users to volunteer matlab/python/other scripts for tasks related to MountainSort use, I may be able to contribute to that, given some info on what specifically is needed (and what language is preferred).

Thanks very much --
-Karin

Geometry and Adjacency Radius

What would be an appropriate geometry and adjacency radius for a microwire tetrode? Would the following geom.csv work?
0,0
-25,25
25,25
0,50
And if this is an appropriate geom.csv file, then what would the corresponding adjacency radius number be?
It seems to me the geom.csv should represent the position of each channel, but how do I relate this to an adjacency radius?

compiling on linux RHEL

Hey all,

Do you know if compiling on a redhat server would be possible?
Would you expect any extra steps that would be necessary?

I am trying and receiving errors during compilation. Attaching the output.
compile_out.txt

Thanks
Chris

using mounainsort for spike snippets

Hi,

I am using mountainsort3 (the default pipeline) to sort data from a thresholded tetrode recording, so I only have 1ms snippets for all potential events. For the sorting I create a 'mock' continuous trace where I put all spike snippets at the exact time point in the trial they were recorded (padded by zeros where no spike occurred).
Now, when I run mountainsort there are a few issues that I don't fully understand:
i) when I run it without the --curate-true flag it does find more spikes/events than I have fed in (I set clip_size_msec=1 and detect_interval_msec=1 as someone from L.Franks lab suggested on GitHub)
ii) the peak indices that are returned in firings_out are not exactly the actual sample positions of the peak in the mock trace - they tend to vary between ~1-10 samples from the data trace (the firings_out is based on 1-based indexing correct?)?

I understand mountainsort is probably (like kilosort) more designed to work on continuously recorded data, but if you have any idea why this happens when using it on snippets I would appreciate your opinion E.g. is it a problem for the data sorting that the data trace contains a lot of 0's.

Ps: I am also struggling to find a full list of all parameters I can pass in the parameters file - does such a list exist somewhere?

Thanks for your help.

Best

Laurenz

Install Issues

I'm trying to install Mountainsort, and I keep running into a few issues. Whenever I try to generate the example data I get an error that mountainlab/bin isn't on my path, but I've added it to the bashrc path. Also when I try to install mountainsort I get an error about mountainsort-pyms. I've attached screenshots of both issues. I was wondering if you had any fixes/advice for this (I'm new to linux)
mserror1
mserror2
mserror3

add docs view to processor dropdown

Issue: unclear processor behavior at time of selection (e.g. "pyms.reptrack")
Enhancement: in the herokuapp, have a window that displays documentation for the processor in focus.

command failed: prv-stat

Hey, I'm running into the following error.

psych-airflow@txori:/home/AD/mthielk$ mlp-run /mnt/cube/tsainbur/Projects/github_repos/mountainsort/pipelines/mountainsort3.mlp sort --raw=/mnt/cube/mthielk/analysis/B1218/mtnsort/Pen01_Lft_AP2500_ML160__Site02_Z2337__B1218_cat_P01_S02_1/Pen01_Lft_AP2500_ML160__Site02_Z2337__B1218_cat_P01_S02_1.mda --firings_out=/mnt/cube/mthielk/analysis/B1218/mtnsort/Pen01_Lft_AP2500_ML160__Site02_Z2337__B1218_cat_P01_S02_1/firings.mda --_params=/mnt/cube/mthielk/analysis/B1218/mtnsort/Pen01_Lft_AP2500_ML160__Site02_Z2337__B1218_cat_P01_S02_1/params.json --curate=false
Using data directory: /mnt/cube/tmp/mountainlab/prvbucket
Computing checksum for file: /mnt/cube/mthielk/analysis/B1218/mtnsort/Pen01_Lft_AP2500_ML160__Site02_Z2337__B1218_cat_P01_S02_1/Pen01_Lft_AP2500_ML160__Site02_Z2337__B1218_cat_P01_S02_1.mda
child_process.js:507
    throw err;
    ^

Error: Command failed: prv-stat /mnt/cube/mthielk/analysis/B1218/mtnsort/Pen01_Lft_AP2500_ML160__Site02_Z2337__B1218_cat_P01_S02_1/Pen01_Lft_AP2500_ML160__Site02_Z2337__B1218_cat_P01_S02_1.mda

    at checkExecSyncError (child_process.js:464:13)
    at Object.execSync (child_process.js:504:13)
    at prv_stat_sync (/usr/share/mlpipeline/utils/mlp/mlp-run:242:35)
    at step2 (/usr/share/mlpipeline/utils/mlp/mlp-run:155:12)
    at /usr/share/mlpipeline/utils/mlp/mlp-run:69:4
    at /usr/share/mlpipeline/web/mlpipeline/kuleleclient.js:322:4
    at /usr/share/mlpipeline/processing_server/larinet/larinetserver.js:260:4
    at /usr/share/mlpipeline/processing_server/larinet/larinetserver.js:544:5
    at ChildProcess.<anonymous> (/usr/share/mlpipeline/processing_server/larinet/larinetserver.js:713:3)
    at emitTwo (events.js:87:13)

I've generated the mda file using this python script that I wrote to convert raw.kwd files to your mda format:
https://github.com/gentnerlab/klusta-pipeline/blob/master/klusta_pipeline/kwd2mda.py

I haven't wrapped my head around the whole mountainlab pipeline yet.
Any pointers on where to look?

excessive disk usage

Hello, I'm sorting a 7.9GB file w/ 120 channels and noticed that /tmp/mountainlab uses more than 200GB. Also, it left behind >30GB of data after finishing.

Changing tmp directory

Hey all,

I'm currently testing out mountainsort on some larger datasets and am having trouble figuring out where to specify my tmp directory. It defaults to '/tmp/mountainlab/prvbucket'.

Thanks!

Error when using "detect_sign":0

Hi,

Thanks for making Mountainsort available to the community - we have just started testing it in our lab and it looks very promising! I wanted to report a small problem that I recently experienced: I get an error (see below) during the clustering step when I set "detect_sign" in my param.json to 0 (detect both upward and downward going spikes). When I set it to -1 (detect only downward going spikes), it runs fine with no errors. Any idea what the problem might be? The data is a silicon probe recording from a brain area where we previously found units with upward going spikes (based on other spike sorting algorithms like KiloSort), which is why we would like to detect both kinds of spikes. It is possible that the particular data set that I'm using contains no upward going spikes, but I'm not sure why that would cause an error rather than just return no cluster with upward gong average spike waveform.

Kyu


|mountainsortalg.ms3| Sorting reduced clips 8x10x504717
|mountainsortalg.ms3| Sorted 384922 clips and found 2 clusters
|mountainsortalg.ms3| Sorted 522986 clips and found 3 clusters
|mountainsortalg.ms3| Consolidate. Keeping 384922 of 384922 events
|mountainsortalg.ms3| Dimension reduce clips 9x50x758340
|mountainsortalg.ms3| Dimension reduce clips 8x50x572311
|mountainsortalg.ms3| Dimension reduce clips 9x50x667471
|mountainsortalg.ms3| Consolidate. Keeping 456127 of 522986 events
|mountainsortalg.ms3| Sorting reduced clips 8x10x572311
|mountainsortalg.ms3| Sorted 504717 clips and found 2 clusters
|mountainsortalg.ms3| Sorting reduced clips 9x10x758340
|mountainsortalg.ms3| Sorting reduced clips 9x10x667471
|mountainsortalg.ms3| "Problem in isosplit5 while processing clips from: "
|mountainsortalg.ms3| "For debug purposes, writing clips to /tmp/debug_isosplit5_clips.mda and features to /tmp/debug_isosplit5_features.mda but note that the features are for a subset of the clips."
|mountainsortalg.ms3| Consolidate. Keeping 504717 of 504717 events
|mountainsortalg.ms3| Isosplit5 returned with an error. See above for debug information. Aborting
|mountainsortalg.ms3| DEBUG: iii[0]=0: -6.55998e-05 -3.6653e-05 2.31839e-05 -2.31814e-05 -7.46553e-06 1.97026e-05 2.8348e-05 -4.99605e-05 -4.11549e-05 3.02528e-05
|mountainsortalg.ms3| DEBUG: iii[1]=1: -6.55998e-05 -3.6653e-05 2.31839e-05 -2.31814e-05 -7.46553e-06 1.97026e-05 2.8348e-05 -4.99605e-05 -4.11549e-05 3.02528e-05
|mountainsortalg.ms3| DEBUG: iii[2]=2: 4.14992 -1.06447 1.68677 0.275393 -0.372508 0.778616 1.51219 -1.247 1.18937 -1.53657
|mountainsortalg.ms3| Unexpected problem. New parcel has no points -- perhaps dataset contains duplicate points? -- original size = 17556.
|mountainsortalg.ms3| 2018-01-15:21-58-34-685 mproc.main warning
|mountainsortalg.ms3| 2018-01-15:21-58-34-916 mproc.main warning Process returned with non-zero exit code (6): mountainsortalg.ms3 (Elapsed: 1094.14 sec)
|mountainsortalg.ms3| making prv file: /hdd/tmp/mountainlab/prvbucket/_mountainprocess/output_console_out_e757cf8ffd.prv
Process error:
Process error:
Error in job (processor: mountainsortalg.ms3): Process error:
Could not find input in running or pending jobs: firings_original_out
Error: Error in job (processor: mountainsortalg.ms3): Process error:
Error: Error in job (processor: mountainsortalg.ms3): Process error:
Stopped
Stopped

Error code 9 in mountainsortalg.ms3

When running, mountainsortalg.ms3 processes ~9% of the data and returns with error code 9 and no error message. Anything I can do to debug this more? I am trying to process 96 channels over an hour of recording, a ~20 GB file.

Problem in TextFile::write

I am on ubuntu 16.04 and just followed the instructions at https://mountainsort.readthedocs.io/en/latest/. I get the following error:

~/lib$ mp-list-processors
Warning: Problem in TextFile::write. Could not remove file even though it exists "/tmp/mountainlab/expiration_records/590878fec4678f4c9e015e3c5d883fc6014898dd.json"
Warning: Problem in TextFile::write. Could not remove file even though it exists "/tmp/mountainlab/expiration_records/590878fec4678f4c9e015e3c5d883fc6014898dd.json"
Warning: Problem in TextFile -- unable to write file:  "/tmp/mountainlab/expiration_records/590878fec4678f4c9e015e3c5d883fc6014898dd.json"
Warning: Problem in TextFile::write. Could not remove file even though it exists "/tmp/mountainlab/expiration_records/329483bb0aaad2a62b749a1f8f19c7a9322b26fd.json"
Warning: Problem in TextFile::write. Could not remove file even though it exists "/tmp/mountainlab/expiration_records/329483bb0aaad2a62b749a1f8f19c7a9322b26fd.json"
Warning: Problem in TextFile -- unable to write file:  "/tmp/mountainlab/expiration_records/329483bb0aaad2a62b749a1f8f19c7a9322b26fd.json"
Warning: Problem in TextFile::write. Could not remove file even though it exists "/tmp/mountainlab/expiration_records/72a73fdc0a2bdc16398bfb63c4fb5a02b8910c2b.json"
Warning: Problem in TextFile::write. Could not remove file even though it exists "/tmp/mountainlab/expiration_records/72a73fdc0a2bdc16398bfb63c4fb5a02b8910c2b.json"
Warning: Problem in TextFile -- unable to write file:  "/tmp/mountainlab/expiration_records/72a73fdc0a2bdc16398bfb63c4fb5a02b8910c2b.json"
Warning: Problem in TextFile::write. Could not remove file even though it exists "/tmp/mountainlab/expiration_records/98f9e6e711e182a2e9c7e47c8b41b5750f776e16.json"
Warning: Problem in TextFile::write. Could not remove file even though it exists "/tmp/mountainlab/expiration_records/98f9e6e711e182a2e9c7e47c8b41b5750f776e16.json"
Warning: Problem in TextFile -- unable to write file:  "/tmp/mountainlab/expiration_records/98f9e6e711e182a2e9c7e47c8b41b5750f776e16.json"
Warning: Problem in TextFile::write. Could not remove file even though it exists "/tmp/mountainlab/expiration_records/ab654a863e0e4acfccf2ba5a2c9bdbea6dc77326.json"
Warning: Problem in TextFile::write. Could not remove file even though it exists "/tmp/mountainlab/expiration_records/ab654a863e0e4acfccf2ba5a2c9bdbea6dc77326.json"
Warning: Problem in TextFile -- unable to write file:  "/tmp/mountainlab/expiration_records/ab654a863e0e4acfccf2ba5a2c9bdbea6dc77326.json"
Warning: Problem in TextFile::write. Could not remove file even though it exists "/tmp/mountainlab/expiration_records/155d055cb7f596c634f9201cf288ddd286c1deec.json"
Warning: Problem in TextFile::write. Could not remove file even though it exists "/tmp/mountainlab/expiration_records/155d055cb7f596c634f9201cf288ddd286c1deec.json"
Warning: Problem in TextFile -- unable to write file:  "/tmp/mountainlab/expiration_records/155d055cb7f596c634f9201cf288ddd286c1deec.json"
banjoview.cross_correlograms
mountainsortalg.ms3
mountainsortalg.ms3alg
ms3.apply_timestamp_offset
ms3.apply_whitening_matrix
ms3.bandpass_filter
ms3.cluster_metrics
ms3.combine_cluster_metrics
ms3.combine_firing_segments
ms3.combine_firings
ms3.compute_amplitudes
ms3.compute_templates
ms3.compute_whitening_matrix
ms3.concat_event_times
ms3.concat_firings
ms3.concat_timeseries
ms3.confusion_matrix
ms3.create_firings
ms3.create_multiscale_timeseries
ms3.extract_clips
ms3.extract_firings
ms3.isolation_metrics
ms3.link_segments
ms3.load_test
ms3.mask_out_artifacts
ms3.mv_compute_amplitudes
ms3.mv_compute_templates
ms3.mv_discrimhist
ms3.mv_extract_clips
ms3.mv_extract_clips_features
ms3.mv_subfirings
ms3.reorder_labels
ms3.run_metrics_script
ms3.split_firings
ms3.whiten
ms3.whiten_clips
pyms.apply_label_map
pyms.compute_accuracies
pyms.compute_templates
pyms.create_label_map
pyms.extract_clips
pyms.extract_geom
pyms.extract_timeseries
pyms.normalize_channels
pyms.synthesize_drifting_timeseries
pyms.synthesize_random_firings
pyms.synthesize_random_waveforms
pyms.synthesize_timeseries
spikeview.metrics1
spikeview.templates

/opt/mountainsort_examples/examples/example1_mlp$ mlp-run mountainsort3.mlp sort --raw=data/raw.mda --geom=data/geom.csv --firings_out=data/firings.mda --_params=params.json
Using pipeline: mountainsort3.mlp
Using data directory: /tmp/mountainlab/prvbucket
Error getting processor spec: Problem writing req to file

I do have Anaconda installed and it is on my path if that helps with debugging. Thanks for your help!

Mountainsort Parameters and Units.

Hi,

Is there documentations for each parameters in the mountainsort sorting algorithm? One that have 1 or 2 lines of description of each parameter and their units. For example, what exactly is frequency width and is there a relationship between clip_size and detect-interval?

Similarly, What are does each parameters do (and what are their units) for the curation algorithm? For some reason, when running curation step, it filter out all spike data including what seems to be good spike data. I think it might be because the parameters for the curation algorithm may not match our lab's data.

Please direct me to the documentations.

Also, can I be added to the slack channel for future questions?

Thank you.

RAM usage

I'm running on mountainsort on Ubuntu 16.04, with 128Gb of RAM and 24 cores. I tried running a ~10hr recording with 32 channels and when I checked on it a few minutes ago, the RAM utilization was at nearly 100%. The last readout:

|mountainsortalg.ms3|            Processed 375.192 MB in 1.491 sec (251.638 MB/sec): Total 46398.7 MB [Read data and add to neighborhood sorters] (46.0434%)...
  |mountainsortalg.ms3|            Processed 125.064 MB in 0.65 sec (192.406 MB/sec): Total 46523.8 MB [Read data and add to neighborhood sorters] (46.1675%)...
  |mountainsortalg.ms3|            Read 500.256 MB in 6.214 sec (80.5047 MB/sec): Total 47024.1 MB [Read data and add to neighborhood sorters]...
  |mountainsortalg.ms3|            Processed 375.192 MB in 58.784 sec (6.38255 MB/sec): Total 46899 MB [Read data and add to neighborhood sorters] (46.5399%)...
  |mountainsortalg.ms3|            Processed 125.064 MB in 1.912 sec (65.41 MB/sec): Total 47024.1 MB [Read data and add to neighborhood sorters] (46.664%)...

The params:

PARAMS: detect_threshold=3 detect_sign=-1 adjacency_radius=1 consolidate_clusters=true consolidation_factor=0.9 clip_size=50 detect_interval=10 merge_across_channels=true fit_stage=true t1=0 t2=-1
I've had some good sorts up to ~2 hours for 32 channel recordings. Any suggestions on how to sort bigger datasets?

pipeline .mlp format

Is there a more complete description somewhere of the format that a pipeline file should take?

What can the "jobs" field contain?
What can the "script" be? What is the script in mountainsort3.mlp (sort pipeline) written in?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.