Calcium Imaging DataJoint element
Project description
DataJoint Element - Functional Calcium Imaging
-
This repository features DataJoint pipeline design for functional Calcium imaging with
ScanImage
,Scanbox
, orNikon NIS
acquisition system andSuite2p
orCaImAn
suites for analysis. -
The element presented here is not a complete workflow by itself, but rather a modular design of tables and dependencies specific to the functional Calcium imaging workflow.
-
This modular element can be flexibly attached downstream to any particular design of experiment session, thus assembling a fully functional calcium imaging workflow.
-
See the Element Calcium Imaging documentation for the background information and development timeline.
-
For more information on the DataJoint Elements project, please visit https://elements.datajoint.org. This work is supported by the National Institutes of Health.
Element architecture
element-calcium-imaging
is comprised of two schemas, scan
and imaging
. To handle
several use cases of this pipeline, we have designed several imaging
schemas,
including imaging
, imaging_no_curation
, and imaging_preprocess
.
-
imaging
- Multiple scans are acquired during each session and each scan is processed independently. -
imaging_preprocess
- Multiple scans are acquired during each session and each scan is processed independently. And pre-processing steps can be performed on each scan prior to processing with Suite2p or CaImAn.
imaging
module
imaging_preprocess
module
-
As the diagram depicts, the imaging element starts immediately downstream from
Session
, and also requires some notion of:-
Scanner
for equipment/device -
Location
as a dependency forScanLocation
-
Table definitions
Scan
The scan
schema contains information regarding the raw data acquired with ScanImage
or Scanbox.
Click to expand details
-
A
Session
(more specifically an experimental session) may have multiple scans, where each scan describes a complete 4D dataset (i.e. 3D volume over time) from one scanning session, typically from the moment of pressing the start button to pressing the stop button. -
Scan
- table containing information about the equipment used (e.g. the Scanner information) -
ScanInfo
- meta information about this scan, from ScanImage header (e.g. frame rate, number of channels, scanning depths, frames, etc.) -
ScanInfo.Field
- a field is a 2D image at a particular xy-coordinate and plane (scanning depth) within the field-of-view (FOV) of the scan.-
For resonant scanner, a field is usually the 2D image occupying the entire FOV from a certain plane (at some depth).
-
For mesoscope scanner, with much wider FOV, there may be multiple fields on one plane.
-
Preprocessing - Motion Correction
The imaging
schema stores information regarding the motion corrected images.
Click to expand details
-
MotionCorrection
- motion correction information performed on a scan -
MotionCorrection.RigidMotionCorrection
- details of the rigid motion correction (e.g. shifting in x, y) at a perScanInfo.Field
level -
MotionCorrection.NonRigidMotionCorrection
andMotionCorrection.Block
tables are used to describe the non-rigid motion correction performed on eachScanInfo.Field
-
MotionCorrection.Summary
- summary images for eachScanInfo.Field
after motion correction (e.g. average image, correlation image)
Preprocessing - Segmentation
The imaging
schema stores information regarding the segmented masks for each field.
Click to expand details
-
Segmentation
- table specifies the segmentation step and its outputs, following the motion correction step. -
Segmentation.Mask
- image mask for the segmented region of interest from a particularScanInfo.Field
-
MaskClassification
- classification ofSegmentation.Mask
into different type (e.g. soma, axon, dendrite, artifact, etc.)
Neural activity extraction
The imaging
schema stores information regarding the calcium traces for each mask.
Click to expand details
-
Fluorescence
- fluorescence traces extracted from eachSegmentation.Mask
-
ActivityExtractionMethod
- activity extraction method (e.g. deconvolution) to be applied on fluorescence trace -
Activity
- computed neuronal activity trace from fluorescence trace (e.g. spikes)
Installation
-
The installation instructions can be found at the DataJoint Elements documentation.
-
Install
element-calcium-imaging
pip install element-calcium-imaging
-
Upgrade
element-calcium-imaging
previously installed withpip
pip install --upgrade element-calcium-imaging
-
Install
element-interface
-
element-interface
contains data loading utilities forelement-calcium-imaging
. -
element-interface
is a dependency ofelement-calcium-imaging
, however it is not contained withinrequirements.txt
, therefore, must be installed in addition to the installation of theelement-calcium-imaging
. -
element-interface
can also be used to install packages used for reading acquired data (e.g.scanreader
) and running analysis (e.g.CaImAn
). -
If your workflow uses these packages, you should install them when you install
element-interface
.
Click to expand details
-
Install
element-interface
withscanreader
pip install "element-interface[scanreader] @ git+https://github.com/datajoint/element-interface"
-
Install
element-interface
withsbxreader
pip install "element-interface[sbxreader] @ git+https://github.com/datajoint/element-interface"
-
Install
element-interface
withSuite2p
pip install "element-interface[suite2p] @ git+https://github.com/datajoint/element-interface"
-
Install
element-interface
withCaImAn
requires two separate commandspip install "element-interface[caiman_requirements] @ git+https://github.com/datajoint/element-interface" pip install "element-interface[caiman] @ git+https://github.com/datajoint/element-interface"
-
Install
element-interface
with multiple packagespip install "element-interface[caiman_requirements] @ git+https://github.com/datajoint/element-interface" pip install "element-interface[scanreader,sbxreader,suite2p,caiman] @ git+https://github.com/datajoint/element-interface"
-
Element usage
- See workflow-calcium-imaging
repository for an example usage of
element-calcium-imaging
.
Citation
-
If your work uses DataJoint and DataJoint Elements, please cite the respective Research Resource Identifiers (RRIDs) and manuscripts.
-
DataJoint for Python or MATLAB
-
Yatsenko D, Reimer J, Ecker AS, Walker EY, Sinz F, Berens P, Hoenselaar A, Cotton RJ, Siapas AS, Tolias AS. DataJoint: managing big scientific data using MATLAB or Python. bioRxiv. 2015 Jan 1:031658. doi: https://doi.org/10.1101/031658
-
DataJoint (RRID:SCR_014543) - DataJoint for
<Select Python or MATLAB>
(version<Enter version number>
)
-
-
DataJoint Elements
-
Yatsenko D, Nguyen T, Shen S, Gunalan K, Turner CA, Guzman R, Sasaki M, Sitonic D, Reimer J, Walker EY, Tolias AS. DataJoint Elements: Data Workflows for Neurophysiology. bioRxiv. 2021 Jan 1. doi: https://doi.org/10.1101/2021.03.30.437358
-
DataJoint Elements (RRID:SCR_021894) - Element Calcium Imaging (version
<Enter version number>
)
-
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file element-calcium-imaging-0.2.2.tar.gz
.
File metadata
- Download URL: element-calcium-imaging-0.2.2.tar.gz
- Upload date:
- Size: 34.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | eebb7207433f2e2dc7c3fdaa6c53bf373bea51c25ba2cf2ebc7dd1d0cedaece4 |
|
MD5 | 0fd0a2191e05603a27f996652333967b |
|
BLAKE2b-256 | c9b7d02f298e1909dbe2fa121c5db7115ec5673307e73c2e3cae012c99748547 |
File details
Details for the file element_calcium_imaging-0.2.2-py3-none-any.whl
.
File metadata
- Download URL: element_calcium_imaging-0.2.2-py3-none-any.whl
- Upload date:
- Size: 34.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ae98d9c3d367e15024db02f098cb009e4017237586d26805ffe1046c41bbdca7 |
|
MD5 | 4b59f6bfcfb075be6e7310ce5d475fd0 |
|
BLAKE2b-256 | 70ec80b34ab2cbc907bdd601782500e8fea58e13a014a0b0d26b24c0ab36a948 |