A python package for Paradigm Free Mapping (3dPFM and 3dMEPFM).
Project description
pySPFM
The Python version of AFNI's 3dPFM and 3dMEPFM with some extra features like the addition of a spatial regularization similar to the one used by Total Activation.
Development
This project uses uv for fast, reliable dependency management and tox for testing across multiple Python versions.
Setting up a development environment
- Create a virtual environment and install dependencies (including tests) in editable mode:
uv sync --extra tests
Running tests
Run tests for your current Python version:
pytest pySPFM/tests/
Run tests across all supported Python versions (3.10, 3.11, 3.12) using tox:
tox
Run tests for a specific Python version:
tox -e py310 # For Python 3.10
Run linting checks:
tox -e lint
Benefits of uv
- Fast: 10-100x faster than pip for dependency resolution and installation
- Deterministic:
uv.lockensures reproducible installations across all environments - Reliable: Resolves dependencies consistently
References
- Caballero-Gaudes, C., Moia, S., Panwar, P., Bandettini, P. A., & Gonzalez-Castillo, J. (2019). A deconvolution algorithm for multi-echo functional MRI: Multi-echo Sparse Paradigm Free Mapping. NeuroImage, 202, 116081–116081. https://doi.org/10.1016/j.neuroimage.2019.116081
- Caballero Gaudes, C., Petridou, N., Francis, S. T., Dryden, I. L., & Gowland, P. A. (2013). Paradigm free mapping with sparse regression automatically detects single-trial functional magnetic resonance imaging blood oxygenation level dependent responses. Human Brain Mapping. https://doi.org/10.1002/hbm.21452
- Karahanoǧlu, F. I., Caballero-Gaudes, C., Lazeyras, F., & Van De Ville, D. (2013). Total activation: FMRI deconvolution through spatio-temporal regularization. NeuroImage. https://doi.org/10.1016/j.neuroimage.2013.01.067
- Uruñuela, E., Bolton, T. A., Van De Ville, D., & Caballero-Gaudes, C. (2023). Hemodynamic Deconvolution Demystified: Sparsity-Driven Regularization at Work. Aperture Neuro, 3, 1-25. https://doi.org/10.52294/001c.87574
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyspfm-1.0.1.tar.gz.
File metadata
- Download URL: pyspfm-1.0.1.tar.gz
- Upload date:
- Size: 6.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f9be18566f253c53112380ad2ffc1b9d9a8f5a1217dc9b7d12094e2f6d9fd269
|
|
| MD5 |
0b8cdfcb64a460576794290c684b1a00
|
|
| BLAKE2b-256 |
563006479bf3ad63312e58da040c3e0bd4cbfef9869d02b86a2f6b000a8b17d5
|
Provenance
The following attestation bundles were made for pyspfm-1.0.1.tar.gz:
Publisher:
python-publish.yml on Paradigm-Free-Mapping/pySPFM
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyspfm-1.0.1.tar.gz -
Subject digest:
f9be18566f253c53112380ad2ffc1b9d9a8f5a1217dc9b7d12094e2f6d9fd269 - Sigstore transparency entry: 731060705
- Sigstore integration time:
-
Permalink:
Paradigm-Free-Mapping/pySPFM@42deb203122a95025601bb9e71e1bf4d735ba08a -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/Paradigm-Free-Mapping
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@42deb203122a95025601bb9e71e1bf4d735ba08a -
Trigger Event:
release
-
Statement type:
File details
Details for the file pyspfm-1.0.1-py3-none-any.whl.
File metadata
- Download URL: pyspfm-1.0.1-py3-none-any.whl
- Upload date:
- Size: 65.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb1228e599441b4367e1e96a0eda8c8fd381ab35426fb0ecc6da25449ebcdccf
|
|
| MD5 |
08b2e4803e6ad7ee06b860ecc78e8d3d
|
|
| BLAKE2b-256 |
9dc6246c0d2af7d68dee51ce15a52628cbd2bb02b063603863948ac3e8c1db84
|
Provenance
The following attestation bundles were made for pyspfm-1.0.1-py3-none-any.whl:
Publisher:
python-publish.yml on Paradigm-Free-Mapping/pySPFM
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyspfm-1.0.1-py3-none-any.whl -
Subject digest:
eb1228e599441b4367e1e96a0eda8c8fd381ab35426fb0ecc6da25449ebcdccf - Sigstore transparency entry: 731060713
- Sigstore integration time:
-
Permalink:
Paradigm-Free-Mapping/pySPFM@42deb203122a95025601bb9e71e1bf4d735ba08a -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/Paradigm-Free-Mapping
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@42deb203122a95025601bb9e71e1bf4d735ba08a -
Trigger Event:
release
-
Statement type: