Skip to main content

Python library to generate regressors for and compute Cerebrovascular Reactivity and lag maps.

Project description

phys2cvr

Latest version Release date Auto Release

Latest DOI Licensed Apache 2.0

Latest version Supports python version

All Contributors

A python-based tool to generate regressor for and/or estimate CVR maps and their lag.

The project is currently under development stage alpha. Any suggestion/bug report is welcome! Feel free to open an issue.

This project follows the all-contributors specification. Contributions of any kind welcome!

Documentation

Full documentation coming soon!

Cite

If you use phys2cvr in your work, please cite either the all-time Zenodo DOI general Zenodo DOI or the Zenodo DOI related to the version you are using. Please cite the following paper(s) too:

Moia, S., Stickland, R. C., Ayyagari, A., Termenon, M., Caballero-Gaudes, C., & Bright, M. G. (2020). Voxelwise optimization of hemodynamic lags to improve regional CVR estimates in breath-hold fMRI. In 2020 42nd Annual International Conference of the IEEE Engineering in Medicine & Biology Society (EMBC) (pp. 1489–1492). Montreal, QC, Canada: IEEE. https://doi.org/10.1109/EMBC44109.2020.9176225

If you are using the --brightspin configuration option:

Moia, S., Termenon, M., Uruñuela, E., Chen, G., Stickland, R. C., Bright, M. G., & Caballero-Gaudes, C. (2021). ICA-based denoising strategies in breath-hold induced cerebrovascular reactivity mapping with multi echo BOLD fMRI. NeuroImage, 233, 117914. https://doi.org/10.1016/j.neuroimage.2021.117914

If you are using the --brightspin-clinical configuration option:

Stickland, R. C., Zvolanek, K. M., Moia, S., Ayyagari, A., & Bright, M. G. (2021). A practical modification to a resting state fMRI protocol for improved characterization of cerebrovascular function. Supplementary Material. Neuroimage.

If you are using the --baltimore-lag configuration option:

Liu, P., Li, Y., Pinho, M., Park, D. C., Welch, B. G., & Lu, H. (2017). Cerebrovascular reactivity mapping without gas challenges. NeuroImage, 146(November 2016), 320–326. https://doi.org/10.1016/j.neuroimage.2016.11.054

If you are using the --baltimore configuration option, please cite only the Zenodo DOI and the last listed paper.

Installation

Install on any *nix system using python and pip, or clone this repository and install locally (run setup.py or pip). phys2cvr supports python versions 3.6+. However, please note that no tests are currently run.

Install with pip (recommended)

:exclamation::exclamation::exclamation: Please note that some systems might require to use pip3 instead of pip.

Basic installation:

For basic installation, simply run:

pip install phys2cvr

Clone from Github / install without pip

:exclamation::exclamation::exclamation: Please note that phys2cvr is continuously deployed, i.e. the latest feature available are immediately released on PyPI. To install phys2cvr from Github, clone the repository first, then move to the cloned folder and run:

python setup.py install

Alternatively, pip can be used too:

pip install .

Developer installation

To be sure you have everything installed to develop (and test) phys2cvr, fork smoia/phys2cvr to your repository, then clone it locally and move inside the cloned folder. Finally, run the following commands from within the repository main folder:

# Add upstream remote
git remote add upstream git@github.com:smoia/phys2cvr.git

# Fetch everything, tags included
git fetch --all --tags

# Checkout master (the main development branch) and make it track upstream
git checkout master
git branch --set-upstream-to=upstream/master

# !!! VERY IMPORTANT !!!
# Set the default push to origin, in order NOT to push by mistake to upstream.
git config remote.pushDefault origin

# Install package with pip using the developer mode and the `[dev]` label
# You might need to use pip3 depending on how you set up your system
pip install -e .[dev]

If you make changes that you consider fundamental/interesting for the whole community, feel free to open a PR!

Run/use phys2cvr

You can run the phys2cvr workflow in a shell session (or in your code) - just follow the help:

phys2cvr --help

Alternatively, you can use phys2cvr as a module in a python session (or within your python script):

import phys2cvr as p2c

p2c.__version__

Full API coming soon.

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Stefano Moia

💻 🤔 🚇 📆

Kristina Zvolanek

💻 🐛

Andrew Vigotsky

💻

License

Copyright 2021, Stefano Moia.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

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

phys2cvr-0.18.6.tar.gz (56.6 kB view details)

Uploaded Source

Built Distribution

phys2cvr-0.18.6-py3-none-any.whl (41.4 kB view details)

Uploaded Python 3

File details

Details for the file phys2cvr-0.18.6.tar.gz.

File metadata

  • Download URL: phys2cvr-0.18.6.tar.gz
  • Upload date:
  • Size: 56.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.10.14

File hashes

Hashes for phys2cvr-0.18.6.tar.gz
Algorithm Hash digest
SHA256 83066f08a01e8f64604b3ea521b22e64554f7c184ac7d683d0e4fda529aceebf
MD5 051848992e9c0dfc3673aeb417462b46
BLAKE2b-256 d256c636db6059a67d44aed9bd787779da858b8d2ceb4f526c9f05fc314a42b7

See more details on using hashes here.

File details

Details for the file phys2cvr-0.18.6-py3-none-any.whl.

File metadata

  • Download URL: phys2cvr-0.18.6-py3-none-any.whl
  • Upload date:
  • Size: 41.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.10.14

File hashes

Hashes for phys2cvr-0.18.6-py3-none-any.whl
Algorithm Hash digest
SHA256 3ff9b3ca8ef59844a4c45c35b473234f9e8a613c868754becdd61c003eaebc4d
MD5 2fb5f4cc3f9bf0ae37fc9fdd6811a431
BLAKE2b-256 d41de532aafbb94852f9a05cfc34cba116585b69cce862854a0bc3c1be5d8af4

See more details on using hashes here.

Supported by

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