EXTRACT-public
EXTRACT is a tractable and robust automated cell extraction tool for calcium imaging, which extracts the activities of cells as time series from both one-photon and two-photon Ca2+ imaging movies. EXTRACT makes minimal assumptions about the data, which is the main reason behind its high robustness and superior performance.
We show an example output of EXTRACT on a low SNR movie, in the figure on the right donated by Dr. Peng Yuan. Please note that this is the raw output, with no post-processing and/or manual annotation/selection by users. This run is a result of a batch processing of >30 sessions, optimized only once at the beginning of the study, with no extra parameter tweaking particular to this session. EXTRACT needs to be optimized per surgery/imaging modality type (practically once in the life-time of a study). For a trained person (feel free to schedule a tutorial for your lab!), this process usually takes around few minutes.
Use the Add-on Explorer and search for EXTRACT (recommended), or install files from this GitHub repo.
Browse the tutorial examples to quickly gain expertise with EXTRACT. You can view the tutorials 👀 or run▶️ most of the tutorials on MATLAB Online. Or work any of the tutorials on your own computer.
<markdown-accessiblity-table><table class="readme_table"> <thead> <tr> <th class="readme_th">Tutorial</th> <th class="readme_th">View</th> <th class="readme_th">Run</th> </tr> </thead> <tbody> <tr> <td class="readme_td">1 - Starting Code</td> <td class="readme_td"><a href="https://viewer.mathworks.com/?viewer=live_code&url=https%3A%2F%2Fwww.mathworks.com%2Fmatlabcentral%2Fmlc-downloads%2Fdownloads%2F6d2fb9fc-2974-4fac-9eb3-83340b9f5095%2F1721947761%2Ffiles%2FLearning%20materials%2FLecture%20Tutorials%2FTutorial%201%20-%20Starting%20code%2Ftutorial_1.mlx&embed=web" rel="nofollow noopener noreferrer" target="_blank" rel="nofollow noopener noreferrer">👀</a></td> <td class="readme_td"><a href="https://matlab.mathworks.com/open/github/v1?repo=schnitzer-lab/EXTRACT-public&file=Lecture%20Tutorials/Tutorial%201%20-%20Cell%20refinement/tutorial_1.mlx" rel="nofollow noopener noreferrer" target="_blank" rel="nofollow noopener noreferrer"><img src="https://camo.githubusercontent.com/5047ced9e66f50cb2335e23dcd3242f1ae88a35ab5a32a32ef51d0298f784617/68747470733a2f2f7777772e6d617468776f726b732e636f6d2f696d616765732f726573706f6e736976652f676c6f62616c2f6f70656e2d696e2d6d61746c61622d6f6e6c696e652e737667" alt="Open in MATLAB Online" data-canonical-src="https://www.mathworks.com/images/responsive/global/open-in-matlab-online.svg" style="max-width: 100%;"></a></td> </tr> <tr> <td class="readme_td">2 - Parallelization</td> <td class="readme_td"><a href="https://viewer.mathworks.com/?viewer=live_code&url=https%3A%2F%2Fwww.mathworks.com%2Fmatlabcentral%2Fmlc-downloads%2Fdownloads%2F6d2fb9fc-2974-4fac-9eb3-83340b9f5095%2F1721947761%2Ffiles%2FLearning%20materials%2FLecture%20Tutorials%2FTutorial%202%20-%20Parallelization%2Ftutorial_2.mlx&embed=web" rel="nofollow noopener noreferrer" target="_blank" rel="nofollow noopener noreferrer">👀</a></td> <td class="readme_td"><a href="https://matlab.mathworks.com/open/github/v1?repo=schnitzer-lab/EXTRACT-public&file=Lecture%20Tutorials/Tutorial%202%20-%20Cell%20refinement/tutorial_2.mlx" rel="nofollow noopener noreferrer" target="_blank" rel="nofollow noopener noreferrer"><img src="https://camo.githubusercontent.com/5047ced9e66f50cb2335e23dcd3242f1ae88a35ab5a32a32ef51d0298f784617/68747470733a2f2f7777772e6d617468776f726b732e636f6d2f696d616765732f726573706f6e736976652f676c6f62616c2f6f70656e2d696e2d6d61746c61622d6f6e6c696e652e737667" alt="Open in MATLAB Online" data-canonical-src="https://www.mathworks.com/images/responsive/global/open-in-matlab-online.svg" style="max-width: 100%;"></a></td> </tr> <tr> <td class="readme_td">3 - Preprocessing</td> <td class="readme_td"><a href="https://viewer.mathworks.com/?viewer=live_code&url=https%3A%2F%2Fwww.mathworks.com%2Fmatlabcentral%2Fmlc-downloads%2Fdownloads%2F6d2fb9fc-2974-4fac-9eb3-83340b9f5095%2F1721947761%2Ffiles%2FLearning%20materials%2FLecture%20Tutorials%2FTutorial%203%20-%20Preprocessing%2Ftutorial_3.mlx&embed=web" rel="nofollow noopener noreferrer" target="_blank" rel="nofollow noopener noreferrer">👀</a></td> <td class="readme_td"><a href="https://matlab.mathworks.com/open/github/v1?repo=schnitzer-lab/EXTRACT-public&file=Lecture%20Tutorials/Tutorial%203%20-%20Preprocessing/tutorial_3.mlx" rel="nofollow noopener noreferrer" target="_blank" rel="nofollow noopener noreferrer"><img src="https://camo.githubusercontent.com/5047ced9e66f50cb2335e23dcd3242f1ae88a35ab5a32a32ef51d0298f784617/68747470733a2f2f7777772e6d617468776f726b732e636f6d2f696d616765732f726573706f6e736976652f676c6f62616c2f6f70656e2d696e2d6d61746c61622d6f6e6c696e652e737667" alt="Open in MATLAB Online" data-canonical-src="https://www.mathworks.com/images/responsive/global/open-in-matlab-online.svg" style="max-width: 100%;"></a></td> </tr> <tr> <td class="readme_td">4 - Cellfinding</td> <td class="readme_td"><a href="https://viewer.mathworks.com/?viewer=live_code&url=https%3A%2F%2Fwww.mathworks.com%2Fmatlabcentral%2Fmlc-downloads%2Fdownloads%2F6d2fb9fc-2974-4fac-9eb3-83340b9f5095%2F1721947761%2Ffiles%2FLearning%20materials%2FLecture%20Tutorials%2FTutorial%204%20-%20Cellfinding%2Ftutorial_4.mlx&embed=web" rel="nofollow noopener noreferrer" target="_blank" rel="nofollow noopener noreferrer">👀</a></td> <td class="readme_td"><a href="https://matlab.mathworks.com/open/github/v1?repo=schnitzer-lab/EXTRACT-public&file=Lecture%20Tutorials/Tutorial%204%20-%20Cell%20finding/tutorial_4.mlx" rel="nofollow noopener noreferrer" target="_blank" rel="nofollow noopener noreferrer"><img src="https://camo.githubusercontent.com/5047ced9e66f50cb2335e23dcd3242f1ae88a35ab5a32a32ef51d0298f784617/68747470733a2f2f7777772e6d617468776f726b732e636f6d2f696d616765732f726573706f6e736976652f676c6f62616c2f6f70656e2d696e2d6d61746c61622d6f6e6c696e652e737667" alt="Open in MATLAB Online" data-canonical-src="https://www.mathworks.com/images/responsive/global/open-in-matlab-online.svg" style="max-width: 100%;"></a></td> </tr> <tr> <td class="readme_td">5 - Cell refinement</td> <td class="readme_td"><a href="https://viewer.mathworks.com/?viewer=live_code&url=https%3A%2F%2Fwww.mathworks.com%2Fmatlabcentral%2Fmlc-downloads%2Fdownloads%2F6d2fb9fc-2974-4fac-9eb3-83340b9f5095%2F1721947761%2Ffiles%2FLearning%20materials%2FLecture%20Tutorials%2FTutorial%205%20-%20Cell%20refinement%2Ftutorial_5.mlx&embed=web" rel="nofollow noopener noreferrer" target="_blank" rel="nofollow noopener noreferrer">👀</a></td> <td class="readme_td"><a href="https://matlab.mathworks.com/open/github/v1?repo=schnitzer-lab/EXTRACT-public&file=Lecture%20Tutorials/Tutorial%205%20-%20Cell%20refinement/tutorial_5.mlx" rel="nofollow noopener noreferrer" target="_blank" rel="nofollow noopener noreferrer"><img src="https://camo.githubusercontent.com/5047ced9e66f50cb2335e23dcd3242f1ae88a35ab5a32a32ef51d0298f784617/68747470733a2f2f7777772e6d617468776f726b732e636f6d2f696d616765732f726573706f6e736976652f676c6f62616c2f6f70656e2d696e2d6d61746c61622d6f6e6c696e652e737667" alt="Open in MATLAB Online" data-canonical-src="https://www.mathworks.com/images/responsive/global/open-in-matlab-online.svg" style="max-width: 100%;"></a></td> </tr> <tr> <td class="readme_td">6 - Final robust regression</td> <td class="readme_td"><a href="https://viewer.mathworks.com/?viewer=live_code&url=https%3A%2F%2Fwww.mathworks.com%2Fmatlabcentral%2Fmlc-downloads%2Fdownloads%2F6d2fb9fc-2974-4fac-9eb3-83340b9f5095%2F1721947761%2Ffiles%2FLearning%20materials%2FLecture%20Tutorials%2FTutorial%206%20-%20Final%20robust%20regression%2Ftutorial_6.mlx&embed=web" rel="nofollow noopener noreferrer" target="_blank" rel="nofollow noopener noreferrer">👀</a></td> <td class="readme_td"><a href="https://matlab.mathworks.com/open/github/v1?repo=schnitzer-lab/EXTRACT-public&file=Lecture%20Tutorials/Tutorial%206%20-%20Cell%20refinement/tutorial_6.mlx" rel="nofollow noopener noreferrer" target="_blank" rel="nofollow noopener noreferrer"><img src="https://camo.githubusercontent.com/5047ced9e66f50cb2335e23dcd3242f1ae88a35ab5a32a32ef51d0298f784617/68747470733a2f2f7777772e6d617468776f726b732e636f6d2f696d616765732f726573706f6e736976652f676c6f62616c2f6f70656e2d696e2d6d61746c61622d6f6e6c696e652e737667" alt="Open in MATLAB Online" data-canonical-src="https://www.mathworks.com/images/responsive/global/open-in-matlab-online.svg" style="max-width: 100%;"></a></td> </tr> </tbody> </table></markdown-accessiblity-table>Please see the user manual inside the "Learning materials" folder. The user manual has a quick start guide, accompanied with several tutorials. The user manual also has several key insights for increasing the quality of cell extraction.
You can watch our 10-minute video about EXTRACT:
Thank you for your interest in EXTRACT, a cell extraction routine with native GPU implementation. To receive occasional updates about new releases, to ask questions about EXTRACT usage, or schedule a tutorial session for your lab, please send an email to extractneurons@gmail.com along with your name and institution. (Please be sure to add this email to your contact list so that replies and announcements do not go to your spam folder). Thank you!
EXTRACT code is primarily written by Dr. Hakan Inan and Fatih Dinc in collaboration with many researchers in Schnitzerlab. The database is maintained by the current members of Schnitzerlab. If you have any questions or comments, please open an issue or contact via email extractneurons@gmail.com
.
EXTRACT is described in two accompanying papers: Inan et al., 2021 and Inan et al., 2017. Please cite us if you use EXTRACT in your own work.
Cite As
Inan, Hakan, et al. Fast and Statistically Robust Cell Extraction from Large-Scale Neural Calcium Imaging Datasets. Cold Spring Harbor Laboratory, Mar. 2021, doi:10.1101/2021.03.24.436279.
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
EXTRACT
EXTRACT/main_functions/debug_utils
EXTRACT/main_functions/debug_utils/brewermap
EXTRACT/main_functions/helper_functions
EXTRACT/main_functions/solvers/base solvers for multiple cells
EXTRACT/main_functions/solvers/cell finding solvers
EXTRACT/main_functions/solvers/cell refinement + frr solvers
EXTRACT/modules
EXTRACT/summary functions
External algorithms
External algorithms/Template scripts
External algorithms/parfor_progress
External algorithms/progressbar
External algorithms/simulation_utils
Learning materials/Additional demos/NWB Demos
Learning materials/Additional demos/Neurofinder_training_0200
Learning materials/Additional demos/SVD-denoising for low SNR movies
Learning materials/Additional demos/Simulating movies
Learning materials/Lecture Tutorials/Tutorial 1 - Starting code
Learning materials/Lecture Tutorials/Tutorial 2 - Parallelization
Learning materials/Lecture Tutorials/Tutorial 3 - Preprocessing
Learning materials/Lecture Tutorials/Tutorial 4 - Cellfinding
Learning materials/Lecture Tutorials/Tutorial 5 - Cell refinement
Learning materials/Lecture Tutorials/Tutorial 6 - Final robust regression
Learning materials/Lecture Tutorials/Tutorial 1 - Starting code
Learning materials/Lecture Tutorials/Tutorial 2 - Parallelization
Learning materials/Lecture Tutorials/Tutorial 3 - Preprocessing
Learning materials/Lecture Tutorials/Tutorial 4 - Cellfinding
Learning materials/Lecture Tutorials/Tutorial 5 - Cell refinement
Learning materials/Lecture Tutorials/Tutorial 6 - Final robust regression
Versions that use the GitHub default branch cannot be downloaded
Version | Published | Release Notes | |
---|---|---|---|
1.0.0 | See Github page |
|
|
0.7.3 | Proper citation added |
|
|
0.7.2 |
|