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.