Load Channel Features
This guide covers downloading and loading the channel-level ephys feature aggregates — the core dataset of the IBL Ephys Atlas. Each row is one recording channel from one probe insertion, annotated with brain region and electrophysiological features.
S3 Layout
aggregates/atlas/features/{project}/{label}/agg_full/
├── raw_ephys_features_denoised.pqt denoised per-channel features (~200 MB)
├── raw_ephys_features.pqt raw per-channel features
├── channels.pqt channel metadata (coordinates, probe info)
└── channels_labels.pqt region labels per channel
Features are versioned with a weekly YYYY_Www label. Use
ephysatlas.data.get_latest_label() to find the most recent vintage.
Downloading
from pathlib import Path
from one.api import ONE
import ephysatlas.data
one = ONE(base_url='https://alyx.internationalbrainlab.org', mode='remote')
local_path = Path('/datadisk/ephys-atlas/features')
label = '2025_W28'
# downloads to local_path/ea_active/{label}/agg_full/
path_features = ephysatlas.data.download_tables(local_path, label=label, one=one)
Pass extended=True to also fetch the {label}_extended/ folder (large optional
datasets such as cross-correlograms):
ephysatlas.data.download_tables(local_path, label=label, one=one, extended=True)
Loading
import ephysatlas.data
import ephysatlas.anatomy
brain_atlas = ephysatlas.anatomy.ClassifierAtlas()
df_features = ephysatlas.data.read_features_from_disk(
path_features, brain_atlas=brain_atlas
)
ephysatlas.data.read_features_from_disk() merges raw_ephys_features_denoised.pqt,
channels.pqt, and channels_labels.pqt into a single DataFrame and annotates every
channel with Allen_id, Cosmos_id, and Beryl_id brain region IDs.
Listing available vintages
labels = ephysatlas.data.list_available_labels(one=one, project='ea_active')
print(labels) # ['2024_W50', '2025_W10', '2025_W28', ...]
latest = ephysatlas.data.get_latest_label(one=one, project='ea_active')
See also
S3 Data Architecture — complete S3 folder layout
Load Cells Features — cells features (stPC, stLFP)