Ingest Modalities
This page maps each major modality to its ingest path, staging tables, and downstream worker behavior.
1) Calcium imaging (ScanImage + suite2p)
Inputs
scan folders with TIFF files and ScanImage header metadata
Typical ingest path
Insert/refresh session and scan metadata.
Populate
scan.ScanInfo.Insert
imaging.ProcessingTaskwithparamset_idx.Worker populates:
imaging.Processingimaging.MotionCorrectionimaging.Segmentationimaging.MaskClassificationimaging.Fluorescenceimaging.Activity
Notes
curation tasks can be generated post hoc from processing outputs.
curation_idandparamset_idxmust be tracked carefully in downstream analysis.
2) DLC pose tracking (video)
Inputs
camera videos in session/scan folders
model names in
SHORTHAND;PURPOSE;VIDEOKEYformat
Typical ingest path
Insert
model.VideoRecordingNewand file rows.Insert
model.PoseEstimationTaskNewentries.GPU worker populates:
model.RecordingInfoNewmodel.PoseEstimationNew
Notes
keep model naming strict; this is key for reproducibility.
recommended naming grammar:
SHORTHAND;PURPOSE;VIDEOKEY
Example:
XX;TopTrackingNoScope;top_video*.mp4
use dynamic cropping settings deliberately (project-dependent).
3) Eye tracking and gaze reconstruction
Inputs
eye camera recordings
head/body orientation context (often from mocap/virtual markers)
Typical ingest path
Ingest eye videos / timestamp events.
Insert relevant pose/pupil task rows.
Run pupil tracking and gaze reconstruction workflows.
Common linked schemas
pupil_trackingvirtual_markers_optitrackmocap
4) OptiTrack / mocap
Inputs
Motive exports (for example
.tak,.csvvariants)
Typical ingest path
Insert
mocap.MocapRecordingand file rows.Populate
mocap.MocapRecordingInfo(sometimes ingest-side).Insert
mocap.MotionCaptureTask.Worker populates
mocap.MotionCapture.
Critical permission note
mocap.MotionCapture may write blob-backed outputs.
Manual user populations can fail with filesystem permission errors even when DB SQL privileges exist.
5) BPod synchronization and trial ingest
Inputs
BPod session files / state events
optional aux channels for alignment
Typical ingest path
ingest BPod raw events/states
ingest trial times and event alignment
populate behavior-side derived tables where enabled
Common behavior-side computed calls
behavior.TreadmillRecording.populate(...)behavior.HarpRecording.populate(...)behavior.CamSyncRecording.populate(...)
Event/trial ontology (ADAMACS-specific)
Use the dedicated page:
Infrastructure -> Event/Trial Ontology
It contains:
ADAMACS table mapping for
event.*andtrial.*ASCII timeline
graph visualization
quick validation queries
6) Aux data ingest (HARP, treadmill, camera sync)
Inputs
aux files by setup type
digital channel conventions by setup (
bench2p,openfield,behavior_box, etc.)
Typical ingest path
Determine setup from
scan.ScanInfo.userfunction_info.Call setup-specific ingest parser.
Populate derived behavior recordings.
Notes
setup type normalization is essential for parser routing.
many failures are setup-string mismatch or channel-index mismatch.
7) Denoising and CASCADE tasks
Denoising
insert denoising tasks (as configured)
worker populates
denoising.Denoising
CASCADE
insert
imaging.ActivityCascadeTaskworker activity population writes cascade inference into activity traces
this is generally worker-owned (task-driven), not manual heavy-populate territory for student sessions
Setup-type mapping overview
Common normalized setup values used by ingest logic include:
mini2p1_openfieldmini2p2_openfieldmini2p2_headfixedbench2pbench2p_lineartrackbench2p_oddballbench2p_Oddball_V2behavior_box
Recommended modality onboarding for new students
Start with one calcium imaging session.
Add behavior sync ingest.
Add one DLC model path.
Add mocap session.
Add eye/gaze path.
Move to batch ingest templates.
External docs by modality
Calcium imaging: https://docs.datajoint.com/elements/element-calcium-imaging/latest/, https://suite2p.readthedocs.io/en/latest/parameters/, https://suite2p.readthedocs.io/en/latest/outputs/
DLC pose tracking: https://docs.datajoint.com/elements/element-deeplabcut/latest/, https://deeplabcut.github.io/DeepLabCut/
Event/trial synchronization: https://docs.datajoint.com/elements/element-event/0.2/concepts/, https://docs.datajoint.com/core/datajoint-python/latest/query/operators/
DISK imputation: https://github.com/bozeklab/DISK
CASCADE inference: https://github.com/HelmchenLabSoftware/Cascade
Full index:
Common -> External References