https://github.com/powerfulbean/mtrfpy
a python3 version of matlab mTRF-Toolbox by Lalor Lab https://mtrfpy.readthedocs.io/
https://github.com/powerfulbean/mtrfpy
eeg lalorlab python temporal-response-function
Last synced: 2 months ago
JSON representation
a python3 version of matlab mTRF-Toolbox by Lalor Lab https://mtrfpy.readthedocs.io/
- Host: GitHub
- URL: https://github.com/powerfulbean/mtrfpy
- Owner: powerfulbean
- License: bsd-3-clause
- Created: 2020-07-05T23:23:13.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2026-03-22T18:32:17.000Z (3 months ago)
- Last Synced: 2026-03-27T13:49:20.367Z (3 months ago)
- Topics: eeg, lalorlab, python, temporal-response-function
- Language: Python
- Homepage:
- Size: 204 MB
- Stars: 37
- Watchers: 4
- Forks: 15
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Citation: CITATION.cff
Awesome Lists containing this project
README

[](https://github.com/powefulbean/mTRFpy/graphs/commit-activity)
[](https://mtrfpy.readthedocs.io/en/latest/?badge=latest)


[](https://badge.fury.io/py/mtrf)
[](https://doi.org/10.21105/joss.05657)
# mTRFpy - multivariate linear modeling
This is an adaptation of the matlab mTRF-toolbox using only basic Python and Numpy.
It aims to implement the same methods as the original toolbox and advance them.
This documentation provides tutorial-like demonstrations of the core functionalities like model fitting, visualization and optimization as well as a comprehensive reference documentation.
# News
- [2025.10.21] 🔧 Version 2.1.2 has been released for better capability with torch.tensor (trf.train and trf.predict for now).
- [2025.10.13] 🔧 Version 2.1.1 has been released for fixing the bug when fs is provided as a native int. A native int causes the array-api-compat.floor/ceil throw the error that fs doesn't have the attribute 'dtype'.
- [2025.10.11] 🚀 Version 2.1.0 has been released! mTRFpy is now compatible with the Array API standard through [array-api-compat](https://github.com/data-apis/array-api-compat). ✨ **New feature**: Support for fitting a separate regularization parameter for each output channel.
# Installation
You can get the stable release from PyPI:
```sh
pip install mtrf
```
Or get the latest version from this repo:
```sh
pip install git+https://github.com/powerfulbean/mTRFpy.git
```
While mTRFpy only depends on numpy, matplotlib is an optional dependency used to
visualize models. It can also be installed via pip:
```sh
pip install matplotlib
```
We also provide an optional interface to MNE-Python so it might be useful to [install mne](https://mne.tools/stable/install/manual_install.html) as well.
# Getting started
For a little tutorial on the core features of mTRFpy, have a look at our [online documentation](https://mtrfpy.readthedocs.io)
# Found a bug?
1. Please use the issue search to check if the issue has already been reportet.
2. Try to reproduce problem using the latest` master` branch.
3. Create an issue with a minimal example that reproduces the problem.
# Missing a feature?
Feature requests are welcome. But take a moment to find out whether your idea
fits with the scope and aims of the project. It's up to *you* to make a strong
case to convince the project's developers of the merits of this feature. Please
provide as much detail and context as possible.
# Want to contribute to the project?
Great! Please take a moment to read the  before you do.
# Citing mTRFpy
Bialas et al., (2023). mTRFpy: A Python package for temporal response function analysis. Journal of Open Source Software, 8(89), 5657, https://doi.org/10.21105/joss.05657
```
@article{Bialas2023,
doi = {10.21105/joss.05657},
url = {https://doi.org/10.21105/joss.05657},
year = {2023}, publisher = {The Open Journal},
volume = {8},
number = {89},
pages = {5657},
author = {Ole Bialas and Jin Dou and Edmund C. Lalor},
title = {mTRFpy: A Python package for temporal response function analysis},
journal = {Journal of Open Source Software} }
```