Skip to main content
https://img.shields.io/pypi/v/neuro-fpca-fmri.svg Documentation Status Updates

Full Documentation

Overview

This module implements a functional principal component analysis (fPCA) pipeline designed for fMRI data. The overall procedure involves the following steps:

  1. Data Loading and Preprocessing

    The 4D fMRI image and an associated 3D binary mask are loaded. The mask extracts voxel-specific time series, and the time axis is defined based on the number of timepoints.

  2. B-Spline Basis Construction

    A set of B-spline basis functions is generated to represent smooth temporal dynamics. Each voxel’s time series is approximated as a linear combination of these basis functions.

  3. Penalty Matrix Construction

    A penalty matrix is computed to ensure smoothness of the estimated coefficients. This penalty is defined via an integral involving products of derivatives (typically the second derivative) of the basis functions.

  4. Regularized Spline Regression

    Each voxel time series is approximated by a spline expansion. The coefficients are estimated via a regularized regression problem, and a generalized cross-validation (GCV) criterion selects a voxel-specific regularization parameter (\(\lambda\)).

  5. Functional Principal Component Analysis

    PCA is performed on the coefficient matrix. Multiplying eigenfunctions by coefficients yields voxel-specific importance scores mapped back to brain images, while the basis applied to each eigenfunction gives the temporal dynamics curve shared across voxels.

Output

For each eigenfunction, the following figures are generated:

  • Voxel importance maps

    Voxel importance map
  • Intensity plot

    Temporal intensity plot
  • Signal intensity of best-scoring voxel

    Best voxel fit

Mathematical background

This program implements the methodology from:

Roberto Viviani, Georg Grön and Manfred Spitzer. Functional Principal Component Analysis of fMRI Data.

Full mathematical derivation is available here: Detailed Math Docs

Credits

This package was created using Cookiecutter and the audreyr/cookiecutter-pypackage template.

License

  • Free software: GNU GPLv3

Author

Refael Kohen <refael.kohen@gmail.com>, Yaniv Assaf Lab, Tel Aviv University.

Metadata

Release files for Neuro-fPCA-fMRI 0.0.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for Neuro-fPCA-fMRI 0.0.9
File Size Uploaded Provenance
neuro_fpca_fmri-0.0.9.tar.gz 7.1 MB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for Neuro-fPCA-fMRI 0.0.9
File Interpreter ABI Platform
neuro_fpca_fmri-0.0.9-py3-none-any.whl Python 3 none any Details

Total release size: 7.2 MB

Release files / neuro_fpca_fmri-0.0.9.tar.gz

Download URL neuro_fpca_fmri-0.0.9.tar.gz
Size 7.1 MB
Tags Source
SHA-256 checksum
How to use checksums
b8e5b20c34846dcaa3b2d7877b23626a4205f71b99df3dc0d9da710751f7c05e
BLAKE2b-256 checksum
How to use checksums
2596f7783da5e57195c9f2f0f3d42eb184c94400148ffbd74d10c31d7eddbc97
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Release files / neuro_fpca_fmri-0.0.9-py3-none-any.whl

Download URL neuro_fpca_fmri-0.0.9-py3-none-any.whl
Size 120.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e187606be4c487f3f55ff5d202e3389254e2fc357b714d6e160e5c6bf715e299
BLAKE2b-256 checksum
How to use checksums
fc02089bc56a866287266cccc89dc167890a49b6b619b8750d3628308a90efca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Security for Neuro-fPCA-fMRI 0.0.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page