Loading...

Technologies & Tools

We've carefully selected and standardized on these tools across our courses. Each represents what we consider best practice for researchers working with data and code.

Our Technology Stack

Browse by category to discover the tools we teach and recommend for real-world research work.

Advanced Data Analysis & Machine Learning

xarray

Essential

N-dimensional labeled arrays and datasets for scientific data analysis

Use cases:
  • Multi-dimensional electrophysiology data analysis
  • Time-series data with multiple channels

scikit-image

Essential

Image processing library for Python providing algorithms for segmentation, filtering, and analysis

Use cases:
  • Cell segmentation in calcium imaging
  • Image filtering and enhancement

scikit-learn

Intermediate

Machine learning library for Python with tools for classification, regression, clustering, and dimensionality reduction

Use cases:
  • PCA for dimensionality reduction
  • Clustering neural responses

Pingouin

Intermediate

Statistical package for Python focused on ease of use and readable output for common statistical tests

Use cases:
  • T-tests and ANOVA analyses
  • Correlation and regression analysis

PyTorch

Advanced

Deep learning framework with dynamic computation graphs and GPU acceleration

Use cases:
  • Build and train neural network models
  • Develop recurrent and convolutional networks for neural data

Core Scientific Python Stack

NumPy

Essential

The fundamental package for scientific computing with Python

Use cases:
  • Organize and analyze numerical data efficiently
  • Perform mathematical operations on large datasets

Pandas

Essential

Powerful data analysis and manipulation library for Python

Use cases:
  • Organize experimental data in tables with labeled rows and columns
  • Clean and preprocess datasets (handle missing values, filter, transform)

Matplotlib

Essential

Comprehensive library for creating static, animated, and interactive visualizations

Use cases:
  • Create publication-quality figures for papers
  • Visualize neural signals (spike rasters, LFPs, calcium traces)

SciPy

Essential

Scientific computing library providing optimization, signal processing, and statistical functions

Use cases:
  • Filter and process neural signals (LFPs, spike trains)
  • Perform Fourier analysis and spectrograms

Developer Tools & Best Practices

Visual Studio Code

Essential

Modern, extensible code editor with excellent Python support

Use cases:
  • Write and edit Python scripts
  • Work with Jupyter notebooks

Git

Essential

Distributed version control system for tracking changes in source code

Use cases:
  • Track changes in analysis scripts and code
  • Collaborate with team members on shared projects

Jupyter Notebooks

Essential

Interactive computing environment combining code, visualizations, and narrative text

Use cases:
  • Exploratory data analysis and prototyping
  • Document analysis workflows with code and explanations

mypy

Intermediate

Static type checker for Python to catch errors before runtime

Use cases:
  • Catch type errors in analysis pipelines
  • Document function interfaces with type hints

pytest

Essential

Python testing framework for writing simple and scalable test cases

Use cases:
  • Test analysis pipelines and data processing
  • Validate statistical functions and algorithms

Experimental Control & Hardware Integration

Wokwi

Beginner

Online Arduino and ESP32 simulator for learning and prototyping without physical hardware

Use cases:
  • Learning Arduino programming
  • Prototyping circuits without hardware

Arduino

Beginner

Open-source electronics platform for building interactive projects with microcontrollers

Use cases:
  • Experimental trigger generation
  • Behavioral task controllers

Interactive Visualization & Exploration

DearPyGui

Advanced

GPU-accelerated Python GUI framework for high-performance interactive applications

Use cases:
  • Real-time data visualization and monitoring
  • Interactive signal processing applications

hvPlot

Intermediate

High-level plotting API providing interactive visualizations for pandas, xarray, and other data structures

Use cases:
  • Interactive exploratory data analysis
  • Quick visualization of pandas DataFrames

Streamlit

Intermediate

Framework for building interactive data applications in pure Python

Use cases:
  • Create interactive dashboards for data exploration
  • Build parameter tuning interfaces for models

Panel

Intermediate

Python library for creating interactive dashboards and applications from Python objects

Use cases:
  • Creating interactive data exploration dashboards
  • Building parameter exploration tools

Seaborn

Intermediate

Statistical data visualization library built on Matplotlib

Use cases:
  • Visualize distributions and statistical relationships
  • Create publication-ready figures with minimal code

Neuroscience-Specific Analysis Tools

tifffile

Essential

Python library for reading and writing TIFF files, including OME-TIFF microscopy images

Use cases:
  • Loading calcium imaging time series
  • Reading multi-channel microscopy data

Suite2p

Advanced

Fast, accurate, and automated pipeline for processing two-photon calcium imaging data

Use cases:
  • Automated ROI detection in two-photon data
  • Motion correction of calcium imaging recordings

Napari

Intermediate

Multi-dimensional image viewer for Python with interactive visualization and annotation capabilities

Use cases:
  • Interactive exploration of image stacks
  • Manual ROI selection and annotation

Elephant

Intermediate

Electrophysiology analysis toolkit for spike train analysis, LFP processing, and neural data statistics

Use cases:
  • Spike train analysis (ISI, firing rates, CV2)
  • Spike-field coherence analysis

Neo

Intermediate

Python package for working with electrophysiology data, providing common data structures and I/O for various formats

Use cases:
  • Loading data from various recording systems
  • Organizing spike trains and continuous signals

SpikeInterface

Advanced

Unified framework for spike sorting and electrophysiology analysis integrating multiple spike sorters

Use cases:
  • Spike sorting of Neuropixels data
  • Comparing multiple spike sorting algorithms

ProbeInterface

Intermediate

Python package for handling probe layouts and channel configurations in electrophysiology

Use cases:
  • Defining Neuropixels probe layouts
  • Visualizing electrode positions

MNE-Python

Advanced

Open-source Python package for exploring, visualizing, and analyzing MEG and EEG data

Use cases:
  • Process raw EEG/MEG recordings to clean, analyzed data
  • Perform time-frequency analysis and connectivity studies

CaImAn

Advanced

Computational toolbox for calcium imaging data analysis

Use cases:
  • Correct motion artifacts in calcium imaging movies
  • Automatically detect and extract ROIs (neurons)

PsychoPy

Advanced

Open-source software for creating psychology and neuroscience experiments

Use cases:
  • Create behavioral experiments with precise timing
  • Present visual and auditory stimuli

Open Science & Data Sharing

GitHub

Essential

Web-based platform for hosting and collaborating on Git repositories

Use cases:
  • Host and share research code publicly
  • Collaborate with other researchers on code

Sciebo

Essential

Secure cloud storage for research data in German universities

Use cases:
  • Store research data securely and compliantly
  • Share large files with collaborators

Version control platform for research data

Use cases:
  • Version control for large research datasets
  • Share neuroscience data with collaborators

Open Science Framework

Intermediate

Platform for open and reproducible research project management

Use cases:
  • Preregister studies before data collection
  • Share research data and materials openly

HDF5

Intermediate

Hierarchical Data Format for storing large scientific datasets

Use cases:
  • Store multi-channel electrophysiology recordings
  • Organize calcium imaging time series with metadata

NetCDF

Intermediate

Network Common Data Form for array-oriented scientific data

Use cases:
  • Store time-series data with spatial dimensions
  • Multi-dimensional experimental recordings

NWB

Intermediate

Standardized format for neuroscience data sharing and archival

Use cases:
  • Multi-modal neuroscience experiments
  • Data sharing via DANDI Archive

ownCloud

Essential

Open-source file sync and share platform, used via Sciebo at German universities

Use cases:
  • Downloading shared datasets from Sciebo
  • Automating data synchronization

fsspec

Intermediate

Unified filesystem interface for Python providing consistent API across local and remote storage

Use cases:
  • Accessing remote datasets without downloading
  • Working with GitHub repositories as filesystems

CSV

Essential

Plain text file format for tabular data using commas to separate values

Use cases:
  • Storing experimental data and results
  • Sharing datasets with collaborators

JSON

Essential

Lightweight text-based format for storing and exchanging structured data with nested hierarchies

Use cases:
  • Configuration files and settings
  • API data exchange

Parquet

Intermediate

Columnar storage file format optimized for analytics and large datasets

Use cases:
  • Storing large neuroscience datasets
  • Efficient analytical queries

DuckDB

Intermediate

In-process SQL database designed for analytical queries

Use cases:
  • Query large CSV, JSON, and Parquet files with SQL
  • Build relational databases without server management

Research Infrastructure & Reproducibility

Video conferencing platform for online workshops

Use cases:
  • Attend online course sessions
  • Participate in breakout room exercises

Conda (Miniforge)

Essential

Package and environment manager for Python and scientific software

Use cases:
  • Install complex scientific packages (NumPy, SciPy, pandas)
  • Create isolated environments for different projects

Pixi

Intermediate

Modern, fast package manager built on conda-forge

Use cases:
  • Fast package installation for Python projects
  • Manage project dependencies with lock files

Hugo

Intermediate

Fast static site generator for building documentation and research websites

Use cases:
  • Create lab and research group websites
  • Build project documentation sites

Snakemake

Advanced

Python-based workflow management system for creating reproducible and scalable data analyses

Use cases:
  • Building reproducible analysis pipelines
  • Managing complex multi-step workflows

Pydoit

Intermediate

Python task automation tool for defining and executing task dependencies

Use cases:
  • Automating data analysis workflows
  • Task dependency management

Papermill

Intermediate

Tool for parameterizing and executing Jupyter notebooks programmatically

Use cases:
  • Batch processing multiple subjects
  • Parameterized analysis workflows
Top