Skip to main content

A Python library for population receptive field (pRF) analysis

Project description

GEM-pRF

Welcome to GEM-pRF, a standalone, GPU-accelerated tool for population receptive field (pRF) mapping, built for large-scale fMRI analysis.

For theory and full method details, see our paper:

👉 Mittal et al. (2025): GEM-pRF: GPU-Empowered Mapping of Population Receptive Fields for Large-Scale fMRI Analysis https://www.biorxiv.org/content/10.1101/2025.05.16.654560v1


Documentation

  • Documentation and examples are available at: https://gemprf.github.io/

  • For a deeper look into the mathematical and computational foundations, the paper above is the best reference.


Installation

GEM-pRF relies on an NVIDIA GPU and CUDA. Make sure your system has:

  • A compatible NVIDIA GPU
  • A matching CUDA toolkit
  • A matching NVCC compiler

1. Install GEM-pRF

pip install gemprf

Latest versions: https://pypi.org/project/gemprf/

2. Install CuPy (required)

GEM-pRF depends on CuPy, but CuPy must match your CUDA version — so it is not installed automatically.

Install the correct CuPy wheel for your system:

pip install cupy-cuda12x

[!Caution] Install the CuPy variant that matches your CUDA version.

You must install CuPy before running GEM-pRF.


Running GEM-pRF

After installing gemprf and a compatible CuPy build, you can run GEM-pRF directly from Python.

Example

import gemprf as gp

gp.run("path/to/your_config.xml")

Configuration files

GEM-pRF uses XML configuration files to define analysis settings. See a sample config here:

https://github.com/siddmittal/GEMpRF_Demo/blob/main/sample_configs/sample_config.xml


Quick workflow

  1. Install GEM-pRF → pip install gemprf

  2. Install the correct CuPy for your CUDA environment

  3. Prepare your XML config file

  4. Run:

    import gemprf as gp
    gp.run("config.xml")
    

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

gemprf-0.1.8.tar.gz (103.4 kB view details)

Uploaded Source

Built Distribution

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

gemprf-0.1.8-py3-none-any.whl (123.4 kB view details)

Uploaded Python 3

File details

Details for the file gemprf-0.1.8.tar.gz.

File metadata

  • Download URL: gemprf-0.1.8.tar.gz
  • Upload date:
  • Size: 103.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.5

File hashes

Hashes for gemprf-0.1.8.tar.gz
Algorithm Hash digest
SHA256 8954dadf04ab6eb419e2f54df18b5689f1fa7606e05c427f9b24ad29d09f7719
MD5 7af3b32220f52f67ad05a0bd662ca39a
BLAKE2b-256 5953036bbaa22750e174d51dd16a5999ed140d7a1d7218123b08ec9a4e02a7f8

See more details on using hashes here.

File details

Details for the file gemprf-0.1.8-py3-none-any.whl.

File metadata

  • Download URL: gemprf-0.1.8-py3-none-any.whl
  • Upload date:
  • Size: 123.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.5

File hashes

Hashes for gemprf-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 49864e81e7860341cc0f5843a86e8a1314b842d6d35b830977f4fd849e4c3324
MD5 8468651726fe2e4810f75a0aa99578c4
BLAKE2b-256 d3d85f10eeec152f8990297a5019424a4d7fe533b677e0af61c9de50c8170cfa

See more details on using hashes here.

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