Load and stream data from neo files into ezmsg.
pip install ezmsg-neo
Add the NeoIteratorUnit
to your ezmsg graph as a data source. You may be interested in other ezmsg extensions for processing and visualizing the data, such as ezmsg-sigproc
and ezmsg-event
.
import ezmsg.core as ez
from ezmsg.neo.source import NeoIteratorUnit
from ezmsg.util.messages.key import FilterOnKey
from ezmsg.util.debuglog import DebugLog
from ezmsg.event.rate import EventRate
comps = {
"NEO": NeoIteratorUnit(filepath="path/to/file", chunk_dur=0.05),
"FILTER": FilterOnKey(key="spike"),
"RATE": EventRate(bin_duration=0.05),
"LOG": DebugLog() # Print the output to the console
}
conns = (
(comps["NEO"].OUTPUT_SIGNAL, comps["FILTER"].INPUT_SIGNAL),
(comps["FILTER"].OUTPUT_SIGNAL, comps["RATE"].INPUT_SIGNAL),
(comps["RATE"].OUTPUT_SIGNAL, comps["LOG"].INPUT),
)
ez.run(components=comps, connections=conns)
- Clone this repo and
cd
into it uv sync --all-extras --dev --python 3.10
to setup your environmentuv run pytest tests
to run the tests
ezmsg-neo modules are available under import ezmsg.neo