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
Hashes for element-calcium-imaging-0.4.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 44ac23a6d5ef4d4213023ed8e2404499440b43a4f8d40f429266e879e3fed4be |
|
MD5 | 9cdcf867a031307a839884d35b9955f9 |
|
BLAKE2b-256 | ba4a2f100c22f0a6499c40757223e42125b2e34fd2cedeef2eeee0d216ae6906 |
Hashes for element_calcium_imaging-0.4.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e843ac52514e6dccff11226f3e3b199746edcaf469b538ae0fb8102b6169fd84 |
|
MD5 | aec18b61a4a88fa25856c46b8aefb588 |
|
BLAKE2b-256 | 0ac2e5178f8a63f72394ce3947e83fd28641d86bd0994350252832fe4e23d4b3 |