pseudopop¶
Build a pseudopopulation by combining units across sessions after condition-wise trial averaging.
What this operation means¶
pseudopop takes a list of session DataArray objects and, for each
session:
Computes a PSTH grouped by one or more trial-condition coordinates (
group_by).Concatenates the resulting condition-averaged units across sessions along the unit dimension.
Adds a
sessioncoordinate on the unit dimension so each unit retains session provenance.
This is useful when no single recording contains enough units, and you want a single condition-aligned population representation for downstream analyses (for example PCA, dPCA, GPFA, or decoding on condition means).
Example¶
from aind_ephys_utils import pseudopop
pp = pseudopop(
[session_a, session_b, session_c],
group_by="choice",
)
# pp has units from all sessions and a condition dimension ("choice")
# plus a "session" coordinate attached to each unit.
Notes¶
Input arrays should share compatible condition definitions used in
group_by.Trial-level variability is intentionally removed by averaging within each condition before concatenation.
If
session_idsis omitted, session labels default tos0,s1, …