I decided to make a list of useful Python-based resources that some amazing fellow scientists and programmers have made available to the neuroscience community! This is by no means meant to be an exhaustive list, and is heavily biased towards neuroscientists using rodent models! Great lists for neuroscientists using other techniques like EEG, fMRI, MEG can be found here & here
Last updated 23th Nov 2023
Anatomy & Microscopy
brainreg
— Atlas registration and segmentationbrainrender
— Visualize neuro-anatomical data in 3dTRACER
— Toolkit for Reconstructing Anatomical CoordinatEs in RatsTRAILMAP
— Extract axonal data from cleared brainscellfinder
— Suite for cell detection, registration (using brainreg), analysis of cell positionsbg-atlasapi
— Interface with anatomical atlassesHERBS
— Histological E-data Registration in rodent Brain Spacesmouse_connectivity_models
— voxel-scale connectivity models with anatomical tracing datacellpose
— Cell and nucleus segmentationMorphometricAnalysis
— Sholl Analysis and Morphometric Analysis for Neuronsneuron_morphology
— Working with single-neuron morphological reconstruction data, such as those in Allen Cell Types DatabaseBarDensr
— BARcode DEmixing through Non-negative Spatial Regression for spatial transcriptomic data
Extracellular Single Unit Electrophysiology
phy
— Visualization and manual curation of large-scale electrophysiological dataYASS
— Yet Another Spike Sorterelephant
— Analysis suite for spike train data and time series recordingsspikeinterface
— Create flexible and robust spike sorting pipelinesspykes
— Analysis and visualization suite for spike dataspiketools
— Analysis suite for spike dataneuropyxels
— Various utilities for Neuropixels data from SpikeGLX & outputs from KiloSort & Phy
Local Field Potentials
ripple_detection
— Find sharp-wave ripple events (150Hz-250Hz)spectral_connectivity
— Computes frequency-domain brain connectivity measures
Patch Electrophysiology
stimfit
— Various utilities for analysis of patch electrophysiological data
2P Ca2+ Imaging
suite2p
— Ca2+ imaging analysis pipeline: Registration & Motion Correction, Cell detection, Signal Extraction, Spike deconvolutionCaImAn
— Ca2+ imaging analysis pipeline: Registration & Motion Correction, Cell detection, Signal Extraction, Spike deconvolutionSIMA
— Ca2+ imaging analysis pipeline: Registration & Motion Correction, Cell detection, Signal ExtractionCascade
— Calibrated spike inference from calcium imaging datafissa
— Fast Image Signal Separation Analysis, decontaminate somatic signals
Widefield Ca2+ Imaging
LocaNMF
— Decompose widefield imaging data to obtain localized functional regionsMesoNet
—Automated registration and segmentation of mesoscale mouse brain images
Fiber Photometry
GuPPy
— Guided Photometry Analysis in PythonpyPhotometry
— fiber photometry data acquisition (requires hardware)
Decoding / Machine Learning Applications
neural_decoding
— Suite of regression and classification-based neural decoding toolsneuroglia
— Machine learning library for neurophysiology datareplay_trajectory_classification
— Decode spatial position represented by neural activity and categorizing the type of trajectory
Dimensionality Reduction / State Space Models
tensortools
— Tensor Component Analysis (TCA; canonical polyadic (CP) tensor decompositions of higher-order data arrays)neuralflow
— Model neural activity with continuous latent Langevin dynamics.LFADS
— Latent Factor Analysis via Dynamical Systems to infer latent dynamics from single-trial neural spiking datassm
— Suite for various state space modelsdrcme
— dimensionality reduction and clustering of morphological and electrophysiological data
Behavior: Pose Estimation / Classification / Movement Analysis
DeepLabCut
— 2D & 3D pose estimation & tracking (+ multi-animal)sleap
— Pose estimation & tracking (+ multi-animal)anipose
— multi-camera 3D tracking & pose estimation with DLCDeepPoseKit
— 2D Pose estimationDeepGraphPose
— Pose estimationfacemap
— Unsupervised video analysis of rodent behavior (+ multiple camera views)DeepEthogram
—Supervised behavioral classification from raw pixelsSimBA
— Pose estimation & behavior classificationB-SOiD
— Behavior classificationVAME
— Unsupervised behavior clusteringPyRat
— Behavior analysis from DLC output
Behavior: Ultrasonic Vocalizations
AMVOC
— Analyze mouse vocal communication through analyzing audio recordings from mouse communication signals (online & offline)MSA2
— Offline detection of USVs
Other Physiological Signal Analysis Tools
deepinterpolation
— deep learning-based denoising of various data types (calcium imaging, electrophysiology, fMRI)stumpy
— time series data mining (eg. pattern discovery, motifs, segmentation)neurokit
—Advanced biosignal processing routines for various types of signals (ECG, EOG, RRV, etc)affinewarp
— Piecewise Linear Time Warpingnetneurotools
— Tools for network neuroscienced_code
— Various ephys & imaging analysis routines especially for ScanImage and Ehpus datapynapple
— Various neurophysiological data analyses for time series, trial-based analyses + generic functions for neuroscience such as tuning curves and cross-correlograms.
Cognitive Neuroscience Analysis
Experimental Design
psychopy
— Create behavioral paradigms and psychophysical experimentsexpyriment
— Create behavioral paradigms and psychophysical experimentspyControl
— System of open source hardware & software for controlling behavioural experiments, built around the Micropython microcontroller.autopilot
— Facilitates hardware-intensive behavioral experiments with swarms of networked Raspberry PisDeepLabStream
— Real-time tracking to orchestrate closed-loop experimentspyPhotometry
— fiber photometry data acquisition (requires hardware)
Simulation