Skip to content

Repository files navigation

MiV-OS: Spike Analysis and Computing Framework

License Release pypi Build Status Documentation Status Downloads codecov


Python analysis and computing framework developed for Mind-in-Vitro(MiV) project.

Installation

PyPI version

MiV-OS is compatible with Python 3.10+. The easiest way to install is using python installation package (PIP)

$ pip install MiV-OS

Documentation

Documentation Status

Documentation of the package is available here

Published demo

The analysis pipeline and demonstration of RC–KT results are built upon MiV-OS pipelines so they can be reproduced, reused, and adapted to other datasets. The imports are shared by the three analysis graphs below:

from miv.core import Pipeline
from miv.io.file import ImportSignal
from miv.signal import ButterBandpass, ThresholdCutoff
from miv.statistics import (
    BayesianAdaptiveKernelSmoother,
    ExponentialSpikeEncoder,
    FixedDurationTrializer,
    KernelRank,
    SpectralRadius,
)
from miv.statistics.connectivity import DirectedConnectivity
from miv.statistics.criticality import BranchingRatio

Statistical diagnostics

ephys = ImportSignal("recording.h5", group="Ephys")
bandpass = ButterBandpass(lowcut=400, highcut=1500)
spikes = ThresholdCutoff(cutoff=5.0)

ephys >> bandpass >> spikes

baks = BayesianAdaptiveKernelSmoother(sample_rate=100.0)
branching = BranchingRatio()
connectivity = DirectedConnectivity(seed=0)
diagnostic_trials = FixedDurationTrializer(trial_duration=1.0)
diagnostic_states = ExponentialSpikeEncoder(decay_rate=5.0)
rank = KernelRank()
radius = SpectralRadius(random_state=0)

spikes >> baks
spikes >> branching
spikes >> connectivity
spikes >> diagnostic_trials >> diagnostic_states
diagnostic_states >> rank
diagnostic_states >> radius

Pipeline([baks, branching, connectivity, rank, radius]).run(
    working_directory="results/statistical_diagnostics"
)

The code is available on the pub/RC-KT publication branch and tracked in draft integration PR #589. The PR will be merged into main, and the accompanying dataset released, upon publication.

Contribution

If you would like to participate, please read our contribution guideline

The development of MiV-OS is lead by the Gazzola Lab at the University of Illinois at Urbana-Champaign.

List of publications and submissions

Citation

@misc{MiV-OS,
  author = {Gazzola Lab},
  title = {MiV-OS: Analysis and Computation Framework on MiV System and Simulator},
  year = {2022},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/GazzolaLab/MiV-OS}},
}
@misc{Kim2026RC-KT,
    title={Computing with Living Neurons: Chaos-Controlled Reservoir Computing with Knowledge Transplant},
    author={Seung Hyun Kim and Zhi Dou and Gaurav Upadhyay and Anay Pattanaik and Leo Maslov and Lav Varshney and John Beggs and Howard Gritton and Mattia Gazzola},
    year={2026},
    eprint={2604.02552},
    archivePrefix={arXiv},
    primaryClass={cs.NE},
    url={https://arxiv.org/abs/2604.02552},
}

We ask that any publications which use MiV-OS package to cite the above papers.

Developers ✨

Names arranged alphabetically

About

Analysis pipeline for electrophysiology MiV-system and simulator

Topics

Resources

Contributing

Stars

16 stars

Watchers

6 watching

Forks

Releases

Packages

Used by

Contributors

Languages