Ephys recordings#
Use this path for extracellular electrophysiology data, with optional Kilosort spike-sorting output.
At least one of: an ephys file or a Kilosort folder is required.
Ephys is a session-wide stream — the raw recording file is selected in the GUI rather than embedded in the session.nc. For datasets with multiple behavioural trials alongside ephys, see Ephys with multiple trials.
Load it — drag & drop#
Tip
Install EthoGraph if you haven’t already, then launch via shortcut or:
conda activate ethograph && ethograph launch
On the start page, drag your ephys file and/or Kilosort folder (and optionally a video and/or audio file) onto the Drag & drop zone.
Click Load.
EthoGraph recognises a Kilosort folder by the spike_times.npy inside it, and reads the sample rate and channel count from the file header or params.py automatically — no output path and no questions for known formats. Raw binary (.dat / .bin / .raw) has no header; drop it together with its Kilosort folder so the metadata comes from params.py (see below).
Two ephys trace viewers#
Raw traces can be shown in either of two panels, added from ➕ Add panel (Shift+N) under the Ephys header.
Neo ( |
Ephys (Phy-like viewer) |
|
|---|---|---|
Reads |
Any Neo-supported format (table below) |
Raw binary ( |
Strength |
Wide format compatibility |
Fast zooming across many channels, with Kilosort spike waveforms overlaid on the trace |
The Phy-like viewer is inspired by phy.
Supported formats#
EthoGraph uses Neo to read files with recognised headers — sample rate, channel count, and dtype are extracted automatically. Raw binary files have no header, so they are handled via phylib and require a Kilosort folder.
Known formats (headers auto-detected)#
Extension(s) |
System |
|---|---|
|
Intan |
|
Open Ephys Binary |
|
Blackrock |
|
Axon (pCLAMP) |
|
EDF/BDF |
|
BrainVision |
|
Spike2 (CED) |
|
Neuralynx |
|
Plexon |
|
SpikeGadgets |
|
SpikeGLX |
|
NeuroNexus |
|
TDT |
|
Micromed |
|
WinEDR / WinWCP |
|
NWB file |
When a format carries multiple signal streams (e.g. amplifier vs auxiliary channels in Intan), each stream appears as its own Neo (stream) entry in the ➕ Add panel popup, so you can open them side by side in separate panels.
Raw binary (.dat / .bin / .raw)#
Raw binary files produced by Kilosort carry no metadata. They are loaded via phylib using n_channels and sample_rate read from params.py. Use the Kilosort folder picker rather than the ephys file browser — EthoGraph resolves the .dat path from params.py internally. This is what backs the Phy-like viewer.
Kilosort spike sorting output#
Point the GUI at a Kilosort output folder via the Kilosort folder picker in the Ephys tab.
Auto-detection: If a kilosort4/ or kilosort/ directory exists next to your ephys file, EthoGraph fills the field automatically on selection.
Expected files#
File |
Required |
Description |
|---|---|---|
|
Yes |
Sample indices of each spike |
|
Yes |
Cluster ID per spike |
|
Yes |
Per-cluster metadata (group, ch, depth, …) |
|
Auto-created if missing |
Sample rate, channel count, raw data path |
|
Yes |
Probe site coordinates (x, y) in um |
|
Yes |
Site index -> hardware channel mapping |
params.py#
params.py is a plain Python file written by Kilosort:
dat_path = r'C:\data\recording.dat'
n_channels_dat = 385
dtype = 'int16'
sample_rate = 30000.0
hp_filtered = False
EthoGraph reads dat_path, n_channels_dat, and sample_rate from it. If the file is missing or dat_path no longer points to a valid file, a dialog prompts for the values and writes a new params.py so the step is not repeated.
What gets loaded#
cluster_info.tsv— cluster groups, best hardware channel (ch), depth, firing-rate statistics. BothKSLabel(automatic Kilosort classification) andgroup(phy manual curation) are imported.channel_positions.npy+channel_map.npy— probe geometry for the raster and probe-channel dialog.The raw
.datfile (fromdat_path) — displayed in the Phy-like viewer, with spike waveforms overlaid on the trace.
Ephys with multiple trials#
The native route is to align video to the recording system: neuroconv puts the video on the recorder’s clock and writes a session.nwb with trials. Without a sync line, pair the files into a session.nc instead and select the ephys file in the GUI as above.