Skip to content

Commit 8d57394

Browse files
Update readme first release (#7)
* Update README before first release * Remove image and link to Python toolbox * Add more information on how to use livescripts for tiny inference examples * Add information about required download steps * Put information about required files in tables * Update readme after review --------- Co-authored-by: Joris <[email protected]>
1 parent de30492 commit 8d57394

File tree

2 files changed

+21
-47
lines changed

2 files changed

+21
-47
lines changed

README.md

Lines changed: 21 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,32 @@
11
# DeepInterpolation with MATLAB
2-
DeepInterpolation with MATLAB is a MATLAB implementation of the DeepInterpolation general-purpose algorithm used to denoise data by removing independent noise. Importantly training does NOT require ground truth. This repository is currently meant to provide livescripts to illustrate the training and inference pipelines.
2+
A MATLAB implementation of the DeepInterpolation principle
3+
### About DeepInterpolation
4+
DeepInterpolation is a general-purpose algorithm used to denoise data by removing independent noise. The Allen Institute developed the principle and created a [reference implementation in Python](https://github.com/AllenInstitute/deepinterpolation).
5+
The principle of DeepInterpolation has been [published](https://www.nature.com/articles/s41592-021-01285-2) in the Nature Methods journal, with applications to systems neuroscience data.
36

4-
The associated bioRxiv publication can be accessed from here: https://www.biorxiv.org/content/10.1101/2020.10.15.341602v1
7+
### Getting started
8+
Get started with one of the example inference workflows. You can individually view (:eyes:) or run (:arrow_forward:) these examples on MATLAB Online:
59

6-
# Principle of DeepInterpolation
7-
![principle](https://user-images.githubusercontent.com/83267915/203020071-53836bfe-5303-4587-ad1c-87595af08689.png)
10+
| Nickname| Trained Model| Sample data | View | Run
11+
| --- | --- | --- | --- | --- |
12+
| "Ephys" (electrophysiology) | [model](sample_data\2020_02_29_15_28_unet_single_ephys_1024_mean_squared_error-1050.h5) | [sample data](sample_data\ephys_tiny_continuous.dat2) | [:eyes:](examples\tiny_ephys_inference.mlx) | :arrow_forward:
13+
| "Ophys" (optical physiology) | [model](https://www.dropbox.com/sh/vwxf1uq2j60uj9o/AAC0sZWahCJFBRARoYsw8Nnra/2019_09_11_23_32_unet_single_1024_mean_absolute_error_Ai93-0450.h5?dl=0) (Dropbox, 120 MB) | [sample data](examples\tiny_ophys_inference.mlx) | [:eyes:](examples\tiny_ephys_inference.mlx) | :arrow_forward:
814

9-
Figure 1 - Schematic introducing the principles of DeepInterpolation. A. An interpolation model is trained to predict a noisy block from other blocks with independent noise. The loss is the difference between the predicted data and a new noisy block. B. The interpolation model is used to create a noiseless version of the input data. (Lecoq et al., 2020)
1015

11-
# Example training
16+
#### Requirements
17+
* [Deep Learning Toolbox Converter for TensorFlow Models](https://nl.mathworks.com/matlabcentral/fileexchange/64649-deep-learning-toolbox-converter-for-tensorflow-models) support package.
1218

13-
To try out training your own DeepInterpolation network, we recommend to start with:
14-
* [tiny_ephys_training.mlx](https://github.com/INCF/DeepInterpolation-MATLAB/blob/main/examples/tiny_ephys_training.mlx) for ephys data from a Neuropixels probe
15-
* [ophys_training_inference.mlx](https://github.com/INCF/DeepInterpolation-MATLAB/blob/main/examples/ophys_training_inference.mlx) for 2-photon ophys data
19+
### Going Further
1620

17-
# Example Inference
21+
#### Training examples
22+
Try out training your own DeepInterpolation network. You can individually view (:eyes:) or run (:arrow_forward:) these examples on MATLAB Online:
1823

19-
To try out inference with your own DeepInterpolation network, we recommend to start with:
20-
* [tiny_ephys_inference.mlx](https://github.com/INCF/DeepInterpolation-MATLAB/blob/main/examples/tiny_ephys_inference.mlx) for ephys data from a Neuropixels probe
21-
* [tiny_ophys_inference.mlx](https://github.com/INCF/DeepInterpolation-MATLAB/blob/main/examples/tiny_ophys_inference.mlx) for 2-photon ophys data
24+
| Nickname | Model | Dataset | View | Run
25+
|---|---|---|---|---|
26+
| "Ephys" (electrophysiology) | [model](sample_data\2020_02_29_15_28_unet_single_ephys_1024_mean_squared_error-1050.h5) | [dataset](sample_data\ephys_tiny_continuous.dat2) | [:eyes:](examples\tiny_ephys_training.mlx) | :arrow_forward: |
27+
| "Ophys" (optical physiology) | [model](sample_data\2021_07_31_09_49_38_095550_unet_1024_search_mean_squared_error_pre_30_post_30_feat_32_power_1_depth_4_unet_True-0125-0.5732.h5) | [dataset](http://allen-brain-observatory.s3.amazonaws.com/visual-coding-2p/ophys_movies/ophys_experiment_501254258.h5) (AWS, 52 GB) | [:eyes:](examples\ophys_training_inference.mlx) | :arrow_forward: |
2228

23-
Raw pre-trained models are available as separate h5 files on Dropbox.
24-
25-
Neuropixel DeepInterpolation network:
26-
27-
Key recording parameters:
28-
29-
Neuropixels Phase 3a probes
30-
* 374 simultaneous recording sites across 3.84 mm, 10 reference channels
31-
* Four-column checkerboard site layout with 20 µm spacing between rows
32-
* 30 kHz sampling rate
33-
* 500x hardware gain setting
34-
* 500 Hz high pass filter in hardware, 150 Hz high-pass filter applied offline.
35-
* Pre-processing: Median subtraction was applied to individual probes to remove signals that were common across all recording sites. Each probe recording was mean-centered and normalized with a single pair of value for all nodes on the probe.
36-
* Docker hub id : 245412653747/deep_interpolation:allen_neuropixel
37-
* Dropxbox link : https://www.dropbox.com/sh/tm3epzil44ybalq/AACyKxfvvA2T_Lq_rnpHnhFma?dl=0
38-
39-
Two-photon Ai93 excitatory line DeepInterpolation network:
40-
41-
Key recording parameters:
42-
43-
* 30Hz sampling rate, 400x400 μm2 field of view, 512x512 pixels.
44-
* 0.8 NA objective.
45-
* 910 nm excitation wavelength.
46-
* Gcamp6f calcium indicator.
47-
* Ai93 reporter line expressed in excitatory neurons.
48-
* Docker hub id : 245412653747/deep_interpolation:allen_400um_512pix_30hz_ai93
49-
* Dropbox link : https://www.dropbox.com/sh/vwxf1uq2j60uj9o/AAC9BQI1bdfmAL3OFO0lmVb1a?dl=0
50-
* Training data : https://github.com/AllenInstitute/deepinterpolation/blob/master/examples/paper_generation_code/json_data/2019-09-05-train-very-large-single-plane-Ai93-norm.json
51-
52-
53-
NB for Linux users: If a Live Script demo finishes its run without any output or error, please consider running the corresponding *.m file for debugging the error. If the error is related to a bug in DeepInterpolation-MATLAB and you have a solution please submit a pull request, else please raise an issue stating the error message along with OS and MATLAB version details.
5429

5530

31+
### Support
32+
DeepInterpolation with MATLAB is a public repository. Contributions can be made in the form of adding issues or submitting pull requests.

examples/ReadMe.md

Lines changed: 0 additions & 3 deletions
This file was deleted.

0 commit comments

Comments
 (0)