Skip to main content

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.

Latest Version PyPI - Python Version DOI License CircleCI Documentation Status codecov Code style: black pre-commit

Development

This project uses uv for fast, reliable dependency management and tox for testing across multiple Python versions.

Setting up a development environment

  1. 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.lock ensures 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyspfm-1.0.1.tar.gz (6.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyspfm-1.0.1-py3-none-any.whl (65.0 kB view details)

Uploaded Python 3

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

Hashes for pyspfm-1.0.1.tar.gz
Algorithm Hash digest
SHA256 f9be18566f253c53112380ad2ffc1b9d9a8f5a1217dc9b7d12094e2f6d9fd269
MD5 0b8cdfcb64a460576794290c684b1a00
BLAKE2b-256 563006479bf3ad63312e58da040c3e0bd4cbfef9869d02b86a2f6b000a8b17d5

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyspfm-1.0.1.tar.gz:

Publisher: python-publish.yml on Paradigm-Free-Mapping/pySPFM

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for pyspfm-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 eb1228e599441b4367e1e96a0eda8c8fd381ab35426fb0ecc6da25449ebcdccf
MD5 08b2e4803e6ad7ee06b860ecc78e8d3d
BLAKE2b-256 9dc6246c0d2af7d68dee51ce15a52628cbd2bb02b063603863948ac3e8c1db84

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page