Skip to content

Block Reference

SynapChart ships with a built-in library of blocks organised into six categories. Click a category to see every block, its ports, and its parameters.

Category Description
Data I/O Load and save data files — NumPy arrays, CSV, and CRCNS HC-11 session files
LFP / EEG Continuous signal processing: bandpass filtering, phase extraction, PSD, oscillation detection, and channel selection
Spikes Spike train analysis: binning, rate maps, tuning curves, place field detection, phase precession, and Bayesian decoding
Visualization Matplotlib-based plots: rasters, PSDs, tuning curves, phase precession scatters, decoded posteriors, and theta sequence heatmaps
Custom Blocks User-defined blocks generated by the block wizard or written directly in Python
Flow Control Batch execution drivers and utilities: dataset iterator, result collector, and string constant

Port types

Blocks communicate through typed ports. A port type has two parts: a structure (a numpy array, scalar, or string — general, not neuroscience-only) and an optional role labelling what the data means. Structure is enforced; roles are free-form and advisory — a mismatch warns rather than blocks, so new roles can be added in custom blocks or external libraries without touching core. See NeuroData for the full model.

The port types used by the built-in blocks — conventions, not a closed list:

Port type Carries
NeuroData[raw_signal] Generic continuous signal (samples × channels)
NeuroData[lfp] LFP signal — same shape, typed for downstream validation
NeuroData[spike_times] 1-D array of spike timestamps in seconds
NeuroData[multi_spike_times] Multi-cell spike times with per-spike cell IDs in metadata
NeuroData[spike_matrix] Binned spike counts (n_units × n_time_bins)
NeuroData[position] Linearised 1-D position with timestamps
NeuroData[tuning_curve] Single-cell firing rate vs position
NeuroData[tuning_curves_population] Population rate maps (n_cells × n_bins)
NeuroData[place_fields] Per-cell place field boundaries (in metadata)
NeuroData[phase_precession] Per-cell × per-field r and slope values
NeuroData[decoded] Posterior probability matrix (n_pos_bins × n_time_bins)
NeuroData[theta_cycles] (N_cycles × 2) peak-to-peak cycle boundaries
NeuroData[theta_sequence] Averaged theta sequence matrix
NeuroData[epochs] Epoch boundaries (start/stop times)
str Plain string — used for file paths and constants

Custom blocks may declare any role you like — the block wizard suggests existing roles and lets you type new ones.