Opening a discussion for how to format both the input data and the results / submissions.
According to @philippberens the raw data will be both calcium fluorescence and spike rates both sampled to 100 Hz.
formatting the raw data
The raw data are basically just time series, continuous valued (for fluorescence) and possibly sparse (for spike rates). The key thing here is that the format is generic and easy to load in multiple environments. I kinda prefer csv files for simplicity, so long as they don't get too large. Then, for each dataset, we provide either a single csv file or two csv files, depending on whether it's training or testing. And we include example scripts in this repo to load in Python, Matlab, and any other language.
training / testing
How many datasets / neurons do we have? If it's less than 10-20, it might be easiest to just treat each neuron as a separate "dataset", and pair them up so we have e.g. 00.00 and 00.00.test, then 00.01, 01.00, etc, where the first number is the source lab and the second number is the neuron.
formatting the results
Using JSON here is useful because it can easily be read/write in multiple environments (for comparison to ground truth), and is easily handled for web submissions. It's been successful so far in neurofinder for representing spatial regions.
The results are likely to be sparse in time, so one option would be a structure like this
[
{
"dataset": "00.00.test",
"time": [0, 10, 14, 100, ...],
"rate": [1, 2, 1, 1.5, ...]
},
...
]
For each dataset we basically have a sparse array, where you're storing the times of all detected events, and the corresponding numerical value. For algorithms that return binary events, we could assume that if no rate is specified all values are 1.
Opening a discussion for how to format both the input data and the results / submissions.
According to @philippberens the raw data will be both calcium fluorescence and spike rates both sampled to 100 Hz.
formatting the raw data
The raw data are basically just time series, continuous valued (for fluorescence) and possibly sparse (for spike rates). The key thing here is that the format is generic and easy to load in multiple environments. I kinda prefer
csvfiles for simplicity, so long as they don't get too large. Then, for each dataset, we provide either a singlecsvfile or twocsvfiles, depending on whether it's training or testing. And we include example scripts in this repo to load in Python, Matlab, and any other language.training / testing
How many datasets / neurons do we have? If it's less than 10-20, it might be easiest to just treat each neuron as a separate "dataset", and pair them up so we have e.g.
00.00and00.00.test, then00.01,01.00, etc, where the first number is the source lab and the second number is the neuron.formatting the results
Using JSON here is useful because it can easily be read/write in multiple environments (for comparison to ground truth), and is easily handled for web submissions. It's been successful so far in neurofinder for representing spatial regions.
The results are likely to be sparse in time, so one option would be a structure like this
For each dataset we basically have a sparse array, where you're storing the times of all detected events, and the corresponding numerical value. For algorithms that return binary events, we could assume that if no
rateis specified all values are 1.